本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:建立主動/被動區域切換計畫
本教學課程會引導您為在 us-east-1 中執行的應用程式建立主動/被動區域切換計畫,並復原至 us-west-2。此範例包括用於運算的 Amazon EC2 執行個體、用於儲存的 Amazon Aurora 全域資料庫,以及用於 DNS 的 Amazon Route 53。
在本教學課程中,您將完成下列步驟:
建立區域切換計畫
建置計劃的工作流程和執行區塊
建置 EC2 Auto Scaling 群組執行區塊
建置兩個手動核准執行區塊
建置兩個自訂動作 Lambda 執行區塊
建置 Amazon Aurora Global Database 執行區塊
建置 ARC 路由控制區塊
執行區域切換計畫
先決條件
開始本教學課程之前,請確認您在這兩個區域中都具備下列先決條件:
具有適當許可的 IAM 角色
EC2 Auto Scaling 群組
用於維護頁面和圍欄的 Lambda 函數
Aurora 全域資料庫
ARC 路由控制
步驟 1:建立區域切換計畫
-
從區域切換主控台中,選擇建立區域切換計畫。
-
提供下列詳細資訊:
主要區域:選擇 us-east-1
待命區域:選擇 us-west-2
所需的復原時間目標 (RTO) (選用)
IAM 角色:輸入計劃執行 IAM 角色。此 IAM 角色允許區域切換在執行期間呼叫 AWS 服務。
-
選擇建立。
(選用) 將來自不同 AWS 帳戶的資源新增至您的區域切換計畫:
-
建立跨帳戶角色:
在託管資源的帳戶中,建立 IAM 角色。
新增計劃將存取之特定資源的許可。
新增允許執行角色擔任新角色的信任政策。
輸入並記下您將用作共用秘密的外部 ID。
-
在您的計劃中設定 資源:
當您將資源新增至計劃時,請指定兩個額外的欄位:
crossAccountRole:您在步驟 1 中建立的角色 ARN
externalId:您在步驟 1 中輸入的外部 ID
EC2 Auto Scaling 執行區塊存取帳戶 987654321 中資源的範例組態:
{ "executionBlock": "EC2AutoScaling", "name": "ASG", "crossAccountRole": "arn:aws:iam::987654321:role/RegionSwitchCrossAccountRole", "externalId": "unique-external-id-123", "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:987654321:autoScalingGroup:*:autoScalingGroupName/CrossAccountASG" }
必要許可:
執行角色必須具有跨帳戶角色的 sts:AssumeRole 許可。
跨帳戶角色必須僅具有所存取特定資源的許可。
跨帳戶角色的信任政策必須包含:
執行角色的帳戶做為信任的實體。
外部 ID 條件。
如需設定跨帳戶角色的詳細資訊,請參閱 跨帳戶資源許可。
在執行計畫之前,區域切換會驗證下列項目:
執行角色可以擔任跨帳戶角色。
跨帳戶角色具有必要的許可。
外部 ID 符合信任政策。
步驟 2:建置計劃的工作流程和執行區塊
-
從區域切換計畫詳細資訊頁面,選擇建置工作流程。
-
選取為所有區域建立相同的啟用工作流程。
-
輸入區域啟用工作流程描述 (選用)。這將用於在執行計劃時輕鬆識別工作流程。
-
選擇儲存並繼續。
新增 EC2 Auto Scaling 執行區塊
如需此執行區塊的詳細資訊,請參閱 Amazon EC2 Auto Scaling 群組執行區塊。
-
選擇新增步驟,然後選擇依序執行。
-
選取 EC2 Auto Scaling 執行區塊,然後選擇新增和編輯。此區塊可讓您開始增加被動區域中的容量。
-
在右側面板中,設定 區塊:
步驟名稱:輸入「擴展」
步驟描述 (選用)
us-east-1 的 Auto Scaling 群組 ARN:us-east-1 中 ASG 的 ARN
us-west-2 的 Auto Scaling 群組 ARN:us-west-2 中 ASG 的 ARN
符合來源區域的容量的百分比:輸入 100
容量監控方法:保留為「最近」
逾時 (選用)
如需此執行區塊所需 IAM 許可的資訊,請參閱 EC2 Auto Scaling 執行區塊範例政策。
-
選擇儲存步驟。
新增手動核准執行區塊
如需此執行區塊的詳細資訊,請參閱 手動核准執行區塊。
-
選擇新增步驟。
-
選取手動核准執行區塊,並將其新增至設計視窗。此區塊允許在繼續之前進行人工驗證。
-
在右側面板中,設定 區塊:
步驟名稱:輸入「設定前手動核准」
步驟描述 (選用)
IAM 核准角色:使用者必須擔任的角色,才能核准執行
逾時 (選用)。逾時後,執行會暫停,您可以選擇重試、略過或取消。
如需此執行區塊所需 IAM 許可的資訊,請參閱 手動核准執行區塊範例政策。
-
選擇儲存步驟。
新增維護頁面的自訂動作 Lambda 執行區塊
如需此執行區塊的詳細資訊,請參閱 自訂動作 Lambda 執行區塊。
-
選擇新增步驟。
-
選取自訂動作 Lambda 執行區塊,然後選擇新增和編輯。此區塊會在啟用的 區域中發佈維護頁面。
-
在右側面板中,設定 區塊:
步驟名稱:輸入「顯示維護頁面」
步驟描述 (選用)
用於啟用 us-east-1 的 Lambda ARN:部署在 us-east-1 中的維護頁面 Lambda 函數的 ARN
用於啟用 us-west-2 的 Lambda ARN:在 us-west-2 中部署的維護頁面 Lambda 函數的 ARN
要執行 Lambda 函數的區域:選擇在啟用區域中執行
逾時 (選用)
重試間隔 (選用)
如需此執行區塊所需 IAM 許可的資訊,請參閱 自訂動作 Lambda 執行區塊範例政策。
-
選擇儲存步驟。
新增 Aurora 全域資料庫執行區塊
如需此執行區塊的詳細資訊,請參閱 Amazon Aurora 全域資料庫執行區塊。
-
選擇新增步驟。
-
選取 Aurora 全域資料庫執行區塊,然後選擇新增和編輯。此區塊會觸發 Aurora 全域資料庫切換 (不會遺失資料)。如需詳細資訊,請參閱《Aurora 使用者指南》中的使用 Aurora Global Database 的切換或容錯移轉。
-
在右側面板中,設定 區塊:
步驟名稱:輸入 Aurora 切換
步驟描述 (選用)
Aurora 全域資料庫識別符:Aurora 叢集的名稱
用於啟用 us-east-1 的叢集 ARN:us-east-1 中的 Aurora 叢集 ARN
用於啟用 us-west-2 的叢集 ARN:us-west-2 中的 Aurora 叢集 ARN
選取 Aurora 資料庫的選項:選擇切換
逾時 (選用)
如需此執行區塊所需 IAM 許可的資訊,請參閱 Aurora Global Database 執行區塊範例政策。
-
選擇儲存步驟。
新增 ARC 路由控制執行區塊
如需此執行區塊的詳細資訊,請參閱 ARC 路由控制執行區塊。
-
選擇新增步驟。
-
選取 ARC 路由控制執行區塊,然後選擇新增和編輯。此區塊會執行 DNS 容錯移轉,將流量轉移到被動區域。
-
在右側面板中,設定 區塊:
步驟名稱:輸入切換 DNS
步驟描述 (選用)
用於啟用 us-east-1 的路由控制:選擇新增路由控制
逾時:輸入逾時值。
-
選擇新增路由控制:
路由控制 ARN:控制 us-east-1 之路由控制的 ARN
路由控制狀態:選擇開啟
-
再次選擇新增路由控制:
路由控制 ARN:控制 us-west-2 之路由控制的 ARN
路由控制狀態:選擇關閉
-
選擇儲存。
-
用於啟用 us-west-2 的路由控制:選擇新增路由控制
-
選擇新增路由控制:
路由控制 ARN:控制 us-west-2 之路由控制的 ARN
路由控制狀態:選擇開啟
-
再次選擇新增路由控制:
路由控制 ARN:控制 us-east-1 之路由控制的 ARN
路由控制狀態:選擇關閉
-
選擇儲存。
-
選擇儲存步驟。
如需此執行區塊所需 IAM 許可的資訊,請參閱 ARC 路由控制執行區塊範例政策。
-
選擇儲存。
步驟 3:執行計畫
-
在區域切換計劃詳細資訊頁面的右上角,選擇執行。
-
輸入執行詳細資訊:
選取要啟用的區域。
選取計劃執行模式。
(選用) 檢視執行步驟。
確認計劃執行。
-
選擇 開始使用。
-
您可以在計劃在執行詳細資訊頁面上執行時檢視詳細步驟。您可以查看計劃執行中的每個步驟,包括開始時間、結束時間、資源 ARN 和日誌訊息。
當受損的區域復原後,您可以再次執行計畫 (變更您提供的參數) 以啟用原始區域,將應用程式操作切換回原始主要區域。