本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Auto Scaling 群組區域轉移
區域轉移是 Amazon Application Recovery Controller (ARC) 中的功能。透過區域轉移,您可以透過單一動作快速從可用區域中的應用程式受損中復原。當您為 Auto Scaling 群組啟用區域轉移時,該群組會向 ARC 區域轉移服務註冊。然後,您可以使用 AWS 管理主控台或 API 啟動區域轉移 AWS CLI,而 Auto Scaling 群組會將具有作用中區域轉移的可用區域視為受損。
Auto Scaling 群組區域轉移概念
在繼續之前,請確定您熟悉下列與 ARC 區域轉移整合相關的核心概念。
- ARC 區域轉移
-
當您啟用此功能時,Auto Scaling 可以向 ARC 區域轉移註冊 Auto Scaling 群組。註冊後,您可以使用 ARC
ListManagedResourcesAPI 檢視資源。如需詳細資訊,請參閱《Amazon Application Recovery Controller (ARC) 開發人員指南》中的 ARC 中的區域轉移。 - 可用區域重新平衡
-
Auto Scaling 會嘗試在每個可用區域中保持容量平衡。當可用區域之間發生不平衡時,Auto Scaling 會自動嘗試修正不平衡。如需詳細資訊,請參閱執行個體分佈。
- 動態擴展
-
動態擴展會根據您使用擴展政策選擇的指標,擴展 Auto Scaling 群組所需的容量。如需詳細資訊,請參閱Amazon EC2 Auto Scaling 動態擴展。
- 運作狀態檢查
-
Auto Scaling 會定期檢查 Auto Scaling 群組內所有執行個體的運作狀態,以確保運作狀態良好。偵測到運作狀態不佳的執行個體時,Auto Scaling 會將其標記為取代。如需詳細資訊,請參閱Auto Scaling 群組中的執行個體運作狀態檢查。
- 執行個體重新整理
-
您可以使用執行個體重新整理來更新 Auto Scaling 群組中的執行個體。啟動執行個體重新整理後,Auto Scaling 會嘗試取代 Auto Scaling 群組中的所有執行個體。如需詳細資訊,請參閱使用執行個體重新整理來更新 Auto Scaling 群組中的執行個體。
- 預先擴展
-
您可以容忍單一可用區域的遺失,因為您在應用程式的剩餘可用區域中有足夠的容量。
- 向外擴展
-
當您增加 Auto Scaling 群組的所需容量時,Auto Scaling 會嘗試啟動其他執行個體,以滿足新的所需容量。根據預設,Auto Scaling 會以平衡的方式啟動執行個體,以維持 Auto Scaling 群組中每個已啟用可用區域的相同容量。
Auto Scaling 群組的區域轉移運作方式
假設您有一個具有下列可用區域的 Auto Scaling 群組:
-
us-east-1a -
us-east-1b -
us-east-1c
您已在所有可用區域中啟用區域轉移,並注意到 中的失敗,us-east-1a因此您觸發區域轉移。在 中觸發區域轉移時,會發生下列行為us-east-1a。
-
向外擴展 – Auto Scaling 將在運作狀態良好的可用區域 (
us-east-1b和 ) 中啟動所有新的容量請求us-east-1c。 -
動態擴展 – Auto Scaling 會阻止擴展政策降低所有可用區域中所需的容量。Auto Scaling 不會封鎖擴展政策在所有可用區域中增加所需的容量。
-
執行個體重新整理 – Auto Scaling 將延長區域轉移作用中時延遲的任何執行個體重新整理程序的逾時。
下表說明在 中觸發區域轉移時,每個選項的運作狀態檢查行為us-east-1a。
| 可用區域運作狀態檢查行為選擇受損 | 運作狀態檢查行為 |
|---|---|
|
取代運作狀態不佳 |
在所有可用區域 ( |
|
忽略運作狀態不佳 |
看起來運作狀態不佳的執行個體將在 |
使用區域轉移的最佳實務
若要在使用區域轉移時維持應用程式的高可用性,建議您採用下列最佳實務:
-
監控 EventBridge 通知,以判斷何時發生持續的可用區域受損事件。如需詳細資訊,請參閱使用 EventBridge 處理 Auto Scaling 事件。
-
使用具有適當閾值的擴展政策,以確保您有足夠的容量來容忍遺失可用區域。
-
設定運作狀態最低百分比為 100 的執行個體維護政策。使用此設定,Auto Scaling 會等待新的執行個體準備就緒,再終止運作狀態不佳的執行個體。
對於預先擴展的客戶,我們也建議使用下列項目:
-
選取忽略運作狀態不佳做為受損可用區域的運作狀態檢查行為,因為您在受損事件期間不需要取代運作狀態不佳的執行個體。
-
在 Auto Scaling 群組的 ARC 中使用區域自動轉移。ARC 中的區域自動轉移功能允許 在 AWS 偵測到可用區域中的損害時,將資源的流量 AWS 移離可用區域。如需詳細資訊,請參閱《Amazon Application Recovery Controller (ARC) 開發人員指南》中的 ARC 中的區域自動轉移。
對於具有跨區域停用負載平衡器的客戶,我們也建議使用下列項目:
-
僅針對您的可用區域分佈使用平衡。
-
如果您在 Auto Scaling 群組和負載平衡器上使用區域轉移,請先取消 Auto Scaling 群組上的區域轉移。然後,等待容量在所有可用區域之間平衡,再取消負載平衡器上的區域轉移。
-
由於啟用區域轉移並使用跨區域停用的負載平衡器時,容量可能會不平衡,因此 Auto Scaling 包含額外的驗證步驟。如果您遵循最佳實務,您可以透過選取 AWS 管理主控台 核取方塊或使用
CreateAutoScalingGroup、 或UpdateAutoScalingGroup中的skip-zonal-shift-validation旗標來確認此可能性AttachTrafficSources。
如需搭配 Auto Scaling 群組使用區域轉移的詳細資訊,請參閱搭配 Amazon EC2 Auto Scaling 使用區域轉移