主页 > imtoken钱包手机app > 在实例终止时保留 Amazon EBS 卷

在实例终止时保留 Amazon EBS 卷

imtoken钱包手机app 2023-03-11 06:20:45

终止实例

您可以在不再需要时删除实例。这称为终止实例。一旦实例的状态更改为正在关闭或终止,就不再产生与该实例相关的费用。

终止后,您将无法连接或启动实例。但是您可以使用相同的 AMI 启动其他实例。如果您希望停止和启动您的实例,或者将其休眠,请参阅停止和启动您的实例或休眠 Linux 按需实例。有关详细信息,请参阅。

目录

实例终止

在您终止实例后,该实例将在控制台中保持可见一小段时间,然后该条目将被自动删除。您不能自己删除已终止的实例条目。实例终止后,标签和卷等资源会逐渐与实例解除关联,因此在很短的一段时间后,它们可能在终止的实例上不再可见。

当实例终止时,与该实例关联的所有实例存储卷上的数据都将被删除。

默认情况下,Amazon EBS 根设备卷会在实例终止时自动删除。但是,默认情况下,即使在实例终止后,您在启动时附加的任何其他 EBS 卷或附加到现有实例的所有 EBS 卷都会保留。此操作由卷的 DeleteOnTermination 属性控制,您可以修改该属性。有关详细信息,请参阅。

您可以使用 AWS 管理控制台、CLI 和 API 来防止实例被其他人意外终止。此功能适用于 Amazon EC2 实例存储支持的实例和 Amazon EBS 支持的实例。每个实例的 DisableApiTermination 属性默认为 false(可以通过 Amazon EC2 终止实例)。您可以在实例运行或停止时修改此实例属性(如果它是 Amazon EBS 支持的实例)。有关详细信息,请参阅。

当使用操作系统中的系统关闭命令从实例启动关闭时,您可以控制是关闭还是终止实例。有关详细信息,请参阅。

如果您在实例终止时运行脚本,您的实例可能会异常终止,因为我们无法确保关闭脚本运行。 Amazon EC2 尝试干净、干净地关闭实例并运行任何系统关闭脚本;但是,某些事件(例如硬件故障)可能会阻止这些系统关闭脚本运行。

通过终止跨可用区的保护来终止多个实例

如果您跨多个可用区终止多个实例,并且为一个或多个指定实例启用终止保护,则请求将失败并导致以下结果:

例如,假设您有以下实例:

实例可用区终止保护

实例 A

us-east-1a

已禁用

实例 B

终止

已禁用

实例 C

us-east-1b

启用

实例 D

已禁用

如果您尝试在同一个请求中终止所有这些实例,该请求将报告失败,结果如下:

实例终止时会发生什么

当使用 terminate-instances 命令终止 EC2 实例时,会在操作系统级别注册以下内容:

终止实例

您可以使用 AWS 管理控制台或命令行终止实例。

默认情况下,当您从 Amazon EBS 支持的实例启动关闭(使用 shutdown 或 poweroff 命令)时,该实例会停止。停止命令不会启动关闭。如果使用,实例不会终止,而是将 CPU 置于 HLT 状态,并且实例保持运行。

新控制台

使用控制台终止实例

终止实例之前,请确认您的 Amazon EBS 卷将在终止时被删除,并且您已将所需数据从实例存储卷复制到持久存储,例如 Amazon EBS 或亚马逊 S3。

在以下位置打开 Amazon EC2 控制台:。

在导航窗格中,选择实例。

选择实例,然后选择实例状态、终止实例​​。

当系统提示您确认时,选择终止

终止

旧控制台

使用控制台终止实例

终止实例之前,请确认您的 Amazon EBS 卷将在终止时被删除,并且您已将所需数据从实例存储卷复制到持久存储,例如 Amazon EBS 或亚马逊 S3。

在以下位置打开 Amazon EC2 控制台:。

在导航窗格中,选择实例。

选择所需的实例,然后选择操作、实例状态、终止

当提示确认时,选择是,终止

使用命令行终止实例

您可以使用以下任何命令。有关这些命令行界面的更多信息,请参阅。

运行受控故障注入实验

您可以使用 AWS 故障注入模拟器来测试您的应用程序在您的实例终止时如何响应。有关更多信息,请参阅 AWS 故障注入模拟器用户指南。

启用终止保护

默认情况下,您可以使用 Amazon EC2 控制台、命令行界面或 API 终止您的实例。为防止使用 Amazon EC2 意外终止实例,您可以为实例启用终止保护。 DisableApiTermination 属性控制是否可以使用控制台、CLI 或 API 终止实例。默认情况下禁用终止保护。您可以在实例启动、运行或停止时设置属性值(对于 Amazon EBS 支持的实例)。

设置 DisableApiTermination 属性时,InstanceInitiatedShutdownBehavior 属性不会阻止您通过从实例启动关闭来终止实例(使用操作系统的系统关闭命令)。有关详细信息,请参阅。

限制

您无法为 Spot 实例启用终止保护,当 Spot 价格超过您愿意为 Spot 实例支付的金额时,Spot 实例将被终止。但是,您可以准备应用程序来处理 Spot 实例中断。有关更多信息,请参阅 Spot 实例中断。

DisableApiTermination 属性不会阻止 Amazon EC2 Auto Scaling 终止实例。对于 Auto Scaling 组中的实例,请使用以下 Amazon EC2 Auto Scaling 功能而不是 Amazon EC2 终止保护:

在实例启动时启用终止保护

