

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

# 在 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、M8in、M8ine、M8ib、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、C8i-flex、C8in、C8ine、C8ib
+ **記憶體最佳化：**R3、R4、R5、R5a、R5b、R5n、R6a、R6g、R6i、R6in、R7a、R7g、R7i、R7iz、R8a、R8g、R8gb、R8gn、R8i、R8i-flex、R8in、R8ib、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)以取得其他指引。