注销(删除)AMI - Amazon Elastic Compute Cloud

注销(删除)AMI

注销 AMI 时,Amazon EC2 会将其永久删除。注销之后,您将无法使用该 AMI 启动新实例。使用完 AMI 之后,可以考虑将其注销。

为防止意外或恶意注销 AMI,您可以开启注销保护。如果您意外注销了 EBS-backed AMI,则可以使用回收站将其还原,但仅限在允许的期限内可以还原,并且该期限届满后 AMI 将被永久删除。

注销 AMI 不会影响从该 AMI 启动的任何实例。您可以继续使用这些实例。注销 AMI 也不会影响在 AMI 创建过程中创建的任何快照。您需要继续按这些实例和快照的存储成本支付使用费。因此,为避免产生不必要的成本,我们建议您终止任何不需要的实例并删除任何不需要的快照。有关更多信息,请参阅 避免因未使用的资源产生的成本

注意事项

  • 您无法取消注册不属于您账户所有的 AMI。

  • 您无法使用 Amazon EC2 注销由 AWS Backup 服务管理的 AMI。而是应该使用 AWS Backup 删除备份文件库中相应的恢复点。有关更多信息,请参阅 AWS Backup 开发人员指南中的删除备份

取消注册 AMI

使用以下任意方法可以注销 EBS-backed AMI 或由实例存储支持的 AMI。

提示

为避免产生不必要的成本,建议您删除任何不再需要的资源。例如,对于 EBS-backed AMI,如果您不需要与已注销的 AMI 关联的快照,则应将其删除。有关更多信息,请参阅 避免因未使用的资源产生的成本

Console
要注册 AMI,请执行以下操作
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 AMI

  3. 在筛选条件栏中,选择我拥有的可列出可用的 AMI,选择已禁用的映像可列出已禁用的 AMI。

  4. 选择要注销的 AMI。

  5. 选择 Actions(操作)、Deregister AMI(取消注册 AMI)。

  6. 当系统提示您确认时,选择注销 AMI

    控制台可能需要几分钟才能从列表中删除该 AMI。选择 Refresh 以刷新状态。

AWS CLI
要注册 AMI,请执行以下操作

使用 deregister-image 命令并指定要注销的 AMI 的 ID。

aws ec2 deregister-image --image-id ami-0123456789example
Powershell
要注册 AMI,请执行以下操作

使用 Unregister-EC2Image cmdlet 并指定要注销的 AMI 的 ID。

Unregister-EC2Image -ImageId ami-0123456789example

检查上次使用 AMI 的时间

LastLaunchedTime 是一个时间戳,指示您上次使用 AMI 启动实例时的时间戳。最近未用于启动实例的 AMI 可能需要注销或启用

注意
  • 在使用 AMI 启动实例时,使用情况报告会有 24 小时的延迟。

  • lastLaunchedTime 数据从 2017 年 4 月开始可用。

Console
查看 AMI 的上次启动时间
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在左侧导航窗格中,选择 AMI

  3. 从筛选栏中选择 Owned by me(我拥有的)。

  4. 选择 AMI,然后检查 Last launched time(上次启动时间)字段 [选择 AMI 旁边的复选框后,该字段将在 Details(详细信息)选项卡中显示]。此字段显示了上次使用 AMI 启动实例的日期和时间。

AWS CLI

您可以使用 describe-imagesdescribe-image-attribute 命令来查看 AMI 的上次启动时间。

使用 describe-images 查看 AMI 的上次启动时间

使用 describe-images 命令并指定 AMI 的 ID。

aws ec2 describe-images --image-id ami-0123456789example

示例输出

注意

LastLaunchedTime 字段仅会在您拥有的 AMI 的输出中出现。

{ "Images": [ { ... "LastLaunchedTime": { "Value": "2024-04-02T02:03:18Z" }, ... } ] }
查看 AMI 的上次启动时间

使用 describe-image-attribute 命令并指定 --attribute lastLaunchedTime。您必须是 AMI 的所有者才能运行此命令。

aws ec2 describe-image-attribute \ --image-id ami-0123456789example \ --attribute lastLaunchedTime

示例输出

{ "ImageId": "ami-1234567890example", "LastLaunchedTime": { "Value": "2022-02-10T02:03:18Z" } }

AMI 注销保护

您可以在 AMI 上开启注销保护,以防止意外或恶意删除。开启注销保护后,任何用户都无法注销该 AMI,无论其 IAM 权限如何。如果要注销该 AMI,则必须首先关闭其上的注销保护。

在 AMI 上开启注销保护时,您可以选择包含 24 小时的冷却时间。此冷却时间是注销保护在您关闭后仍然有效的时间。在此冷却时间内,该 AMI 无法注销。冷却时间结束后,可以注销该 AMI。

所有现有和新的 AMI 都会默认关闭注销保护。

开启注销保护

使用以下任意方法在 AMI 上开启注销保护。您必须是 AMI 的所有者才能执行此操作。

