

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

# 自動執行個體復原功能
<a name="ec2-instance-recover"></a>

**重要**  
本節描述如何在 EC2 執行個體上主動設定復原機制。當 AWS 偵測到導致系統狀態檢查失敗的基礎硬體或軟體問題時，這些復原機制可用於還原執行個體可用性。如果您目前在存取執行個體時遇到問題，請參閱[對 EC2 執行個體進行疑難排解](ec2-instance-troubleshoot.md)。

如果 AWS 偵測到執行個體因基礎硬體或軟體問題而無法使用，有兩種機制可以自動還原執行個體可用性：[簡化的自動復原](instance-configuration-recovery.md)和 [Amazon CloudWatch 動作型復原](cloudwatch-recovery.md)。還原執行個體可用性亦稱為*執行個體復原*。

在執行個體復原程序期間， AWS 會嘗試將您的執行個體從具有基礎硬體或軟體問題的主機移至不同的主機。如果成功，執行個體復原程序為非計劃的重新啟動。您可[驗證執行個體復原是否已發生](verify-if-automatic-recovery-occurred.md)。

若復原程序未成功，執行個體可能會在存在基礎硬體或軟體問題的主機上繼續執行。在此情形下，需手動介入處理。如果執行個體無法連線，或系統狀態檢查持續未通過，我們建議您以手動方式，來[停止並啟動](Stop_Start.md)執行個體。當您啟動執行個體時，其通常會移轉至新的基礎主機電腦。不過，與自動執行個體復原 (執行個體會保留其公有 IPv4 位址) 不同，重新啟動的執行個體會獲得新的公有 IPv4 位址，除非其設定了彈性 IP 位址。

若要享受自動復原機制的益處，必須在系統狀態檢查失敗前，預先在執行個體上設定這些機制。您啟動執行個體期間，預設會啟用簡化的自動復原。您可在啟動後選擇性地設定基於 Amazon CloudWatch 動作的復原。設定其中一個機制可提升您執行個體的彈性。

