我有跨不同的 AWS 账户和 AWS 区域的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。我想确保它们都使用正确的 Red Hat Enterprise Linux (RHEL) 亚马逊机器映像 (AMI)。
简短描述
所有官方 RHEL AMI 均使用账户 ID 309956199498 发布,别名为 amazon。
**注意:**对于 AWS GovCloud 区域,Red Hat 使用账户 ID 219670896067。
RHEL AMI 名称示例:
RHEL-9.5.0_HVM-20250313-arm64-0-Hourly2-GP3
前面的 AMI 示例包含以下元素:
- RHEL 是操作系统 (OS) 标识符。
- 9.5.0 是操作系统版本。
- HVM 是虚拟化类型。
- 20250313 是发布日期,格式为年 (yyyy)、月 (mm) 和日 (dd)。
- arm64 是架构。
- 0 是自动递增的编译版本。
- Hourly2 是随附的 RHEL 订阅,采用按时间计费的操作系统收费方式。
- GP3 是默认的根卷类型 (gp3 SSD)。
**注意:**当您启动新实例时,您可以更改卷类型。
**注意:**在虚拟化类型之后,某些 AMI 可能包含 GA 或 _BETA 后缀。对于传统 AMI,AMI 可能不包括虚拟化类型或发布日期。
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要识别所有公开可用的 RHEL AMI,请运行以下 describe-images AWS CLI 命令:
aws ec2 describe-images --query 'reverse(sort_by(Images, &CreationDate))[].[Name, ImageId, CreationDate]' --filters 'Name=name,Values=RHEL-*' --owners amazon --output table --region ap-northeast-1
**注意:**将 ap-northeast-1 替换为您的区域。前面的命令仅显示活动的 AMI。要同时显示已弃用的 AMI,请添加 --include-deprecated 标志。
前面命令的输出列出了该区域中所有可用的 RHEL AMI,从最新到最早排序。
要识别特定的 AMI 类型,请运行以下 describe-images 命令:
aws ec2 describe-images --filters 'Name=name,Values=FILTER_EXPRESSION' --owners amazon
**注意:**根据您的要求,将 FILTER_EXPRESSION 替换为以下值之一:
- 使用 RHEL* 查看所有 RHEL AMI。
- 使用 RHEL-9* 查看所有 RHEL 9 AMI。
- 使用 RHEL-*-x86_64* 查看所有 x86\ _64 RHEL AMI。
- 使用 RHEL-8.8.0*-2025*-arm64* 查看 2025 年发布的所有 arm64 RHEL 8.8.0 AMI。
要对结果进行筛选、排序和格式设置,可以使用 --query 和 --output 标志。要包括已弃用的 AMI,请添加 --include-deprecated 标志。
**注意:**最佳做法是使用筛选表达式来指定主版本号,例如 RHEL-9*-x86_64-*。此外,安全最佳做法是使用最新的 AMI 启动新的 EC2 实例。
相关信息
查找满足您的 EC2 实例要求的 AMI
查找用于 EC2 实例的共享 AMI