aws: boto3 获取负载均衡器的所有实例
aws: boto3 get all instances of a load balancers
我可以使用下面的方法获得负载均衡器
import boto3
elb = boto3.client('elbv2')
lbs = elb.describe_load_balancers()
如何获取 lbs
.
的实例
另外,我如何获取状态未激活的负载平衡器,因为 describe_load_balanacers 仅提供状态 active
负载平衡器。
经典负载均衡器
使用:client = boto3.client('elb')
然后 describe_load_balancers()
结果包括实例列表:
'Instances': [
{
'InstanceId': 'string'
},
],
应用程序负载均衡器
使用:client = boto3.client('elbv2')
- 调用
describe_target_groups()
传入负载均衡器 ARN 以获取与负载均衡器 关联的目标组 的列表
- 然后调用
describe_target_health()
以获得 目标列表 (实例)。
这是一个示例响应:
{
'TargetHealthDescriptions': [
{
'Target': {
'Id': 'i-0f76fade',
'Port': 80,
},
...
对于正在寻找快速片段以查看您的实例是否在 LB 中的任何人:
from ec2_metadata import ec2_metadata
instance_id: str = ec2_metadata.instance_id
import boto3
client = boto3.client("elbv2" , region_name="us-west-2")
response = client.describe_target_groups(
LoadBalancerArn="your arn goes here"
)
target_group_arn = response["TargetGroups"][0]["TargetGroupArn"]
response = client.describe_target_health(TargetGroupArn=target_group_arn)
instances = map(lambda x: x["Target"]["Id"], response["TargetHealthDescriptions"])
print(f"target group instances {list(instances)}")
print(f"this instance {instance_id}")
我可以使用下面的方法获得负载均衡器
import boto3
elb = boto3.client('elbv2')
lbs = elb.describe_load_balancers()
如何获取 lbs
.
另外,我如何获取状态未激活的负载平衡器,因为 describe_load_balanacers 仅提供状态 active
负载平衡器。
经典负载均衡器
使用:client = boto3.client('elb')
然后 describe_load_balancers()
结果包括实例列表:
'Instances': [
{
'InstanceId': 'string'
},
],
应用程序负载均衡器
使用:client = boto3.client('elbv2')
- 调用
describe_target_groups()
传入负载均衡器 ARN 以获取与负载均衡器 关联的目标组 的列表
- 然后调用
describe_target_health()
以获得 目标列表 (实例)。
这是一个示例响应:
{
'TargetHealthDescriptions': [
{
'Target': {
'Id': 'i-0f76fade',
'Port': 80,
},
...
对于正在寻找快速片段以查看您的实例是否在 LB 中的任何人:
from ec2_metadata import ec2_metadata
instance_id: str = ec2_metadata.instance_id
import boto3
client = boto3.client("elbv2" , region_name="us-west-2")
response = client.describe_target_groups(
LoadBalancerArn="your arn goes here"
)
target_group_arn = response["TargetGroups"][0]["TargetGroupArn"]
response = client.describe_target_health(TargetGroupArn=target_group_arn)
instances = map(lambda x: x["Target"]["Id"], response["TargetHealthDescriptions"])
print(f"target group instances {list(instances)}")
print(f"this instance {instance_id}")