如何使用 boto3 列出 AWS 中 Red Hat 的所有 AMI 映像 ID?

How to list down all the AMI image IDs for Red Hat in AWS using boto3?

我正在执行一项任务,我需要验证用户是否使用 Cloudtrail 日志为该用户创建了 EC2 instanceRHEL latest image

我能够通过 boto3.

找到该用户使用的 AMI image IDs

我想检查用户使用的 AMI image ID 是否存在于 RHEL 提供的图像 ID 列表中。

如何列出 RedHat Inc 的所有 AMI image IDs

我已经阅读了 boto3 文档 describe_images()

其中有一个参数 Owners。但不确定我应该在那里传递什么来获取 Redhat 的所有图像 ID。

PS: 发现 Redhat owner ID 是 - 309956199498 我们可以使用 [= 查询它22=]

以下代码列出指定区域中的所有 RHEL-8 AMI ID:

import boto3

ec2 = boto3.resource('ec2', region_name='us-east-1')
filters = [
    {'Name': 'owner-id', 'Values': ['309956199498']}, 
    {'Name':'name', 'Values':['RHEL-8*']}
]
images = ec2.images.filter(Filters=filters).all()

for image in images:
    print(image.id)

改编自 https://access.redhat.com/solutions/15356 中的 CLI 命令。