注销(删除)AMI - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

注销(删除)AMI

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

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

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

注意事项

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

  • 您无法使用 Amazon EC2 注销由 Amazon Backup 服务管理的 AMI。而是应该使用 Amazon Backup 删除备份文件库中相应的恢复点。有关更多信息,请参阅 Amazon 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 以刷新状态。

Amazon 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 启动实例的日期和时间。

Amazon 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. 选择保存

Amazon 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. 选择保存

Amazon 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. 终止不需要的实例

Amazon 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 myawsbucket/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 关联的资源的流程。