

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

# 終止 Amazon EC2 執行個體
<a name="terminating-instances"></a>

**警告**  
**終止執行個體的操作為永久性且無法復原。**  
終止執行個體後，您將無法再連線至該執行個體，且無法復原該執行個體。所有設定為終止時刪除的已連接 Amazon EBS 磁碟區，也會被永久刪除且無法復原。儲存在執行個體儲存體磁碟區的所有資料將永久遺失。如需詳細資訊，請參閱[終止執行個體的運作方式](how-ec2-instance-termination-works.md)。  
在終止執行個體之前，確認您已將終止使用後需要保留的全部資料備份至持久性儲存體。

當您不再需要執行個體時，可以將它刪除。這就是*終止*您的執行個體。執行個體的狀態變更為 `shutting-down` 或 `terminated` 時刻起，該執行個體便停止收取費用。

執行個體終止後，您將無法連接或啟動該執行個體。然而，您可使用相同 AMI 來啟動新的執行個體。

若您希望停止執行個體，或讓其進入休眠，請參閱 [停止和啟動 Amazon EC2 執行個體](Stop_Start.md) 或 [讓 Amazon EC2 執行個體進入休眠](Hibernate.md)。如需詳細資訊，請參閱[執行個體狀態之間的差異](ec2-instance-lifecycle.md#lifecycle-differences)。

**Topics**
+ [終止執行個體的運作方式](how-ec2-instance-termination-works.md)
+ [終止執行個體的方法](instance-terminate-methods.md)
+ [在作業系統正常關機的情況下終止執行個體](#terminating-instances-console)
+ [終止執行個體並繞過作業系統正常關機](#terminating-instances-bypass-graceful-os-shutdown)
+ [對執行個體終止進行故障診斷](#troubleshoot-instance-terminate)
+ [變更執行個體終止保護](Using_ChangingDisableAPITermination.md)
+ [變更執行個體啟動的關機行為](Using_ChangingInstanceInitiatedShutdownBehavior.md)
+ [在執行個體終止時保留資料](preserving-volumes-on-termination.md)

# 終止執行個體的運作方式
<a name="how-ec2-instance-termination-works"></a>

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

下圖顯示 Amazon EC2 執行個體終止時遺失及持續存在的內容。當執行個體終止時，任何執行個體儲存體磁碟區上的資料和存放執行個體 RAM 的資料都會遭到清除。已停止連結與執行個體相關聯的任何彈性 IP 位址。針對 Amazon EBS 根磁碟區和資料磁碟區，結果取決於磁碟區的**終止時刪除**設定。

![\[執行個體終止時，IP 位址、RAM、執行個體儲存體磁碟區和 EBS 根磁碟區都會遺失。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/terminate-instance.png)


## 考量事項
<a name="terminate-instance-overview"></a>
+ **資料持久性**
  + 執行個體儲存體磁碟區：當執行個體終止時，所有資料都會永久刪除。
  + EBS 根磁碟區：
    + 若在啟動時連接，預設會在執行個體終止時刪除。
    + 若啟動後連接，預設會在執行個體終止時持續存在。
  + EBS 資料磁碟區：
    + 若使用主控台在啟動時連接：執行個體終止時，預設會持續存在。
    + 若使用 CLI 在啟動時連接：預設在執行個體終止時刪除。
    + 若使用主控台或 CLI 在啟動後連接：執行個體終止時，預設會持續存在。
**注意**  
執行個體終止時未刪除的任何磁碟區將繼續產生費用。您可變更設定，以在執行個體終止時刪除或保留磁碟區。如需詳細資訊，請參閱[在執行個體終止時保留資料](preserving-volumes-on-termination.md)。
+ **防止意外終止**
  + 若要避免遭人員意外終止執行個體，可[啟用執行個體的終止保護](Using_ChangingDisableAPITermination.md)。
  + 若要控制執行個體從執行個體觸發關機時，執行個體是否停止或終止，請變更[執行個體觸發的關機行為](Using_ChangingInstanceInitiatedShutdownBehavior.md)。
+ **關閉指令碼** - 如果您在執行個體終止時執行指令碼，則執行個體可能會發生異常終止，因為我們無法確保關閉指令碼執行。Amazon EC2 會嘗試完全關閉執行個體，並執行任何系統關閉指令碼；不過，某些事件 (例如硬體故障) 可能會使這些系統關閉指令碼無法執行。
+ **裸機執行個體** – x86 裸機執行個體不支援協作關機。

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

**在作業系統層級註冊的變更**
+ API 請求會將按鈕事件傳送給訪客。
+ 由於按鈕事件而停止各種系統服務。系統的順利關機是由 **systemd** (Linux) 或系統流程 (Windows) 提供。順利關機由從 Hypervisor 按下 ACPI 關機按鈕事件觸發。
+ 啟動 ACPI 關機。
+ 當順利關機程序結束後，執行個體就會關機。OS 關機時間無法設定。執行個體仍會短暫顯示於主控台，之後該項目會自動刪除。

**資源遺失**
+ 存放在執行個體儲存體磁碟區的資料。
+ 若 `DeleteOnTermination` 屬性設定為 `true`，則為 EBS 根磁碟區。
+ 若 `DeleteOnTermination` 屬性設定為 `true`，EBS 資料磁碟區 (在啟動時或之後連接)。

**持續存在的資源**
+ 若 `DeleteOnTermination` 屬性設定為 `false`，則為 EBS 根磁碟區。
+ 若 `DeleteOnTermination` 屬性設定為 `false`，EBS 資料磁碟區 (在啟動時或之後連接)。

## 測試應用程式對執行個體終止的回應
<a name="test-terminate-instance"></a>

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

# 終止執行個體的方法
<a name="instance-terminate-methods"></a>

**警告**  
**終止執行個體的操作為永久性且無法復原。**  
終止執行個體後，您將無法再連線至該執行個體，且無法復原該執行個體。所有設定為終止時刪除的已連接 Amazon EBS 磁碟區，也會被永久刪除且無法復原。儲存在執行個體儲存體磁碟區的所有資料將永久遺失。如需詳細資訊，請參閱[終止執行個體的運作方式](how-ec2-instance-termination-works.md)。  
在終止執行個體之前，確認您已將終止使用後需要保留的全部資料備份至持久性儲存體。

使用者發起的執行個體終止有四種方式：預設終止、跳過作業系統關機的終止、強制終止，以及跳過作業系統關機的強制終止。下表比較各終止方法之間的核心差異：

**注意**  
如果開啟終止保護，則無法終止執行個體。如需詳細資訊，請參閱[變更執行個體終止保護](Using_ChangingDisableAPITermination.md)。


| 終止方法 | 主要用途 | 使用案例 | CLI 命令 | 
| --- | --- | --- | --- | 
| 預設終止 | 嘗試作業系統正常關機的一般執行個體關機。 | 一般執行個體終止。 | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0</pre> | 
| 透過跳過作業系統關機來終止 | 終止執行個體時繞過作業系統正常關機。 | 需要繞過作業系統正常關機時。 | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--skip-os-shutdown</pre> | 
| 強制終止 | 處理停滯的執行個體。會先嘗試預設終止；若執行個體無法終止，則強制終止執行個體。 | 執行個體卡在 shutting-down 狀態時。 | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force</pre> | 
| 在跳過作業系統關機時強制終止 | 終止執行個體時，強制終止並繞過作業系統正常關機。 | 需要強制終止並繞過作業系統正常關機時。 | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force \<br />--skip-os-shutdown</pre> | 

各方法的使用指示，請參閱下列內容：
+ [在作業系統正常關機的情況下終止執行個體](terminating-instances.md#terminating-instances-console)
+ [終止執行個體並繞過作業系統正常關機](terminating-instances.md#terminating-instances-bypass-graceful-os-shutdown)
+ [強制終止執行個體](TroubleshootingInstancesShuttingDown.md#force-terminate-ec2-instance)

## 在作業系統正常關機的情況下終止執行個體
<a name="terminating-instances-console"></a>

您可以使用預設終止方法終止執行個體，其中包括嘗試作業系統正常關機。如需詳細資訊，請參閱[終止執行個體的方法](instance-terminate-methods.md)。

------
#### [ Console ]

**使用預設終止方法以終止執行個體**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取執行個體，並選取**執行個體狀態**、**終止 (刪除) 執行個體**。

1. 出現確認提示時，請選擇**終止 (刪除)**。

1. 在執行個體終止後，仍會以 `terminated` 狀態短暫顯示。

   如果終止失敗，或終止的執行個體已顯示超過數小時，請參閱 [仍顯示已終止的執行個體](TroubleshootingInstancesShuttingDown.md#terminated-instance-still-displaying)。

------
#### [ AWS CLI ]

**使用預設終止方法以終止執行個體**  
使用 [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) 命令。

```
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**使用預設終止方法以終止執行個體**  
使用 [Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) cmdlet。

```
Remove-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## 終止執行個體並繞過作業系統正常關機
<a name="terminating-instances-bypass-graceful-os-shutdown"></a>

您可以在終止執行個體時繞過作業系統正常關機。如需詳細資訊，請參閱[終止執行個體的方法](instance-terminate-methods.md)。

------
#### [ Console ]

**終止執行個體並繞過作業系統正常關機**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取執行個體，並選取**執行個體狀態**、**終止 (刪除) 執行個體**。

1. 在**跳過作業系統關機**下，選取**跳過作業系統關機**核取方塊。若您在主控台中未看見此選項，表示目前區域的主控台尚未提供此功能。不過，您可以使用 AWS CLI 或 SDK 存取此功能，或在 主控台中嘗試其他區域。

1. 選擇**終止 (刪除)**。

1. 在執行個體終止後，仍會以 `terminated` 狀態短暫顯示。

   如果終止失敗，或終止的執行個體已顯示超過數小時，請參閱 [仍顯示已終止的執行個體](TroubleshootingInstancesShuttingDown.md#terminated-instance-still-displaying)。

------
#### [ AWS CLI ]

**終止執行個體並繞過作業系統正常關機**  
搭配使用 [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) 命令與 `--skip-os-shutdown`。

```
aws ec2 terminate-instances \
    --instance-ids i-1234567890abcdef0 \
    --skip-os-shutdown
```

------
#### [ PowerShell ]

**終止執行個體並繞過作業系統正常關機**  
搭配使用 [Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) cmdlet 與`-SkipOsShutdown $true`。

```
Remove-EC2Instance `
    -InstanceId i-1234567890abcdef0 `
    -SkipOsShutdown $true
```

------

## 對執行個體終止進行故障診斷
<a name="troubleshoot-instance-terminate"></a>

請求者必須具有呼叫 `ec2:TerminateInstances` 的許可。如需詳細資訊，請參閱[使用執行個體的範例政策](ExamplePolicies_EC2.md#iam-example-instances)。

如果終止您的執行個體，並啟動另一個執行個體，很可能您已經透過像 EC2 Fleet 或 Amazon EC2 Auto Scaling 這樣的功能來設定自動擴展。如需詳細資訊，請參閱[執行個體自動啟動或終止](TroubleshootingInstancesShuttingDown.md#automatic-instance-create-or-delete)。

**注意**  
如果開啟終止保護，則無法終止執行個體。如需詳細資訊，請參閱[變更執行個體終止保護](Using_ChangingDisableAPITermination.md)。

若您的執行個體處於 `shutting-down` 狀態的時間比平常更長，您可以嘗試強制終止。若您保持在 `shutting-down` 狀態，應該會由 Amazon EC2 服務內的自動化程序清理 (終止)。如需詳細資訊，請參閱[延遲的執行個體終止](TroubleshootingInstancesShuttingDown.md#instance-stuck-terminating)。

# 變更執行個體終止保護
<a name="Using_ChangingDisableAPITermination"></a>

若要防止執行個體透過 Amazon EC2 API 被意外終止，無論您是直接呼叫 `TerminateInstances`，還是使用 Amazon EC2 主控台等其他介面，請為該執行個體啟用*終止保護*。`DisableApiTermination` 屬性可控制執行個體是否可終止。您執行個體的終止保護預設為停用。您可在執行個體啟動時、運作中或停止時，設定此屬性值。

在 `InstanceInitiatedShutdownBehavior` 屬性設定為 `terminate` 時，`DisableApiTermination` 屬性不會讓您無法從執行個體啟動關機 (例如，使用作業系統命令進行系統關機) 來終止該執行個體。如需詳細資訊，請參閱[變更執行個體啟動的關機行為](Using_ChangingInstanceInitiatedShutdownBehavior.md)。

**考量事項**
+ 當有終止執行個體的[排程事件](monitoring-instances-status-check_sched.md)時，啟用終止保護不會 AWS 阻止 終止執行個體。
+ 啟用終止保護不會阻止 Amazon EC2 Auto Scaling 在執行個體狀態不良時或在縮減事件期間終止執行個體。您可以使用[執行個體停止保護功能](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html)，控制 Auto Scaling 群組是否能在縮減時終止特定的執行個體。您可以[暫停 ReplaceUnhealthy 縮減程序](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html)，以控制 Auto Scaling 群組是否能終止運作狀態不佳的執行個體。
+ 您無法為 競價型執行個體啟用終止保護。

------
#### [ Console ]

**欲在執行個體啟動時啟用終止保護**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在儀表板上，選擇**啟動執行個體**。

1. 展開 **Advanced Details** (進階詳細資訊)。對於**終止保護**，選取**啟用**。

1. 完成執行個體的詳細資訊的指定後，請選擇**啟動執行個體**。

**變更執行個體的終止保護**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選取 **Instances** (執行個體)。

1. 選取執行個體。

1. 選擇**動作**、**執行個體設定**、**變更終止保護**。

1. 對於**終止保護**，請選取或清除**啟用**。

1. 選擇**儲存**。

------
#### [ AWS CLI ]

**欲在執行個體啟用終止保護**  
使用 [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 命令。

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --disable-api-termination
```

**停用執行個體的終止保護**  
使用 [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 命令。

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --no-disable-api-termination
```

------
#### [ PowerShell ]

**欲在執行個體啟用終止保護**  
使用 [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet。

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiTermination $true
```

**停用執行個體的終止保護**  
使用 [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet。

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiTermination $false
```

------

## 使用終止保護來終止多個執行個體
<a name="terminate-multiple"></a>

在相同需求中，若您跨多個可用區域中終止多個執行個體，並啟用一個或多個指定的執行個體以進行終止保護，則要求會失敗，並顯示下列結果：
+ 不會終止與受保護執行個體位於相同可用區域中的指定執行個體。
+ 位於不同可用區域中的指定執行個體 (其中沒有其他指定執行個體受到保護) 會成功終止。

**範例**  
假設您在兩個可用區域中有以下四個執行個體。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html)

如果您嘗試在同一個請求中終止所有這些執行個體，請求會報告失敗，結果如下：
+ **執行個體 1** 和**執行個體 2 **已成功終止，因為兩個執行個體皆未啟用終止保護。
+ **執行個體 3** 和**執行個體 4** 無法終止，因為執行個體 **3** 已啟用終止保護。

# 變更執行個體啟動的關機行為
<a name="Using_ChangingInstanceInitiatedShutdownBehavior"></a>

**警告**  
**終止執行個體的操作為永久性且無法復原。**  
終止執行個體後，您將無法再連線至該執行個體，且無法復原該執行個體。所有設定為終止時刪除的已連接 Amazon EBS 磁碟區，也會被永久刪除且無法復原。儲存在執行個體儲存體磁碟區的所有資料將永久遺失。如需詳細資訊，請參閱[終止執行個體的運作方式](how-ec2-instance-termination-works.md)。  
在終止執行個體之前，確認您已將終止使用後需要保留的全部資料備份至持久性儲存體。

根據預設，從 Amazon EBS 後端執行個體起始關閉動作時 (使用 **shutdown** 或 **poweroff** 等命令)，該執行個體會停止。您可變更此行為，來讓執行個體終止，而無需變更執行個體的 `InstanceInitiatedShutdownBehavior` 屬性。您可在執行個體運作中或停止時，變更此屬性。

**halt** 命令不會啟動關機。如果使用，則執行個體不會終止；而是會將 CPU 放入 `HLT`，而且執行個體仍會繼續執行。

**注意**  
`InstanceInitiatedShutdownBehavior` 屬性僅適用從執行個體的作業系統執行關機，不適用使用 `StopInstances` API 或 Amazon EC2 主控台來停止執行個體。

------
#### [ Console ]

**變更執行個體啟動的關機行為**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取實例。

1. 依序選擇 **Actions (動作)**、**Instance settings (執行個體設定)**、**Change shutdown behavior (變更關機行為)**。

   **關機行為**會顯示目前的行為。

1. 若要變更此行為，對於**關機行為**，選擇**停止**或**終止**。

1. 選擇**儲存**。

------
#### [ AWS CLI ]

**變更執行個體啟動的關機行為**  
使用 [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 命令。

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --instance-initiated-shutdown-behavior terminate
```

------
#### [ PowerShell ]

**變更執行個體啟動的關機行為**  
使用 [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet。

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -InstanceInitiatedShutdownBehavior terminate
```

------

# 在執行個體終止時保留資料
<a name="preserving-volumes-on-termination"></a>

當 Amazon EC2 執行個體終止時，您可能會想要保留執行個體儲存體磁碟區或 Amazon EBS 磁碟區上的資料。本主題說明如何確保您的資料在執行個體終止後仍能保留。

## 執行個體終止如何影響根磁碟區與資料磁碟區
<a name="how-instance-termination-affects-root-and-data-volumes"></a>

**執行個體儲存體磁碟區**  
執行個體終止時，執行個體儲存體磁碟區上的任何資料會自動刪除，其中的資料也會遺失。要將此資料保留超過執行個體的存留期，在終止執行個體之前，手動將該資料複製到更持久的儲存體，例如 Amazon EBS 磁碟區、Amazon S3 儲存貯體或 Amazon EFS 檔案系統。如需詳細資訊，請參閱[Amazon EC2 執行個體的儲存選項](Storage.md)。

**Amazon EBS 磁碟區**  
執行個體終止時，EBS 磁碟區會被刪除或保留，取決於每個磁碟區的 `DeleteOnTermination` 屬性值：
+ **是** (主控台) / `true` (CLI) – 磁碟區會在執行個體終止時遭到刪除。
+ **否** (主控台) / `false` (CLI) – 磁碟區會在執行個體終止時保留。保留的磁碟區會持續產生費用。
**注意**  
執行個體終止後，您可拍攝已保留磁碟區的快照，並將其連接到另一個執行個體。要避免產生費用，您必須刪除磁碟區。

## EBS 磁碟區的預設刪除行為
<a name="default-deletion-behavior-for-ebs-volumes"></a>

預設 `DeleteOnTermination` 值會根據磁碟區類型、磁碟區是在啟動時還是之後連接，以及用來連接磁碟區的方法 (主控台或 CLI) 而有所不同：


| 磁碟區類型 | 連接時間 | 連接方法 | 執行個體終止時的預設行為 | 
| --- | --- | --- | --- | 
| 根磁碟區 | 啟動時 | 主控台或 CLI | 刪除 | 
| 根磁碟區 | After launch (啟動後) | 主控台或 CLI | 保留 | 
| 資料量 | 啟動時 | 主控台 | 保留 | 
| 資料量 | 啟動時 | CLI | 刪除 | 
| 資料量 | After launch (啟動後) | 主控台和 CLI | 保留 | 

## 檢查磁碟區持久性設定
<a name="check-ebs-volume-persistence-settings"></a>

EBS 磁碟區在啟動時的預設值取決於 AMI 上設定的 `DeleteOnTermination` 屬性。您可以在啟動執行個體時變更此值，覆寫 AMI 的設定。啟動執行個體後，建議您驗證 `DeleteOnTermination` 屬性的預設設定。

**檢查執行個體終止時是否會刪除 Amazon EBS 磁碟區**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取執行個體。

1. 選擇**儲存**分頁。

1. 在**區塊型儲存設備**下，向右捲動以檢查**終止時刪除**欄。
   + 如果為**是**，磁碟區會在執行個體終止時遭到刪除。
   + 如果為**否**，磁碟區不會在執行個體終止時遭到刪除。未刪除的所有磁碟區都會持續產生費用。

## 在啟動時將根磁碟區變更為保留
<a name="delete-on-termination-ebs-volume"></a>

您可以在啟動執行個體時變更 EBS 根磁碟區的 `DeleteOnTermination` 屬性。您也可對資料磁碟區使用下列程序。

------
#### [ Console ]

**欲在啟動時將執行個體的根磁碟區變更為保留**

1. 遵循程序[啟動執行個體](ec2-launch-instance-wizard.md)，但在完成下列步驟以將根磁碟區變更為保留之前，請勿啟動執行個體。

1. 在**設定儲存**窗格中，選擇**進階**。

1. 在 **EBS 磁碟區**下方，展開根磁碟區下的資訊。

1. 針對**在終止時刪除**，選擇**否**。

1. 在 **Summary** (摘要) 面板中，檢閱您的執行個體組態，然後選擇 **Launch instance** (啟動執行個體)。如需詳細資訊，請參閱[使用主控台中的啟動執行個體精靈，啟動 EC2 執行個體](ec2-launch-instance-wizard.md)。

------
#### [ AWS CLI ]

**欲在啟動時將執行個體的根磁碟區變更為保留**  
使用 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令，變更區塊型儲存設備映射中的 `DeleteOnTermination` 值。

新增 `--block-device-mappings` 選項：

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

在 `mapping.json` 中，指定裝置名稱，例如 `/dev/sda1` 或者 `/dev/xvda`，針對 `DeleteOnTermination`，指定 `false`。

```
[
  {
    "DeviceName": "device_name",
    "Ebs": {
      "DeleteOnTermination": false
    }
  }
]
```

------
#### [ PowerShell ]

**欲在啟動時將執行個體的根磁碟區變更為保留**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet，變更區塊型儲存設備映射中的 `DeleteOnTermination` 值。

新增 `-BlockDeviceMapping` 選項：

```
-BlockDeviceMapping $bdm
```

在 `bdm` 中，指定裝置名稱，例如 `/dev/sda1` 或者 `/dev/xvda`，針對 `DeleteOnTermination`，指定 `false`。

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------

## 將執行中執行個體的根磁碟區變更為保留
<a name="delete-on-termination-running-instance"></a>

您可以將執行中執行個體的 EBS 根磁碟區變更為保留。您也可對資料磁碟區使用下列程序。

------
#### [ AWS CLI ]

**將根磁碟區變更為持續存在**  
使用 [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 命令。

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

在 `mapping.json` 中，指定裝置名稱，例如 `/dev/sda1` 或者 `/dev/xvda`，針對 `--DeleteOnTermination`，指定 `false`。

```
[
  {
    "DeviceName": "device_name",
    "Ebs": {
      "DeleteOnTermination": false
    }
  }
]
```

------
#### [ PowerShell ]

**將根磁碟區變更為持續存在**  
使用 [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet。

新增 `-BlockDeviceMapping` 選項：

```
-BlockDeviceMapping $bdm
```

在 `bdm` 中，指定裝置名稱，例如 `/dev/sda1` 或者 `/dev/xvda`，針對 `DeleteOnTermination`，指定 `false`。

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------