打印自动缩放组和附加到自动缩放组的实例使用的AMI

时间:2019-04-11 03:31:23

标签: python-3.x

我是编程新手,我想打印Autoscaling组和附加到Autoscaling组的实例的AMI。

1 个答案:

答案 0 :(得分:1)

使用boto3

  1. 获取自动缩放组:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/autoscaling.html#AutoScaling.Client.describe_auto_scaling_groups
response = client.describe_auto_scaling_groups(
    AutoScalingGroupNames=[
        '<your scaling group name>',
    ]
)
  1. 获取启动配置的名称。上述通话的响应如下:
{
    'AutoScalingGroups': [
        {
            'AutoScalingGroupName': 'string',
            'AutoScalingGroupARN': 'string',
            'LaunchConfigurationName': 'string',
            'LaunchTemplate': {
                'LaunchTemplateId': 'string',
                'LaunchTemplateName': 'string',
                'Version': 'string'
            },
...

获取启动配置的名称(如果只有一个具有该名称的自动伸缩组,则第一个结果应该是您要查找的组)

launch_config_name = response['AutoScalingGroups'][0]['LaunchConfigurationName']
  1. 获取启动配置:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/autoscaling.html#AutoScaling.Client.describe_launch_configurations
response = client.describe_launch_configurations(
    LaunchConfigurationNames=[
        launch_config_name,
    ]
)
  1. 获取AMI名称。上次通话的响应如下:
{
    'LaunchConfigurations': [
        {
            'LaunchConfigurationName': 'string',
            'LaunchConfigurationARN': 'string',
            'ImageId': 'string',
            'KeyName': 'string',
            'SecurityGroups': [
                'string',
            ],
...

如果您的配置名称是唯一的,则可以从列表中的第一项获取ImageId。

ami_id = response['LaunchConfigurations'][0]['ImageId']

这应该是您要查找的AMI。请记住,在稳定状态下,扩展组中的所有VM都将具有相同的AMI。