gpt4 book ai didi

python - 如何获取 Auto Scaling 组中实例的 IP

转载 作者:行者123 更新时间:2023-12-01 03:00:46 25 4
gpt4 key购买 nike

我一直在尝试获取每个自动缩放组中所有实例的 IP 详细信息,这些信息是我使用分页器列出的并使用 print asg['AutoScalingGroupName'] 打印的

import boto
import boto3

client = boto3.client('autoscaling', region_name='us-west-2')
autoscale = boto.connect_autoscale()
ec2 = boto.connect_ec2()
paginator = client.get_paginator('describe_auto_scaling_groups')
page_iterator = paginator.paginate(PaginationConfig={'PageSize': 100}
)

filtered_asgs = page_iterator.search(
'AutoScalingGroups[] | [?contains(Tags[?Key==`{}`].Value, `{}`)]'.format('Application', 'CCP')
)

for asg in filtered_asgs:
print asg['AutoScalingGroupName']
group = autoscale.get_all_groups(asg['AutoScalingGroupName'])[0]
instance_ids = [i.instance_id for i in group.instances]
reservations = ec2.get_all_instances(instance_ids)
instances = [i for r in reservations for i in r.instances]
print instances

请帮我找出我在这里缺少的内容。

最佳答案

有点晚了,但我在这里发布了我的版本。

我这样做是为了获取通过调用describe_auto_scaling_groups获得的第一个自动缩放组的数据,并进行相应修改。

import boto3


ec2 = boto3.resource('ec2')
asg = boto3.client('autoscaling')

response= asg.describe_auto_scaling_groups(AutoScalingGroupNames=['myAutoScaleName',],)
groups=response.get("AutoScalingGroups")
instances=(groups[0].get('Instances'))

for i in instances:
pubip=ec2.Instance(i.get('InstanceId')).public_ip_address
print(pubip)

关于python - 如何获取 Auto Scaling 组中实例的 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43867505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com