跳至内容

如何在 Amazon EC2 中查找已弃用的 AMI?

2 分钟阅读
0

我想找到已弃用的亚马逊机器映像 (AMI),以避免在我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例中使用它们。

简短描述

AWS 会定期弃用公共 AMI,以鼓励使用具有最新安全更新和软件版本的最新映像。但是,您仍然可以使用已弃用的 AMI 来启动实例。请遵循以下最佳实践来识别和避免已弃用的 AMI。

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

查找已弃用的 AMI

默认情况下,已弃用的 AMI 不会显示在 Amazon EC2 控制台的 AMI 列表中。只有在使用参数运行 describe-images AWS CLI 命令时,才能找到已弃用的 AMI。要查看有关已弃用 AMI 的信息,在运行 describe-images 时必须包含 AMI ID。命令示例:

aws ec2 describe-images --image-ids ami-example --region us-west-2

**注意:**将 ami-example 替换为您的 AMI ID,将 us-west-2 替换为您的 AWS 区域。

输出示例:

{
    "Images": [
        {
            ...
            "DeprecationTime": "2024-06-19T02:23:00.000Z",
            ...
        }
    ]
}

如果您必须从已弃用的 AMI 启动 EC2 实例,请使用 image-id 参数运行以下 run-instances 命令:

aws ec2 run-instances --image-id ami-0a70b9d193ae8a799 --count 1 --instance-type t2.micro --key-name MyKeyPair --region us-west-2

**注意:**将 ami-0a70b9d193ae8a799 替换为您的 AMI ID,将 t2.micro 替换为您的实例类型,将 MyKeyPair 替换为您的密钥对,将 us-west-2 替换为您的区域。AMI 必须处于 Available(可用)状态。

如果您知道已弃用 AMI 的 ID,则可以继续使用 AWS CLI、API 或 AWS SDK 从该 AMI 启动实例。启动模板和 Amazon EC2 Auto Scaling 组等启动服务可以继续引用已弃用的 AMI。您使用后来弃用的 AMI 启动的 EC2 实例不会受到影响。您可以停止、启动和重启这些实例。

您还可以获得公共 AMI 提供商拥有的 AMI 的完整列表。以下命令示例列出了 Red Hat 拥有的所有活动和已弃用的 Red Hat Enterprise Linux (RHEL) 6 AMI:

 % aws ec2 describe-images --owners 309956199498 --query 'sort_by(Images, &Name)[*].[CreationDate,DeprecationTime,Name,ImageId]' --filters "Name=name,Values=RHEL-6*" --include-deprecated --region us-east-1 --output table

**注意:**上述命令需要拥有 AMI 的账户的 AWS 账户 ID。它还包括 AMI 的创建日期和弃用日期。您可以更改 ownersValues 的值,以检查不同的所有者和操作系统版本,例如 RHEL-7*RHEL-8*RHEL-SAP-9*

输出示例:

|  DescribeImages  |
+--------------------------+---------------------------+-------------------------------------------------------+-------------------------+
| 2013-05-17T20:44:27.000Z| 2022-08-28T23:59:59.000Z | RHEL-6.0_GA-i386-6-Hourly2  | ami-7768011e  |
| 2013-05-17T20:51:32.000Z| 2022-08-28T23:59:59.000Z | RHEL-6.0_GA-x86_64-6-Hourly2  | ami-09680160  |
| 2019-05-29T15:08:15.000Z| 2022-08-28T23:59:59.000Z | RHEL-6.10_HVM-20190524-x86_64-0-Hourly2-GP2 | ami-059897226432ec347 |
| 2019-06-26T15:58:33.000Z| 2022-08-28T23:59:59.000Z | RHEL-6.10_HVM-20190621-x86_64-2-Hourly2-GP2 | ami-0351faf7328fdb373 |
| 2019-09-23T17:35:54.000Z| 2022-08-28T23:59:59.000Z | RHEL-6.10_HVM-20190923-x86_64-1-Hourly2-GP2 | ami-078894980306f5eab |
| 2021-03-18T14:30:58.000Z| 2023-03-18T14:30:58.000Z | RHEL-6.10_HVM-20210318-x86_64-0-Hourly2-GP2 | ami-0a47672f6c7827dd2 |
| 2018-04-19T18:55:59.000Z| 2022-08-28T23:59:59.000Z | RHEL-6.10_HVM_Beta-20180418-x86_64-1-Hourly2-GP2  | ami-f8258987  |
| 2018-06-06T21:58:15.000Z| 2022-08-28T23:59:59.000Z | RHEL-6.10_HVM_GA-20180606-x86_64-1-Hourly2-GP2  | ami-6d176b12  |
| 2018-08-11T01:14:36.000Z| 2022-08-28T23:59:59.000Z | RHEL-6.10_HVM_GA-20180810-x86_64-0-Hourly2-GP2  | ami-0b1d4c689c7949a64 |

相关信息

弃用 Amazon EC2 AMI

注销 Amazon EC2 AMI

AWS 官方已更新 1 年前