

# Amazon EC2 实例状态更改
<a name="ec2-instance-lifecycle"></a>

一个 Amazon EC2 实例从启动一直到其终止，将经过不同的状态转换。

下图显示实例状态之间的转换。

![\[实例生命周期。\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/images/instance_lifecycle.png)


您可在实例状态更改时收到通知。有关更多信息，请参阅 [Amazon EC2 实例的状态更改事件](monitoring-instance-state-changes.md)。

## 按实例状态计费
<a name="instance-billing-by-state"></a>

下表简要说明了每个实例状态，并说明实例使用是否已计费。一些Amazon资源（如 Amazon EBS 卷和弹性 IP 地址）无论实例的状态如何，都将产生费用。有关更多信息，请参阅 *Amazon Billing 用户指南*中的[避免意外费用](https://docs.amazonaws.cn/awsaccountbilling/latest/aboutv2/checklistforunwantedcharges.html)。


| 实例状态 | 描述 | 实例使用率计费 | 
| --- | --- | --- | 
|  `pending`  |  实例正准备进入 `running` 状态。实例在首次启动或者在处于 `stopped` 状态后开机时将进入 `pending` 状态。  |  不计费  | 
|  `running`  |  实例正在运行，并且做好了使用准备。  |  计费  | 
|  `stopping`  |  实例正准备进入停止状态。  |  不计费  如果您使实例休眠，则在实例处于 `stopping` 状态时会向您收费。   | 
|  `stopped`  |  实例已关闭，不能使用。可随时启动实例。  |  不计费  | 
|  `shutting-down`  |  实例正准备终止。  |  不计费  | 
|  `terminated`  |  实例已永久删除，无法启动。  |  不计费  应用于已终止实例的预留实例将按照其付款选项进行计费，直到其期限结束。有关更多信息，请参阅 [Amazon EC2 的预留实例概览](ec2-reserved-instances.md)   | 

## 待处理实例
<a name="instance-launch"></a>

当您启动实例时，实例进入 `pending` 状态。启动时指定的实例类型将决定您的实例的主机硬件。我们使用您在启动时指定的亚马逊机器映像（AMI）来启动实例。当实例准备就绪后，其进入 `running` 状态。您可以连接到正在运行的实例，然后像使用您面前的计算机一样来使用它。

只要您的实例转换为 `running` 状态，您就需要为实例运行的每一秒，至少一分钟付费，即使实例处于闲置状态并且您并未连接到实例也是如此。

## 已停止的实例
<a name="instance-stop-start"></a>

如果您的实例无法通过状态检查或未按预期运行应用程序，并且实例的根卷为 Amazon EBS 卷，则您可以先停止该实例再启动，以尝试解决该问题。

当您停止实例时，它会进入 `stopping` 状态，然后进入 `stopped` 状态。当实例 `stopped` 时，您无需支付实例的使用费或数据传输费。任何 Amazon EBS 卷的存储均会产生费用。当实例处于 `stopped` 状态时，您可以修改实例的某些属性，包括实例类型。

当您启动实例时，它会进入 `pending` 状态，然后实例会被移动到新的主机上（尽管在某些情况下，它仍将保留在当前主机上）。如果您停止并启动实例，将丢失附加在先前主机上的的实例存储卷上的所有数据。

您的实例会保留其私有 IPv4 地址，这意味着与该私有 IPv4 地址或网络接口关联的弹性 IP 地址仍然与您的实例关联。如果您的实例具有 IPv6 地址，则它将保留 IPv6 地址。

您每次将实例从 `stopped` 状态转换到 `running` 状态时，我们都按实例运行的每秒收费，您每次启动实例时至少一分钟。

有关停止和启动实例的更多详细信息，请参阅 [启动和停止 Amazon EC2 实例](Stop_Start.md)。

## 休眠实例
<a name="instance-hibernate"></a>

当您使实例休眠时，我们向操作系统发出信号来执行休眠 (suspend-to-disk)，这会将实例内存 (RAM) 中的内容保存到您的 Amazon EBS 根卷。我们保留实例的 Amazon EBS 根卷以及任何附加的 Amazon EBS 数据卷。当您启动实例时，Amazon EBS 根卷将还原到其之前的状态，并且 RAM 内容将重新加载。之前附加的数据卷会重新附加，实例也会保留其实例 ID。

当您将实例休眠时，它会进入 `stopping` 状态，然后进入 `stopped` 状态。当已休眠的实例处于 `stopped` 状态时，我们不会对其收取使用费，但是这些实例处于 `stopping` 状态时，这与您[停止实例](#instance-stop-start)而未将其休眠时不同，我们会对其进行收费。我们不收取数据传输费，但我们会对所有 Amazon EBS 卷的存储（包括 RAM 数据的存储）收费。

当您启动休眠实例时，它会进入 `pending` 状态，然后我们会将其移动到新的主机上（尽管在某些情况下，它仍将保留在当前主机上）。

您的实例会保留其私有 IPv4 地址，这意味着与该私有 IPv4 地址或网络接口关联的弹性 IP 地址仍然与您的实例关联。如果您的实例具有 IPv6 地址，则它将保留其 IPv6 地址。

有关更多信息，请参阅 [将您的 Amazon EC2 实例休眠](Hibernate.md)。

## 重启实例
<a name="instance-reboot"></a>

您可以使用 Amazon EC2 控制台、命令行工具和 Amazon EC2 API 来重启实例。我们建议您使用 Amazon EC2 来重启实例，而非在实例中运行操作系统重启命令。

重启实例相当于重启操作系统。实例位于同一主机上并保留其公有 DNS 名称、私有 IP 地址以及其实例存储卷上的所有数据。完成重启通常需要花费几分钟的时间，该时间具体取决于实例配置。

重启实例不会启动新的实例计费周期；将继续按秒计费，不再收取最低一分钟的费用。

有关更多信息，请参阅 [重启 Amazon EC2 实例](ec2-instance-reboot.md)。

## 终止实例
<a name="instance-termination"></a>

当您决定不再需要实例时，可以终止该实例。实例的状态一旦变为 `shutting-down` 或 `terminated`，就不再产生与该实例相关的费用。

如果您启用终止保护，则无法使用控制台、CLI 或 API 终止实例。

在您终止实例之后，短时间内仍可在控制台中看见该实例，然后该条目将自动被删除。您还可以使用 CLI 和 API 来描述已终止的实例。资源 (例如标签) 会逐步与终止的实例取消关联，因此过一小段时间后，它们可能在终止的实例上不再可见。您无法连接到或恢复已终止的实例。

Amazon EBS 支持的每个实例都支持 `InstanceInitiatedShutdownBehavior` 属性，该属性决定当从实例内部启动关闭命令时（例如，在 Linux 上使用 **shutdown** 命令），实例是停止还是终止。默认行为是停止实例。您可以在实例运行或停止时修改此属性的设置。

每个 Amazon EBS 卷都支持 `DeleteOnTermination` 属性，该属性控制当您终止卷所连接的实例时是删除还是保留该卷。默认为删除根卷并保留所有其他 EBS 卷。

有关更多信息，请参阅 [终止 Amazon EC2 实例](terminating-instances.md)。

## 实例状态之间的区别
<a name="lifecycle-differences"></a>

下表总结了重启、停止、休眠与终止实例之间的主要区别。


| 特征 | 重启 | 停止/启动 (仅限 Amazon EBS 支持的实例) | 休眠（仅限 Amazon EBS 支持的实例） | 终止 | 
| --- | --- | --- | --- | --- | 
|  主机  |  实例保持在同一主机上运行。  |  我们会将实例移动到新的主机上（尽管在某些情况下，它仍将保留在当前主机上）。  |  我们会将实例移动到新的主机上（尽管在某些情况下，它仍将保留在当前主机上）。  |  无  | 
|  私有 IPv4 地址  |  实例保留其私有 IPv4 地址。  |  实例保留其私有 IPv4 地址。  |  实例保留其私有 IPv4 地址。  |  无  | 
|  公有 IPv4 地址  |  实例保留其公有 IPv4 地址。  |  该实例将获取新的公有 IPv4 地址，除非其具有辅助网络接口或与弹性 IP 地址关联的辅助私有 IPv4 地址。  |  该实例将获取新的公有 IPv4 地址，除非其具有辅助网络接口或与弹性 IP 地址关联的辅助私有 IPv4 地址。  |  无  | 
|  弹性 IP 地址 (IPv4)  |  弹性 IP 地址仍旧与实例相关联  |  弹性 IP 地址仍旧与实例相关联  |  弹性 IP 地址仍旧与实例相关联  |  弹性 IP 地址不再与实例相关联  | 
|  IPv6 地址  |  实例保留其 IPv6 地址  |  实例保留其 IPv6 地址  |  实例保留其 IPv6 地址  |  无  | 
|  实例存储卷  |  数据保留  |  数据将擦除  |  数据将擦除  |  数据将擦除  | 
|  根卷  |  卷将保留  |  卷将保留  |  卷将保留  |  默认情况下将删除卷  | 
|  RAM（内存中的内容）  |  RAM 将擦除  |  RAM 将擦除  |  RAM 将保存到根卷上的某一文件  |  RAM 将擦除  | 
|  计费  |  实例计费小时不更改  |  实例的状态一旦变为 `stopping`，就不再产生与该实例相关的费用。实例每次从`stopped`转换为`running`时，我们都会启动新的实例计费周期，您每次启动实例时，最低收取一分钟费用。  |  当实例处于 `stopping` 状态时，将会产生费用；但实例处于 `stopped` 状态时，将会停止产生费用。实例每次从`stopped`转换为`running`时，我们都会启动新的实例计费周期，您每次启动实例时，最低收取一分钟费用。  |  实例的状态一旦变为 `shutting-down`，就不再产生与该实例相关的费用  | 

操作系统的关闭命令始终会终止具有实例存储根卷的实例。您可以控制操作系统关闭命令是停止还是终止具有 EBS 根卷的实例。有关更多信息，请参阅 [更改实例启动的关闭行为](Using_ChangingInstanceInitiatedShutdownBehavior.md)。