在以下位置打开 Amazon EC2 控制台:。

终止

在控制面板中,选择启动实例并按照向导中的说明进行操作。

在配置实例详细信息页面上,选中启用终止保护复选框。

为正在运行或已停止的实例启用终止保护

选择实例,然后选择操作、实例设置、更改终止保护。

选择是,启用。

对正在运行或已停止的实例禁用终止保护

选择实例,然后选择操作、实例设置、更改终止保护。

选择是,禁用。

使用命令行启用或禁用终止保护

您可以使用以下任何命令。有关这些命令行界面的更多信息,请参阅。

更改实例启动的关闭操作

默认情况下,当从 Amazon EBS 支持的实例(使用关闭或 poweroff 之类的命令)启动关闭时,该实例将停止。 (注意,halt 不会发出 poweroff 命令;如果使用了 halt 命令,实例不会被终止;相反,CPU 会进入 HLT 状态,实例会继续运行)。您可以使用实例的 InstanceInitiatedShutdownBehavior 属性更改此操作,以便终止实例。您可以在实例运行或停止时更新此属性。

您可以使用 Amazon EC2 控制台或命令行更新 InstanceInitiatedShutdownBehavior 属性。 InstanceInitiatedShutdownBehavior 属性仅在您从实例自己的操作系统执行关闭时适用;当您使用 StopInstances API 或 Amazon EC2 控制台停止实例时,它不适用。

使用控制台更改实例的关闭行为

在以下位置打开 Amazon EC2 控制台:。

在导航窗格中,选择实例。

选择一个实例。

选择操作、实例设置、更改关机操作。系统选择当前动作。

要更改操作,请从关闭操作中选择停止或终止,然后选择应用。

终止

使用命令行更改实例的关闭行为

您可以使用以下任何命令。有关这些命令行界面的更多信息,请参阅。

在实例终止时保留 Amazon EBS 卷

当实例终止时,Amazon EC2 使用每个附加的 Amazon EBS 卷的 DeleteOnTermination 属性的值来确定是保留还是删除该卷。

DeleteOnTermination 属性的默认值取决于卷是实例的根卷还是附加到实例的非根卷。

根卷

默认情况下,实例的根卷的 DeleteOnTermination 属性将设置为 true。因此,当实例终止时,默认是删除实例的根卷。 DeleteOnTermination 属性可以由 AMI 的创建者以及实例的启动器设置。当 AMI 的创建者或实例的启动器更改属性时,新设置会覆盖原始 AMI 默认设置。我们建议您在使用 AMI 启动实例后验证 DeleteOnTermination 属性的默认设置。

非根卷

默认情况下,当您将非根 EBS 卷附加到实例时终止,其 DeleteOnTermination 属性设置为 false。因此,默认是保留这些卷。实例终止后,您可以拍摄保留卷的快照或将其附加到另一个实例。您必须删除该卷以避免进一步收费。有关更多信息,请参阅删除 Amazon EBS 卷。

要验证正在使用的 EBS 卷的 DeleteOnTermination 属性的值,请查看该实例的块储存设备映射。有关详细信息,请参阅。

您可以在实例启动或实例运行时更改卷的 DeleteOnTermination 属性值。

例子

使用控制台更改根卷以在启动时持续存在

启动实例时,您可以使用控制台更改 DeleteOnTermination 属性。要在正在运行的实例上更改此属性,您必须使用命令行。

使用控制台更改实例将在启动时保留的根卷

在以下位置打开 Amazon EC2 控制台:。

从控制台仪表板中,选择启动实例。

在选择 Amazon 系统映像 (AMI) 页面上,选择一个 AMI,然后选择选择。

按照向导完成“选择实例类型”和“配置实例详细信息”页面。

终止

在“添加存储”页面上,取消选中根卷的“终止时删除”复选框。

完成剩余的向导页面,然后选择启动。

在新控制台中,您可以通过实例的详细信息窗格查看根设备卷的详细信息来验证设置。在存储库的存储选项卡上,在块存储设备中,向右滚动以查看终止时删除设置。默认情况下,终止时删除为是。如果您更改默认行为,终止时删除将为否。

在旧控制台中,您可以通过实例的详细信息窗格查看根设备卷详细信息以验证设置。在块设备旁边,选择根设备卷的条目。默认情况下,终止时删除为 True。如果您更改默认行为,Delete on Termination 将为 False。

使用命令行将根卷更改为在启动时保留

当您启动 EBS 支持的实例时,您可以使用以下命令之一将根设备卷更改为持久化。有关这些命令行界面的更多信息,请参阅。

例如,在 run-instances 命令中添加以下选项:

--block-device-mappings file://mapping.json

在 mapping.json 中指定以下内容:

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false, "SnapshotId": "snap-1234567890abcdef0", "VolumeType": "gp2" } } ]

使用命令行将正在运行的实例的根卷更改为持久化

您可以使用以下命令之一将正在运行的 EBS 支持的实例的根设备卷更改为持久化。有关这些命令行界面的更多信息,请参阅。

例如,使用以下命令:

aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --block-device-mappings file://mapping.json

在 mapping.json 中指定以下内容:

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]

排除实例终止问题

如果您终止了您的实例并启动了另一个实例终止,则很可能您已通过 EC2 Fleet 或 Amazon EC2 Auto Scaling 等功能配置了自动扩展。

如果您的实例处于关闭状态的时间比正常时间长,则 Amazon EC2 服务中的自动化进程应将其清理(终止)。有关详细信息,请参阅。