

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# EC2 執行個體的停止和啟動方式
<a name="how-ec2-instance-stop-start-works"></a>

當您停止 Amazon EC2 執行個體時，變更會在執行個體的作業系統 (OS) 層級註冊，而有些資源會遺失，有些則會保留。啟動執行個體時，會在執行個體層級註冊變更。

**Topics**
+ [若您停止執行個體會如何](#what-happens-stop)
+ [啟動執行個體時會出現的情況](#what-happens-start)
+ [測試應用程式對停止和啟動的回應](#test-stop-start-instance)
+ [停止和啟動執行個體的相關成本](#ec2-stop-start-costs)

## 若您停止執行個體會如何
<a name="what-happens-stop"></a>

下列說明使用預設停止方法停止執行個體時通常會發生的情況。請注意，部分細節可能會根據您使用的[停止方法](instance-stop-methods.md)而有所不同。

**在作業系統層級註冊的變更**
+ API 請求會將按鈕事件傳送給訪客。
+ 由於按鈕事件而停止各種系統服務。作業系統正常關機由從 Hypervisor 按下 ACPI 關機按鈕事件觸發。
+ 啟動 ACPI 關機。
+ 當正常關機程序結束時，執行個體就會作業系統關機。OS 關機時間無法設定。
+ 如果執行個體作業系統在幾分鐘內沒有完全關閉，便會執行硬關機。
+ 執行個體會停止執行。
+ 執行個體的狀態會變成 `stopping`​ 然後再變成 `stopped`。
+ [自動擴展] 如果您的執行是 Auto Scaling 群組，當執行個體的狀態處於 `running` 以外的任何 Amazon EC2 狀態，或是狀態檢查的狀態變為 `impaired`，則 Amazon EC2 Auto Scaling 會認定此執行個體運作狀態不佳，並將其取代。如需詳細資訊，請參閱「Amazon EC2 Auto Scaling 使用者指南」**中的[針對 Auto Scaling 群組中的執行個體進行運作狀態檢查](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html)。
+ [Windows 執行個體] 當您停止和啟動 Windows 執行個體時，啟動代理程式會對執行個體執行任務，例如針對任何已連結的 Amazon EBS 磁碟區變更其磁碟代號。如需這些預設值以及如何變更這些預設值的詳細資訊，請參閱 [在 EC2 Windows 執行個體啟動期間，使用 EC2Launch v2 代理程式執行任務](ec2launch-v2.md)。

**資源遺失**
+ 存放在 RAM 的資料。
+ 存放在執行個體儲存體磁碟區的資料。
+ Amazon EC2 在啟動或開始時自動指派給執行個體的公有 IPv4 地址。若要保留永遠不變的公有 IPv4 地址，可將[彈性 IP 地址](elastic-ip-addresses-eip.md)與您的執行個體建立關聯。

**持續存在的資源**
+ 所有連接的 Amazon EBS 根和資料磁碟區。
+ Amazon EBS 磁碟區中存放的資料。
+ 任何已連接的[網路介面](using-eni.md)。

  網路介面包含下列資源，這些資源也會持續存在：
  + 私有 IPv4 地址。
  + IPv6 地址。
  + 與執行個體有關聯的彈性 IP 地址。請注意，當執行個體停用時，系統會[針對相關聯的彈性 IP 地址向您收費](elastic-ip-addresses-eip.md#eip-pricing)。

下圖顯示 EC2 執行個體停止時持續存在及遺失的內容。此圖表分為三部分：第一個部分標示為**執行中的 EC2 執行個體**，顯示處於 `running` 狀態的執行個體及其資源。第二個部分標示為**已停止的 EC2 執行個體**，顯示處於 `stopped` 狀態的執行個體及其持續存在的資源。第三部分標示為**已遺失**，顯示執行個體停止時遺失的資源。

![\[執行個體停止時，會遺失公有 IPv4 地址、RAM 和執行個體儲存體資料。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/stop-instance.png)


如需停止 Mac 執行個體時所發生狀況的詳細資訊，請參閱 [停止或終止 Amazon EC2 Mac 執行個體](mac-instance-stop.md)。

## 啟動執行個體時會出現的情況
<a name="what-happens-start"></a>
+ 大多數情況下，執行個體會遷移至新的基礎主機電腦 (不過有時候會保留在目前的主機上，例如當執行個體是配置到[專用執行個體](dedicated-hosts-understanding.md)組態中的主機時)。
+ 關聯的 EBS 磁碟區和網路介面會重新連接至執行個體。
+ 若執行個體已設定為接收公有 IPv4 位址，Amazon EC2 會為其指派新的公有 IPv4 位址，除非其具有次要網路介面或與彈性 IP 位址相關聯的次要私有 IPv4 位址。
+ 如果先停止置放群組中的執行個體，然後再啟動，此執行個體仍會在置放群組中執行。不過，如果執行個體可用的容量不足，起始作業將會失敗。如果您在已執行執行個體的置放群組中啟動執行個體時收到容量錯誤，請停止置放群組中的所有執行個體，然後再次啟動所有執行個體。啟動執行個體的動作，可能會讓這些執行個體轉移到容量足夠的硬體，能夠提供容量給所有請求的執行個體使用。

## 測試應用程式對停止和啟動的回應
<a name="test-stop-start-instance"></a>

您可以使用 AWS Fault Injection Service 來測試您的應用程式在執行個體停止和啟動時如何回應。如需詳細資訊，請參閱「[AWS Fault Injection Service 使用者指南」](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html)。

## 停止和啟動執行個體的相關成本
<a name="ec2-stop-start-costs"></a>

停止和啟動執行個體的相關成本如下。

**停止** - 一旦執行個體狀態變更為 `shutting-down` 或 `terminated`，執行個體就不會再產生費用。您不需為已停止的執行個體支付使用量或資料傳輸費用。存放 Amazon EBS 儲存磁碟區會產生費用。

**啟動** - 每次啟動已停止的執行個體時，我們會收取至少一分鐘的使用費。如果超過一分鐘，只會依使用的秒數收費。例如，如果您執行執行個體 20 秒便停止，我們會收取完整一分鐘的費用。如果您執行執行個體 3 分 40 秒，則只會收取 3 分 40 秒的使用費。