实例终止的工作原理
当终止实例时,将在实例的操作系统级别注册更改,一些资源会丢失,而另一些资源会持续存在。
下图显示了 Amazon EC2 实例终止后丢失的内容和仍然存在的情况。实例终止后,任何实例存储卷上的数据和存储在实例 RAM 中的数据都将擦除。与实例关联的任何弹性 IP 地址都将分离。对于 Amazon EBS 卷和这些卷上的数据,结果取决于该卷的终止时删除设置。默认情况下,将删除根卷并保留数据卷。
注意事项
-
当实例终止时,与该实例关联的所有实例存储卷上的数据都会被删除。
-
默认情况下,当实例终止时,Amazon EBS 根设备卷将自动删除。但是,即使在实例终止后,在启动时附加的所有额外 EBS 卷,或附加到现有实例的所有 EBS 卷也会保留。有关更多信息,请参阅 实例终止时保留数据。
注意
任何在实例终止时未删除的卷将继续产生费用。
-
要防止有人意外终止实例,请启用终止保护。
-
要控制从实例启动关闭操作时实例停止还是终止,请更改实例启动的关闭行为。
-
如果您在实例终止时运行脚本,您的实例可能会异常终止,因为我们无法确保关闭脚本运行。Amazon EC2 尝试干净完全关闭实例并运行任何系统关闭脚本;但是,某些事件(例如硬件故障)可能会阻止这些系统关闭脚本运行。
-
x86 裸机实例不支持协同关闭。
在终止实例时发生的情况
在操作系统级别注册的更改
-
API 请求会向访客发送按钮按下事件。
-
该按钮按下事件致使各种系统服务停止。由 systemd(Linux)或系统进程(Windows)提供系统正常关闭。来自管理程序的 ACPI 关闭按钮按下事件触发正常关闭。
-
启动 ACPI 关闭。
-
正常关闭进程退出后,该实例将关闭。没有可配置的操作系统关闭时间。短时间内仍可在控制台中看到该实例,然后该条目将自动被删除。
资源丢失
-
实例存储卷中存储的数据。
-
如果
DeleteOnTermination
属性设置为 true,存储在 Amazon EBS 根设备卷上的数据。
持续存在的资源
-
在实例启动时或启动后,存储在附加的其他 Amazon EBS 卷上的数据。
测试应用程序对实例终止的响应
您可以使用 AWS Fault Injection Service 测试您的实例终止时您的应用程序如何响应。有关更多信息,请参阅 《AWS Fault Injection Service 用户指南》。