Boto3 EC2 describe_images太慢

时间:2019-05-31 00:28:45

标签: python amazon-web-services amazon-ec2 boto3

我有以下代码片段来获取亚马逊机器图像:

session.client('ec2', region_name=AWS_DEFAULT_REGION).describe_images(ExecutableUsers=[
               'all',
           ],
           Filters=[
               {
                   'Name': 'platform',
                   'Values': [
                       'windows',
                   ]
               },
               {
                   'Name': 'state',
                   'Values': [
                       'available',
                   ]
               },
               {
                   'Name': 'image-type',
                   'Values': [
                       'machine',
                   ]
               },
               {
                   'Name': 'virtualization-type',
                   'Values': [
                       'hvm',
                   ]
               },
               {
                   'Name': 'root-device-type',
                   'Values': [
                       'ebs',
                   ]
               },
           ],
           Owners=[
               '679593333241', # all public ami's from amazon as owner
           ])

这可行,但响应速度太慢,我知道AMI列表很长,但是我不需要列表中的所有AMI,我只需要最受欢迎的AMI元素(红色帽子,亚马逊Linux, centos等),如果我使用Owners = ['self']它返回null,那么当启动新实例时,如何在快速启动菜单中的aws控制台中创建AMI元素的排序列表(参见图片)?该列表包含38个元素。

quickstart menu

1 个答案:

答案 0 :(得分:1)

您可能要使用 Amazon EC2 Systems Manager-参数存储的特殊功能,而不是使用describe_images(),该功能可以提供最近Amazon管理的AMI的AMI ID。

>

例如:

aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended --region us-east-1

返回:

{
    "Parameters": [
        {
            "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/recommended",
            "Type": "String",
            "Value": "{\"schema_version\":1,\"image_name\":\"amzn2-ami-ecs-hvm-2.0.20181017-x86_64-ebs\",\"image_id\":\"ami-0a6be20ed8ce1f055\",\"os\":\"Amazon Linux 2\",\"ecs_runtime_version\":\"Docker version 18.06.1-ce\",\"ecs_agent_version\":\"1.21.0\"}",
            "Version": 1,
            "LastModifiedDate": 1539908415.817,
            "ARN": "arn:aws:ssm:us-east-1::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/recommended"
        }
    ],
    "InvalidParameters": []
}

请参阅: