如何查找谁创建了AWS AMI?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查找谁创建了AWS AMI?相关的知识,希望对你有一定的参考价值。

我创建了一个boto3脚本

  1 import boto3
  2 
  3 #STATUSES = ( 'available', 'pending' )
  4 REGIONS = ('us-west-1', 'us-east-1', 'us-west-2')
  5 REGIONS_H = ('N. California', 'N. Virginia', 'Oregon')
  6 
  7 for i in range(len(REGIONS)):
  8     region = REGIONS[i]
  9     region_h = REGIONS_H[i]
 10     print()
 11     print("Images in ".format(region_h))
 12     print("-----------------------")
 13     rds = boto3.setup_default_session(region_name=region)
 14     rds = boto3.client('rds')
 15 
 16     ec2 = boto3.resource('ec2')
 17     images = ec2.images.filter(Owners=['self'])
 18     for image in images:
 19         print("[] (     )".format(image.state, image.id, image.image_type, image.architecture, image.description, image.platform))

这给了我以下输出(为简洁而截断):

Images in N. California
-----------------------
[available] ( ami-02efeb026dba996f8 machine x86_64 Base system for testing Progressive install )
[available] ( ami-046bd9fc47f29a58f machine x86_64 bb-rhel7-install-5 )
[available] ( ami-04c2959b96500208c machine x86_64 bb-ubuntu-install-3 )

有没有办法添加到第19行,所以我可以显示谁创建了AMI?

答案

image.owner_id将返回图像所有者的AWS账户ID。请参阅this链接。

另一答案

有多种方法可以访问AMI元数据,在这种情况下,使用ec2资源访问AMI元数据,因此您需要引用EC2 resources

获得所有者ID的调用应该是image.owner-id

以上是关于如何查找谁创建了AWS AMI?的主要内容,如果未能解决你的问题,请参考以下文章

AWS:如何使用 Boto3 从实例创建公共 AMI?

如何在AWS平台导入自行创建的操作系统模板并创建EC2实例

如何将变量传递/连接到`aws_instance`资源中的`data.aws_ami`部分

AWS账户之间的克隆/传输EC2实例(AMI)

我不明白如何让领域服务器在 AWS AMI 上运行

AWS 如何让 ASG 始终使用最新的 AMI?