【问题标题】:AWS Boto3 How To Apply Tags to AMI Created From 'import_image'AWS Boto3 如何将标签应用到从“import_image”创建的 AMI
【发布时间】:2021-10-15 06:58:45
【问题描述】:

我有一个 Lambda 函数,每当 OVA 文件上传到 S3 存储桶时就会触发,然后它应该会触发基于它创建的 AMI。

我可以使用 boto.client('ec2').import_image() 创建 import_image 任务,该任务将在完成后创建 AMI。 我面临的问题是将标签应用于将要创建的 AMI。特别是带有“名称”键的标签。

执行以下操作,我可以使用 TagSpecification 参数将标签应用于导入图像任务。我可以使用 'aws ec2 describe-import-tasks' 验证这些标签是否在任务上,但是当任务完成时,这些标签不会应用于注册表中创建的 AMI。

我假设我没有正确应用标签。或者我需要等待任务完成,然后将标签应用到创建的 AMI ID。但是这个过程会导致我不得不等待很多分钟才能根据 OVA 大小完成。



import boto3

ec2 = boto3.client('ec2')

...

import_vmdk = ec2.import_image(
        Description='test',
        DiskContainers=[
            {
                'Description': '',
                'Format': 'ova',
                'UserBucket': {
                    'S3Bucket': bucket,
                    'S3Key': key
                }
            }
        ],
        LicenseType='BYOL',
        TagSpecifications=[
        {
            'ResourceType':"snapshot",
            'Tags': [
                {
                    'Key': 'name',
                    'Value': ami_name
                },
            ]
        },
    ]
    )

【问题讨论】:

  • 尝试使用'ResourceType':"image",因为这是由命令创建的。
  • @JohnRotenstein 我之前尝试过,它会生成以下错误:“调用 ImportImage 操作时发生错误(InvalidParameter):'image' 不是此操作的有效可标记资源类型。”我已经查看了该文档以查找可应用于“ResourceType”的所有选项的相应 AWS CLI 命令,但老实说,我没有足够的经验来知道正确的命令,除非我用完之前不尝试似乎最接近的术语的选项。 docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html
  • import-image-task?
  • @JohnRotenstein 'import-image-task' 将在导入任务上创建标签,我可以通过描述导入任务来看到。但标签不会应用于它生成的 AMI。

标签: python-3.x amazon-web-services aws-lambda amazon-ami


【解决方案1】:

documentation for import-image 说:

在创建过程中应用于导入图像任务的标签。

确实建议将此任务中的任何标签复制到通过该命令创建的任何 AMI。

因此,它似乎按照记录在运行

请注意,这与 create_image() 命令略有不同,它表示:

在创建时应用于 AMI 和快照的标签。

【讨论】:

  • 所以要明确一点,没有办法直接触发 OVA 到 AMI 的转换,并让生成的 AMI 应用标签?那就是不触发任务,然后等待任务完成,拉取生成的AMI id并将Tags应用到那个ID?我之所以这么问,是因为阅读 create_image 文档假定您是从另一个 EBS 实例创建 AMI,而在我的用例中,我从 OVA 文件开始。
  • 正确。它适用于create-image,但不适用于import-image
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 2020-02-02
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
  • 2020-07-10
  • 1970-01-01
相关资源
最近更新 更多