Console
在 AMI 上开启注销保护
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 AMI

  3. 在筛选条件栏中,选择我拥有的可列出可用的 AMI,选择已禁用的映像可列出已禁用的 AMI。

  4. 选择要开启注销保护的 AMI,然后选择操作管理 AMI 注销保护

  5. 管理 AMI 注销保护对话框中,您可以在带冷却时间或不带冷却时间的情况下开启注销保护。请选择以下选项之一:

    • 启用并包含 24 小时的冷却时间 – 有冷却时间,注销保护关闭后 24 小时内无法注销 AMI。

    • 启用但无冷却时间 – 无冷却时间,注销保护关闭后可以立即注销 AMI。

  6. 选择保存

AWS CLI
在 AMI 上开启注销保护

使用 enable-image-deregistration-protection 命令并指定 AMI ID。要包含可选的 24 小时冷却时间,请将 --with-cooldown 设置为 true。要禁用冷却时间,请忽略 --with-cooldown 参数。

aws ec2 enable-image-deregistration-protection \ --image-id ami-0123456789example \ --with-cooldown true

关闭注销保护

使用以下任意方法在 AMI 上关闭注销保护。您必须是 AMI 的所有者才能执行此操作。

注意

如果您在为 AMI 开启注销保护时选择了包含 24 小时冷却时间的选项,则在您关闭注销保护后,您将无法立即注销 AMI。此冷却时间为 24 小时,是注销保护在您关闭后仍然有效的时间。在此冷却时间内,该 AMI 无法注销。冷却时间结束后,可以注销该 AMI。

Console
在 AMI 上关闭注销保护
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 AMI

  3. 在筛选条件栏中,选择我拥有的可列出可用的 AMI,选择已禁用的映像可列出已禁用的 AMI。

  4. 选择要关闭注销保护的 AMI,然后选择操作管理 AMI 注销保护

  5. 管理 AMI 注销保护对话框中,选择禁用

  6. 选择保存

AWS CLI
在 AMI 上关闭注销保护

使用 disable-image-deregistration-protection 命令并指定 AMI ID。

aws ec2 disable-image-deregistration-protection --image-id ami-0123456789example

避免因未使用的资源产生的成本

注销某个 AMI 时,您不会删除与该 AMI 关联的资源。这些资源包括 EBS-backed AMI 的快照以及在 Amazon S3 中由实例存储支持的 AMI 的文件。注销某个 AMI 时,您也不会终止或停止从该 AMI 启动的任何实例。

存储快照和文件将继续产生费用,任何正在运行的实例都将产生费用。有关更多信息,请参阅 如何向您收费

为避免产生此类不必要的费用,我们建议您删除任何不再需要的资源。

要确定您的 AMI 是由 EBS 支持还是由实例存储支持,请参阅 确定 AMI 的根设备类型

删除与 Amazon EBS-backed AMI 关联的资源

使用以下任意方法删除与 EBS-backed AMI 关联的资源。

Console
删除与 EBS-backed AMI 关联的资源
  1. 注销 AMI。

    记下 AMI ID – 这有助于您在下一步中找到要删除的快照。

  2. 删除不需要的快照

    关联 AMI 的 ID 在快照页面的描述列中显示。

  3. 终止不需要的实例

AWS CLI
删除与 EBS-backed AMI 关联的资源
  1. 使用 deregister-image 命令注销 AMI。

    aws ec2 deregister-image --image-id ami-0123456789example
  2. 使用 delete-snapshot 命令删除不需要的快照。

    aws ec2 delete-snapshot --snapshot-id snap-0123456789example
  3. 使用 terminate-instances 命令终止不需要的实例。

    aws ec2 terminate-instances --instance-ids i-0123456789example
PowerShell
删除与 EBS-backed AMI 关联的资源
  1. 使用 Unregister-EC2Image cmdlet 注销 AMI。

    Unregister-EC2Image -ImageId ami-0123456789example
  2. 使用 Remove-EC2Snapshot cmdlet 删除不需要的快照。

    Remove-EC2Snapshot -SnapshotId snap-0123456789example
  3. 使用 Remove-EC2Instance cmdlet终止不需要的实例。

    Remove-EC2Instance -InstanceId i-0123456789example

下图说明了删除与 EBS-backed AMI 关联的资源的流程。

删除与 Amazon EBS-backed AMI 关联的资源的流程。

删除与由实例存储支持的 AMI 关联的资源

使用以下任意方法删除与由实例存储支持的 AMI 关联的资源。

删除与由实例存储支持的 AMI 关联的资源
  1. 使用 deregister-image 命令注销 AMI。

    aws ec2 deregister-image --image-id ami-0123456789example
  2. 使用 ec2-delete-bundle(AMI 工具)命令删除 Amazon S3 中的捆绑包。

    ec2-delete-bundle -b DOC-EXAMPLE-BUCKET/myami -a your_access_key_id -s your_secret_access_key -p image
  3. 使用 terminate-instances 命令终止不需要的实例。

    aws ec2 terminate-instances --instance-ids i-0123456789example
  4. 使用完将捆绑上传到的 Amazon S3 存储桶后,则可以删除该存储桶。要删除 Amazon S3 存储桶,请打开 Amazon S3 控制台,选择存储桶,再选择 Actions,然后选择 Delete

下图说明了删除与由实例存储支持的 AMI 关联的资源的流程。

删除与由实例存储支持的 AMI 关联的资源的流程。