

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

# 自動化您的 DR 策略
<a name="automating"></a>

您可以選擇性地選擇實施完全或部分自動化，以更好地控制災難復原。如果使用的是備份和還原 DR 選項，則可以使用 [AWS Backup](https://aws.amazon.com/backup/) 來自動化備份，它支援所有 Amazon RDS 資料庫以及 DynamoDB、Amazon DocumentDB 和 Amazon Neptune 資料表。

## 災難事件偵測
<a name="detection"></a>

若要縮短復原時間，可以考慮自動偵測整個區域的事件，它可啟動容錯移轉至 DR 區域。若要實作自動化偵測以實現積極的 RTO，您可以根據[運作狀態檢查](https://aws.amazon.com/builders-library/implementing-health-checks/)建置解決方案。這些運作狀態檢查不會停止於活動訊號 (檢查網路中的控制平面和資料平面模組是否可以彼此通訊)，而是更深入地評估應用程式元件的相互關聯性質，以達到精確的預測。但是，自動化解決方案可能會帶來錯誤警報的風險，進而導致不必要的容錯移轉。在這種情況下應該謹慎行事，因為不必要的容錯移轉會為您的業務帶來可用性問題。也可以在工作流程中建立手動覆寫，以確認已執行容錯移轉。可以訂閱[服務運作狀態儀表板](https://docs.aws.amazon.com/health/latest/ug/aws-health-dashboard-status.html) RSS 摘要隨時了解服務級別中斷。此外，您可以使用主要區域和 AWS 帳戶中的 [AWS Health 儀板表](https://phd.aws.amazon.com/phd/home#/)（需要 帳戶），以隨時了解可能會影響您帳戶的事件。這些可以協助您在發生全區域事件時做出明智的容錯移轉決策。

## 容錯移轉
<a name="failover"></a>

無論選擇哪種 DR 策略，都可以建置自訂 DR 自動化解決方案，以執行針對 DR 區域的容錯移轉。這種自動化可以將人工介入的需求降到最低，並在測試 DR 解決方案時提供更好的控制。您可以從[AWS 服務 APIs](https://aws.amazon.com/tools/)中進行選擇，該 API AWS 提供多種語言，例如 JavaScript、Python、PHP、.NET、Ruby、Java、Go、Node.js 和 C\+\+，視您組織的偏好而定。若要建置使用 AWS 這些服務 APIs自動化，您應該首先專注於將資料庫基礎設施轉換為 AWS CloudFormation 或 Terraform 範本形式的程式碼。這些範本可協助您自動化數個資料庫的容錯移轉，並維護 DR 區域中應用程式和資料庫元件的復原順序。

出於災難復原目的，建議您專注於以下兩個目標：
+ 現有 [CloudFormation 堆疊應匯出](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-exports.html)資料庫的相關資訊，包括執行個體名稱和端點。自動化程序可參考區域內的這些匯出值，並執行有助於 DR 操作的操作。
+ 如果資源處於生產中，但沒有關聯的 CloudFormation 堆疊，則應專注於為這些資源建立堆疊。同時確保這些堆疊涵蓋正確的匯出值，如前一點所述。

當您達到這兩個目標時，可以使用組織選擇的語言建置自動化解決方案，以利用 CloudFormation 匯出的優勢，並在發生災難時自動執行所需的切換動作。例如，如果您有部署為 CloudFormation 範本的 ElastiCache (Redis OSS) 全域資料存放區，自動化程式碼可以存取 CloudFormation 匯出，提供全域資料存放區的詳細資訊。發生災難時，程式碼可以使用 ElastiCache (Redis OSS) 服務 APIs，自動將次要資料存放區提升至主要資料存放區，而不需要任何手動介入。

在一般情況下，自動化應該可針對組織內的多個資料庫進行擴展。可以使用 [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 或 [AWS Batch](https://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html) 為多個資料庫擴展自動化解決方案。