簡化自動復原和基於 Amazon CloudWatch 動作的復原僅適用於支援的執行個體。如需詳細資訊，請參閱[啟用簡化自動復原的需求](instance-configuration-recovery.md#requirements-for-simplified-automatic-recovery)及[基於 CloudWatch 動作的復原的需求](cloudwatch-recovery.md#requirements-for-cloudwatch-action-based-recovery)。

**警告**  
當 因基礎硬體或軟體問題 AWS 而復原執行個體時，請注意下列後果：儲存在揮發性記憶體 (RAM) 中的資料將會遺失，而且作業系統的執行時間會從零開始。此外，透過基於 CloudWatch 動作的復原，執行個體儲存體磁碟區上的資料也會遺失。為協助防範資料遺失，建議您定期建立重要資料的備份。如需有關 EC2 執行個體備份與復原最佳實務的詳細資訊，請參閱 [Amazon EC2 的最佳實務](ec2-best-practices.md)。  
自動執行個體復原機制是為*個別執行個體*設計的。如需有關建置彈性*系統*的指引，請參閱 [建置彈性系統](#instance-recovery-build-a-resilient-system)。

**Topics**
+ [自動執行個體復原的核心概念](#ec2-automatic-instance-recovery-key-concepts)
+ [簡化自動復原與基於 CloudWatch 動作的復原之間的差異](#differences)
+ [建置彈性系統](#instance-recovery-build-a-resilient-system)
+ [驗證是否發生自動執行個體復原](verify-if-automatic-recovery-occurred.md)
+ [在 Amazon EC2 執行個體上設定簡化的自動復原](instance-configuration-recovery.md)
+ [在 EC2 執行個體上設定基於 CloudWatch 動作的復原](cloudwatch-recovery.md)

## 自動執行個體復原的核心概念
<a name="ec2-automatic-instance-recovery-key-concepts"></a>

自動執行個體復原是 Amazon EC2 的一項功能，可在發生基礎硬體或軟體故障時自動還原執行個體可用性，提升 EC2 執行個體的彈性和可靠性。

以下是自動執行個體復原的核心概念：

**組態選項**  
可設定兩種機制來支援自動執行個體復原：  
+ [簡化的自動復原](instance-configuration-recovery.md)：支援的執行個體預設會啟用。
+ [基於 CloudWatch 動作的復原](cloudwatch-recovery.md)：在支援的執行個體上需手動設定。

**系統狀態檢查**  
系統狀態檢查會自動監控 EC2 執行個體執行所在的 AWS 基礎設施。  
+ 如果系統狀態檢查失敗， 會 AWS 啟動自動執行個體復原，嘗試將受影響的執行個體遷移到不同的硬體。
+ 系統狀態檢查失敗表示主機的硬體或軟體存在問題，而非執行個體本身的問題。自動執行個體復原可復原系統狀態檢查失敗的執行個體。但若只有執行個體狀態檢查失敗，則自動執行個體復原不會運作。
+ 有關執行個體和系統狀態檢查之間的差異，請參閱[狀態檢查的類型](monitoring-system-instance-status-check.md#types-of-instance-status-checks)。

**基礎硬體或軟體問題的範例**  
可能會導致系統狀態檢查失敗的硬體或軟體問題包括：網路連線中斷、系統供電中斷、實體主機上的軟體問題，以及影響網路可達性的實體主機硬體問題。

**復原後執行個體的特性**  
復原後執行個體與原始執行個體相同，但不包含遺失的元素。  
保留的元素：  
+ 執行個體 ID
+ 公有、私有和彈性 IP 位址
+ 執行個體中繼資料
+ 置放群組
+ 已連接 EBS 磁碟區
+ 可用區域
遺失的元素：  
+ 儲存於揮發性記憶體 (RAM) 中的資料
+ 儲存於執行個體儲存體磁碟區的資料 (僅適用於基於 CloudWatch 動作的復原)
+ 作業系統運行時間重設為零

**使用 CloudWatch 監控系統狀態檢查**  
CloudWatch 中的 [StatusCheckFailed\$1System](viewing_metrics_with_cloudwatch.md#status-check-metrics) 指標會指出，系統狀態檢查是否通過。  
指標值：  
+ **0** – 系統狀態檢查通過。
+ **1** – 系統狀態檢查失敗。

**中的事件 Health 儀板表**  
在自動執行個體復原嘗試期間， Health 儀板表 會根據設定的復原機制及其結果，將事件 AWS 傳送至您的 ：  
+ 簡化的自動復原
  + 成功事件：`AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_SUCCESS`
  + 失敗事件：`AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_FAILURE`
+ 基於 CloudWatch 動作的復原
  + 成功事件：`AWS_EC2_INSTANCE_AUTO_RECOVERY_SUCCESS`
  + 失敗事件：`AWS_EC2_INSTANCE_AUTO_RECOVERY_FAILURE`

## 簡化自動復原與基於 CloudWatch 動作的復原之間的差異
<a name="differences"></a>

下表比較簡化自動復原與基於 CloudWatch 動作的復原之間的核心差異。


| 比較項目 | 簡化的自動復原 | 基於 CloudWatch 動作的復原 | 
| --- | --- | --- | 
| Configuration | 預設在支援的執行個體上啟用  | 需要手動設定 CloudWatch 警示與動作  | 
| 彈性 | 修正 管理的復原行為 AWS  | 可自訂的動作與條件  | 
| 通知 | 透過 的基本通知 Health 儀板表  | 透過 SNS 可自訂通知  | 
| 裸機執行個體大小 | 已排除 | 包含 | 
| 執行個體儲存體磁碟區只會在啟動時連接 | 不支援在啟動時連接執行個體儲存體磁碟區的執行個體 | 在所選取執行個體類型上受支援。請注意，執行個體復原期間，執行個體儲存體磁碟區上的資料會遺失。 | 
| 復原時間 | 標準復原嘗試 | 復原嘗試比簡化自動復原更快 | 
| 主機問題會在移轉期間解決 | 移轉可能會取消，執行個體會保留在原始主機上 | 繼續移轉至新的主機 | 
| Cost | 無額外費用 | 可能產生 CloudWatch 費用 | 

## 建置彈性系統
<a name="instance-recovery-build-a-resilient-system"></a>

雖然簡化的自動復原和 CloudWatch 動作型復原可有效維持個別執行個體的可用性，但 AWS 建議實作高可用性架構，允許流量容錯移轉至運作狀態良好的執行個體。

若要達成此目的，請考慮使用 Elastic Load Balancing （將傳入流量分配到多個 EC2 執行個體） 和 Amazon EC2 Auto Scaling （根據需求和運作狀態自動調整執行個體數量） 等 AWS 服務。

有關使用 EC2 執行個體建置具備彈性、容錯系統的詳細資訊，請參閱下列資源：
+ 在 *AWS YouTube 頻道*上的[返回基本概念：使用 EC2 設計故障](https://www.youtube.com/watch?v=5Hq5YxOrKYs)
+ 架構*AWS 部落格網站上的 *[雲端中的災難復原 (DR) 架構 AWS，第 I 部分：復原策略](https://aws.amazon.com/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-i-strategies-for-recovery-in-the-cloud/) 
+ [Application Load Balancer 使用者指南](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)
+ 《[Amazon EC2 Auto Scaling 使用者指南](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)》
+ [REL11-BP02 容錯移轉至可靠性支柱 Well-Architected 架構中的運作狀態良好的資源](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_withstand_component_failures_failover2good.html) * AWS *

# 驗證是否發生自動執行個體復原
<a name="verify-if-automatic-recovery-occurred"></a>

若您的執行個體似乎已離線，然後意外重新啟動，則可能已進行[自動執行個體復原](ec2-instance-recover.md#ec2-automatic-instance-recovery-key-concepts)，以回應基礎硬體或軟體問題。您可透過檢查 Health 儀板表中的自動執行個體復原事件進行驗證。您也可透過檢查 **StatusCheckFailed\$1System** Amazon CloudWatch 指標，確認執行個體是否偵測到基礎硬體或軟體問題。

## 檢查 中的事件 Health 儀板表
<a name="automatic-instance-recovery-events"></a>

發生自動執行個體復原嘗試時， 會將事件 AWS 傳送至您的 Health 儀板表。具體事件取決於設定的復原機制，以及嘗試是否成功。

**若要在 中檢查自動執行個體復原事件 Health 儀板表**

1. 在 Health 儀板表 https：//[https://phd.aws.amazon.com/phd/home\$1/ ](https://phd.aws.amazon.com/phd/)開啟 。

1. 尋找與自動執行個體復原關聯的事件。這些事件的存在可確認是否發生自動執行個體復原的嘗試及其相應結果。
   + 簡化的自動復原
     + 成功事件：`AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_SUCCESS`
     + 失敗事件：`AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_FAILURE`
   + 基於 CloudWatch 動作的復原
     + 成功事件：`AWS_EC2_INSTANCE_AUTO_RECOVERY_SUCCESS`
     + 失敗事件：`AWS_EC2_INSTANCE_AUTO_RECOVERY_FAILURE`

## 透過 CloudWatch 監控系統狀態檢查
<a name="verify-an-underlying-hardware-issue"></a>

您可透過檢查 CloudWatch 中的 [StatusCheckFailed\$1System](viewing_metrics_with_cloudwatch.md#status-check-metrics) 指標，以驗證執行個體是否偵測到基礎硬體或軟體問題。指標值指出系統狀態檢查是通過 (沒有硬體或軟體問題) 還是失敗 (硬體或軟體問題)。

**驗證是否偵測到基礎硬體或軟體問題**

1. 透過 [https://console.aws.amazon.com/cloudwatch/home?\$1metricsV2](https://console.aws.amazon.com/cloudwatch/home?#metricsV2) 開啟 CloudWatch 主控台**指標**頁面。

1. 確認您位於 EC2 執行個體所在的同一區域。

1. 在**指標**搜尋欄位中貼上下列指標，然後按 Enter 鍵。

   ```
   StatusCheckFailed_System
   ```

1. 選擇 **EC2 > 每個執行個體指標**。

1. 在表格中，選取要檢查的執行個體旁的核取方塊。

1. 將查詢期間變更為您懷疑發生了復原事件的時間。

1. 選擇**圖形化指標**索引標籤，並針對 **StatusCheckFailed\$1System**，請執行下列動作：

   1. 對於**統計資料**，選擇**平均值**、**最大值**或**最小值**。

   1. 對於**期間**，選擇 **1 分鐘**。

1. 檢查 **StatusCheckFailed\$1System** 的數值。
   + 數值為 **0**：系統狀態檢查通過，表示沒有基礎硬體或軟體問題。
   + 數值為 **1**：系統狀態檢查失敗，表示存在基礎硬體或軟體問題。

如需詳細資訊，請參閱[自動執行個體復原功能](ec2-instance-recover.md)。

# 在 Amazon EC2 執行個體上設定簡化的自動復原
<a name="instance-configuration-recovery"></a>

**重要**  
本節描述如何在 EC2 執行個體上主動設定復原機制。當 AWS 偵測到導致系統狀態檢查失敗的基礎硬體或軟體問題時，這些復原機制可用於還原執行個體可用性。如果您目前在存取執行個體時遇到問題，請參閱[對 EC2 執行個體進行疑難排解](ec2-instance-troubleshoot.md)。

如果 AWS 偵測到執行個體因基礎硬體或軟體問題而無法使用，*簡化的自動復原*可以透過將具有基礎問題的執行個體從主機移至不同的主機，自動還原執行個體可用性。

如果發生簡化的自動復原， 會根據結果 AWS Health 儀板表， AWS 將下列其中一個事件傳送至您的 ：
+ 成功事件：`AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_SUCCESS`
+ 失敗事件：`AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_FAILURE`

若要接收這些事件的通知，您可以設定通知功能。如需詳細資訊，請參閱《*AWS 使用者通知 使用者指南*》中的在 [AWS 使用者通知中建立您的第一個通知組態](https://docs.aws.amazon.com/notifications/latest/userguide/getting-started.html)。您還可以使用 [Amazon EventBridge 規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)，利用以下事件代碼監控簡化的自動復原事件：

啟動執行個體期間，預設會在所有支援的執行個體上啟用簡化的自動復原。不過，只有在執行個體處於 `running` 狀態、 中未列出任何服務事件 AWS Health 儀板表，且執行個體類型有可用的容量時，才能運作。某些情況下，例如重大中斷，容量限制可能會導致復原嘗試失敗。如需詳細資訊，請參閱[對簡化的自動復原失敗進行疑難排解](#ec2-instance-recover-simplified-auto-recovery-troubleshooting)。

您可在啟動期間或之後停用簡化的自動復原，並在需要時重新啟用。

**警告**  
當 因基礎硬體或軟體問題 AWS 而復原執行個體時，請注意下列後果：儲存在揮發性記憶體 (RAM) 中的資料將會遺失，而且作業系統的執行時間會從零開始。為協助防範資料遺失，建議您定期建立重要資料的備份。如需有關 EC2 執行個體備份與復原最佳實務的詳細資訊，請參閱 [Amazon EC2 的最佳實務](ec2-best-practices.md)。  
自動執行個體復原機制是為*個別執行個體*設計的。如需有關建置彈性*系統*的指引，請參閱 [建置彈性系統](ec2-instance-recover.md#instance-recovery-build-a-resilient-system)。

**Topics**
+ [啟用簡化自動復原的需求](#requirements-for-simplified-automatic-recovery)
+ [設定簡化的自動復原](#set-recovery-behavior)
+ [對簡化的自動復原失敗進行疑難排解](#ec2-instance-recover-simplified-auto-recovery-troubleshooting)

## 啟用簡化自動復原的需求
<a name="requirements-for-simplified-automatic-recovery"></a>

可在符合下列條件的執行個體上啟用簡化自動復原：

**執行個體類型**  
+ **一般用途：**A1, M3, M4, M5, M5a, M5n, M5zn, M6a, M6g, M6i, M6in, M7a, M7g, M7i, M7i-flex, M8a, M8azn, M8g, M8gb, M8gn, M8i, M8i-flex, T1, T2, T3, T3a, T4g
+ **運算最佳化：**C3, C4, C5, C5a, C5n, C6a, C6g, C6gn, C6i, C6in, C7a, C7g, C7gn, C7i, C7i-flex, C8a, C8g, C8gb, C8gn, C8i, C8ib, C8in, C8i-flex
+ **記憶體最佳化：**R3, R4, R5, R5a, R5b, R5n, R6a, R6g, R6i, R6in, R7a, R7g, R7i, R7iz, R8a, R8g, R8gb, R8gn, R8i, R8i-flex, U-3tb1, U-6tb1, U-9tb1, U-12tb1, U-18tb1, U-24tb1, U7i-6tb, U7i-8tb, U7i-12tb, U7in-16tb, U7in-24tb, U7in-32tb, U7inh-32tb, X1, X1e, X2iezn, X8g, X8i 
+ **加速運算：**G3、G5g、Inf1、P3、VT1
+ **高效能運算：**Hpc6a, Hpc7a, Hpc7g, Hpc8a

**租用**  
+ 共同
+ Dedicated Instance
如需詳細資訊，請參閱[Amazon EC2 專用執行個體](dedicated-instance.md)。

**限制**

如果執行個體具有以下特性，則此執行個體不支援簡化的自動復原程序：
+ 執行個體大小：`metal` 執行個體
+ 租用：專用主機。對於專用主機，改用[專用主機自動復原](dedicated-hosts-recovery.md)。
+ 儲存：具有執行個體儲存體磁碟區的執行個體
+ 聯網：使用 Elastic Fabric Adapter 的執行個體
+ 自動擴展：屬於 Auto Scaling 群組的執行個體
+ 維護：目前正在進行排程維護事件的執行個體

## 設定簡化的自動復原
<a name="set-recovery-behavior"></a>

當您啟動支援的執行個體時，預設會啟用簡化的自動復原。您可在啟動執行個體期間或之後將自動復原行為設定為 `disabled`。

`default` 組態僅會針對支援的執行個體啟用簡化的自動復原。

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

**啟動時停用簡化的自動復原程序**

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

1. 在導覽窗格中，選擇 **Instances (執行個體)**，然後選擇 **Launch Instance (啟動執行個體)**。

1. 在**進階詳細資訊**區段，針對**執行個體自動復原**，選擇**已停用**。

1. 根據需要進行剩餘的執行個體啟動設定，然後啟動執行個體。

**啟動後停用簡化的自動復原程序**

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

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

1. 選取執行個體，然後選取 **動作**、**執行個體設定**、**變更自動復原行為**。

1. 選擇 **Off** (關閉)，然後選擇 **Save** (儲存)。

**在啟動後啟用簡化自動復原**

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

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

1. 選取執行個體，然後選取 **動作**、**執行個體設定**、**變更自動復原行為**。

1. 選擇**預設**，然後選擇**儲存**。

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

**啟動時停用簡化的自動復原程序**  
請使用 `--maintenance-options` 選項並搭配 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instance.html) 命令。

```
--maintenance-options AutoRecovery=Disabled
```

**啟動後停用簡化的自動復原程序**  
使用 [modify-instance-maintenance-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-maintenance-options.html) 命令。

```
aws ec2 modify-instance-maintenance-options \
    --instance-id i-1234567890abcdef0 \
    --auto-recovery disabled
```

**在啟動後啟用簡化自動復原**  
使用 [modify-instance-maintenance-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-maintenance-options.html) 命令。

```
aws ec2 modify-instance-maintenance-options \
    --instance-id i-1234567890abcdef0 \
    --auto-recovery default
```

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

**啟動時停用簡化的自動復原程序**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet。

```
-MaintenanceOptions_AutoRecovery Disabled
```

**啟動後停用簡化的自動復原程序**  
使用 [Edit-EC2InstanceMaintenanceOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMaintenanceOption.html) cmdlet。

```
Edit-EC2InstanceMaintenanceOption `
    -InstanceId i-1234567890abcdef0 `
    -AutoRecovery Disabled
```

**在啟動後啟用簡化自動復原**  
使用 [Edit-EC2InstanceMaintenanceOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMaintenanceOption.html) cmdlet。

```
Edit-EC2InstanceMaintenanceOption `
    -InstanceId i-1234567890abcdef0 `
    -AutoRecovery Enabled
```

------

## 對簡化的自動復原失敗進行疑難排解
<a name="ec2-instance-recover-simplified-auto-recovery-troubleshooting"></a>

若簡化自動復原未能復原您的執行個體，請考量下列問題：
+ AWS 服務事件正在執行

  簡化的自動復原不會在 AWS Health 儀板表中的服務事件期間運作。您可能不會收到此類事件的復原故障通知。如需最新的服務可用性資訊，請參閱[服務運作狀態](https://health.aws.amazon.com/health/status)頁面。
+ 容量不足

  暫時沒有足夠的替換硬體可用於移轉執行個體。
+ 已達每日復原嘗試次數上限

  執行個體已達到每日復原嘗試的最高限額。如果自動復原失敗，而原始系統狀態檢查未通過的原因判定為硬體劣化，則執行個體可能隨後會遭到淘汰。

如果執行個體系統狀態檢查在多次復原嘗試後持續未通過，請參閱[對狀態檢查失敗的執行個體進行疑難排解](TroubleshootingInstances.md)以取得其他指引。

# 在 EC2 執行個體上設定基於 CloudWatch 動作的復原
<a name="cloudwatch-recovery"></a>

**重要**  
本節描述如何在 EC2 執行個體上主動設定復原機制。當 AWS 偵測到導致系統狀態檢查失敗的基礎硬體或軟體問題時，這些復原機制可用於還原執行個體可用性。如果您目前在存取執行個體時遇到問題，請參閱[對 EC2 執行個體進行疑難排解](ec2-instance-troubleshoot.md)。

如果 AWS 偵測到執行個體因基礎硬體或軟體問題而無法使用，*CloudWatch 動作型復原*可以透過將具有基礎問題的執行個體從主機移至不同的主機，自動還原執行個體可用性。

如果發生 CloudWatch 動作型復原， 會根據結果 AWS Health 儀板表將下列其中一個事件 AWS 傳送至您的 ：
+ 成功事件：`AWS_EC2_INSTANCE_AUTO_RECOVERY_SUCCESS`
+ 失敗事件：`AWS_EC2_INSTANCE_AUTO_RECOVERY_FAILURE`

您可以設定基於 CloudWatch 動作的復原，將復原動作新增至 Amazon CloudWatch 警示。CloudWatch 動作型復原使用 `StatusCheckFailed_System` 指標。CloudWatch 動作型復原提供即時復原回應時間的精細程度，以及復原動作和結果的 Amazon Simple Notiﬁcation Service (Amazon SNS) 通知。與簡化的自動復原相比，這些組態選項允許更快速的復原嘗試，並且更精密地控制系統狀態的檢查失敗事件回應。如需可用 CloudWatch 選項的詳細資訊，請參閱[執行個體的狀態檢查](monitoring-system-instance-status-check.md)。

不過，只有在執行個體處於 `running` 狀態、 中未列出任何服務事件，且執行個體類型有可用的容量時 AWS Health 儀板表，CloudWatch 動作型復原才能運作。某些情況下，例如重大中斷，容量限制可能會導致復原嘗試失敗。如需詳細資訊，請參閱[對基於 CloudWatch 動作的復原失敗進行疑難排解](#ec2-instance-recover-cloudwatch-troubleshooting)。

**警告**  
當 因基礎硬體或軟體問題而 AWS 復原執行個體時，請注意下列後果：儲存在揮發性記憶體 (RAM) 和執行個體儲存體磁碟區上的資料將會遺失，而且作業系統的執行時間會從零開始。為協助防範資料遺失，建議您定期建立重要資料的備份。如需有關 EC2 執行個體備份與復原最佳實務的詳細資訊，請參閱 [Amazon EC2 的最佳實務](ec2-best-practices.md)。  
自動執行個體復原機制是為*個別執行個體*設計的。如需有關建置彈性*系統*的指引，請參閱 [建置彈性系統](ec2-instance-recover.md#instance-recovery-build-a-resilient-system)。

**Topics**
+ [基於 CloudWatch 動作的復原的需求](#requirements-for-cloudwatch-action-based-recovery)
+ [設定 CloudWatch 動作型復原](#ec2-instance-recover-cloudwatch-configure)
+ [對基於 CloudWatch 動作的復原失敗進行疑難排解](#ec2-instance-recover-cloudwatch-troubleshooting)

## 基於 CloudWatch 動作的復原的需求
<a name="requirements-for-cloudwatch-action-based-recovery"></a>

可在符合下列條件的執行個體上啟用基於 CloudWatch 動作的復原：

**執行個體類型**  
+ **一般用途：**A1, M3, M4, M5, M5a, M5n, M5zn, M6a, M6g, M6i, M6in, M7a, M7g, M7i, M7i-flex, M8a, M8azn, M8g, M8gb, M8gn, M8i, M8i-flex, T1, T2, T3, T3a, T4g
+ **運算最佳化：**C3, C4, C5, C5a, C5n, C6a, C6g, C6gn, C6i, C6in, C7a, C7g, C7gn, C7i, C7i-flex, C8a, C8g, C8gb, C8gn, C8i, C8ib, C8in, C8i-flex
+ **記憶體最佳化：**R3, R4, R5, R5a, R5b, R5n, R6a, R6g, R6i, R6in, R7a, R7g, R7i, R7iz, R8a, R8g, R8gb, R8gn, R8i, R8i-flex, U-3tb1, U-6tb1, U-9tb1, U-12tb1, U-18tb1, U-24tb1, U7i-6tb, U7i-8tb, U7i-12tb, U7in-16tb, U7in-24tb, U7in-32tb, U7inh-32tb, X1, X1e, X2idn, X2iedn, X2iezn, X8g, X8i 
+ **加速運算：**G3、G5g、Inf1、P3、VT1
+ **高效能運算：**Hpc6a, Hpc7a, Hpc7g, Hpc8a
+ **裸機執行個體：**上述任何具有裸機執行個體大小的執行個體類型。
+ **若在啟動時新增執行個體儲存體磁碟區：**則僅支援下列執行個體類型：M3、C3、R3、X1、X1e、X2idn、X2iedn 

**租用**  
+ 共同
+ Dedicated Instance
如需詳細資訊，請參閱[Amazon EC2 專用執行個體](dedicated-instance.md)。

**限制**

具有下列特性的執行個體不支援基於 CloudWatch 動作的復原：
+ 租用：專用主機。對於專用主機，改用[專用主機自動復原](dedicated-hosts-recovery.md)。
+ 聯網：使用 Elastic Fabric Adapter 的執行個體
+ 自動擴展：屬於 Auto Scaling 群組的執行個體
+ 維護：目前正在進行排程維護事件的執行個體

### 尋找支援的執行個體類型
<a name="cloudwatch-recovery-find-instance-types"></a>

您可以檢視支援基於 CloudWatch 動作的復原的執行個體類型。

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

**檢視支援基於 CloudWatch 動作的復原的執行個體類型**

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

1. 在左側導覽窗格中選擇 **Instance Types** (執行個體類型)。

1. 在篩選條件列中，新增篩選條件**支援自動復原程序：是**。**執行個體類型**表格會顯示支援基於 CloudWatch 動作的復原的所有執行個體類型。

1. (選用) 新增篩選條件以進一步限定到感興趣的特定執行個體類型。

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

**檢視支援基於 CloudWatch 動作的復原的執行個體類型**  
使用 [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) 命令並搭配 `auto-recovery-supported` 篩選條件。

```
aws ec2 describe-instance-types \
    --filters Name=auto-recovery-supported,Values=true \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

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

**檢視支援基於 CloudWatch 動作的復原的執行個體類型**  
使用 [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html) cmdlet 搭配 `auto-recovery-supported` 篩選條件。

```
Get-EC2InstanceType `
    -Filter @{Name="auto-recovery-supported";Values="true"} | `
    Select InstanceType | Sort-Object InstanceType
```

------

## 設定 CloudWatch 動作型復原
<a name="ec2-instance-recover-cloudwatch-configure"></a>

若要為 EC2 執行個體設定基於 CloudWatch 動作的復原，請建立 CloudWatch 警示，用於監控指定執行個體的 `StatusCheckFailed_System` 指標。將警示設定為在指標值為 **1** 時觸發，此數值表示系統狀態檢查失敗。設定警示動作，使其在觸發時自動復原執行個體。

您可以使用 Amazon EC2 主控台或 CloudWatch 主控台設定警示。有關說明，請參閱本使用者指南中的 [將復原動作新增至 Amazon CloudWatch 警示](UsingAlarmActions.md#AddingRecoverActions)，或《*Amazon CloudWatch 使用者指南*》中的[將復原動作新增至 Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/UsingAlarmActions.html#AddingRecoverActions)。

## 對基於 CloudWatch 動作的復原失敗進行疑難排解
<a name="ec2-instance-recover-cloudwatch-troubleshooting"></a>

若基於 CloudWatch 動作的復原未能復原您的執行個體，請考量下列問題：
+ AWS 服務事件正在執行

  CloudWatch 動作型復原不會在 AWS Health 儀板表的服務事件期間運作。您可能不會收到此類事件的復原故障通知。如需最新的服務可用性資訊，請參閱[服務運作狀態](https://health.aws.amazon.com/health/status)頁面。
+ 容量不足

  暫時沒有足夠的替換硬體可用於移轉執行個體。
+ 已達每日復原嘗試次數上限

  執行個體已達到每日復原嘗試的最高限額。如果自動復原失敗，而原始系統狀態檢查未通過的原因判定為硬體劣化，則執行個體可能隨後會遭到淘汰。

如果執行個體系統狀態檢查在多次復原嘗試後持續未通過，請參閱[對狀態檢查失敗的執行個體進行疑難排解](TroubleshootingInstances.md)以取得其他指引。