

# REL10-BP02 針對限制在單一位置的元件將復原自動化
<a name="rel_fault_isolation_single_az_system"></a>

如果工作負載的元件只能在單一可用區域或內部部署資料中心執行，在定義的復原目標內實作完整重建工作負載的功能。

 **未建立此最佳實務時的曝險等級：**中 

## 實作指引
<a name="implementation-guidance"></a>

 如果因為技術限制而無法實作將工作負載部署至多個位置的最佳實務，您必須實作彈性的替代路徑。您必須將以下能力自動化：重新建立必要基礎設施、重新部署應用程式，以及針對這些案例重新建立必要資料。

 例如，Amazon EMR 會在相同可用區域中啟動指定叢集的所有節點，因為在相同區域執行叢集可以提供更高的資料存取速率，從而能提高任務流程的效能。如果為實現工作負載彈性而需要此元件，您必須要有方法重新部署叢集及其資料。此外，對於 Amazon EMR，您還應以異地同步備份以外的方式佈建冗餘。可以佈建[多個節點](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-ha-launch.html)。使用 [EMR 檔案系統 (EMRFS)](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-fs.html) 時，EMR 中的資料可存放在 Amazon S3 中，然後可複寫至多個可用區域或 AWS 區域。

 同樣地，對於 Amazon Redshift，它預設會將叢集佈建在您所選 AWS 區域 內隨機選取的可用區域中。所有叢集節點將佈建在相同的區域中。

 針對部署到內部部署資料中心的有狀態的伺服器型工作負載，您可以使用 AWS 彈性災難復原 在 AWS 中保護您的工作負載。如果已經在 AWS 中託管，則可以使用 Elastic Disaster Recovery 將工作負載保護到備選可用區域或區域。Elastic Disaster Recovery 使用輕量型暫存區的持續區塊層級複寫，以提供內部部署應用程式和雲端應用程式的快速且可靠的復原。

 **實作步驟** 

1.  實作自我修復。盡可能使用 Automatic Scaling 來部署執行個體或容器。如果無法使用 Automatic Scaling，請對 EC2 執行個體使用自動復原，或者根據 Amazon EC2 或 ECS 容器生命週期事件實作自我修復自動化。
   +  對於不需要單個執行個體 IP 位址、私有 IP 位址、彈性 IP 位址和執行個體中繼資料的執行個體和容器工作負載，使用 [Amazon EC2 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)。
     +  啟動範本使用者資料可用於實現自動自我修復大多數工作負載。
   +  對於需要單個執行個體 IP 位址、私有 IP 位址、彈性 IP 位址和執行個體中繼資料的工作負載，使用 [Amazon EC2 執行個體的自動復原](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html)。
     +  在偵測到執行個體失敗時，自動復原會將提醒傳送到 SNS 主題。
   +  在無法使用 Auto Scaling 或 EC2 復原的情況下，使用 [Amazon EC2 執行個體生命週期事件](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)或 [Amazon ECS 事件](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html)自動執行自我修復。
     +  使用事件來叫用自動化，以根據您所需的過程邏輯來修復您的元件。
   +  使用 [AWS 彈性災難復原](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html) 保護僅限於單一位置的有狀態工作負載。

## 資源
<a name="resources"></a>

 **相關文件：**
+  [Amazon ECS 事件](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html) 
+  [Amazon EC2 Auto Scaling lifecycle hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) 
+  [復原您的執行個體。](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html)
+  [服務自動擴展](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html) 
+  [什麼是 Amazon EC2 Auto Scaling？](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 
+ [AWS 彈性災難復原](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html)