Auto Scaling 群組區域轉移 - Amazon EC2 Auto Scaling

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

Auto Scaling 群組區域轉移

區域轉移是 Amazon Application Recovery Controller (ARC) 中的功能。透過區域轉移,您可以透過單一動作快速從可用區域中的應用程式受損復原。當您為 Auto Scaling 群組啟用區域轉移時,該群組會向 ARC 區域轉移服務註冊。然後,您可以使用 AWS Management Console或 API 啟動區域轉移 AWS CLI,而 Auto Scaling 群組會將具有作用中區域轉移的可用區域視為受損。

Auto Scaling 群組區域轉移概念

在繼續之前,請確定您熟悉下列與 ARC 區域轉移整合相關的核心概念。

ARC 區域轉移

當您啟用此功能時,Auto Scaling 可以向 ARC 區域轉移註冊 Auto Scaling 群組。註冊後,您可以使用 ARC ListManagedResources API 檢視資源。如需詳細資訊,請參閱《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

可用區域運作狀態檢查行為選擇受損 運作狀態檢查行為

取代運作狀態不佳

在所有可用區域 (us-east-1aus-east-1b和 ) 中,顯示運作狀態不佳的執行個體將被取代us-east-1c

忽略運作狀態不佳

似乎運作狀態不佳的執行個體將在 us-east-1b和 中取代us-east-1c。可用區域中的執行個體將不會取代為作用中區域轉移 (us-east-1a)。

使用區域轉移的最佳實務

若要在使用區域轉移時維持應用程式的高可用性,建議您採用下列最佳實務:

  • 監控 EventBridge 通知,以判斷何時持續發生可用區域受損事件。如需詳細資訊,請參閱使用 EventBridge 處理 Auto Scaling 事件

  • 使用具有適當閾值的擴展政策,以確保您有足夠的容量來容忍遺失可用區域。

  • 設定運作狀態最低百分比為 100 的執行個體維護政策。使用此設定,Auto Scaling 會等待新的執行個體準備就緒,再終止運作狀態不佳的執行個體。

對於預先擴展的客戶,我們也建議使用下列項目:

  • 選取忽略運作狀態不佳做為受損可用區域的運作狀態檢查行為,因為您在受損事件期間不需要取代運作狀態不佳的執行個體。

  • 將 ARC 中的區域自動轉移用於 Auto Scaling 群組。ARC 中的區域自動轉移功能允許 在 AWS 偵測到可用區域中的損害時,將資源的流量 AWS 移離可用區域。如需詳細資訊,請參閱《Amazon Application Recovery Controller (ARC) 開發人員指南》中的 ARC 中的區域自動轉移

對於具有跨區域停用負載平衡器的客戶,我們也建議使用下列項目:

  • 僅對您的可用區域分佈使用平衡

  • 如果您在 Auto Scaling 群組和負載平衡器上使用區域轉移,請先取消 Auto Scaling 群組上的區域轉移。然後,等待容量在所有可用區域之間取得平衡,再取消負載平衡器上的區域轉移。

  • 由於啟用區域轉移並使用跨區域停用的負載平衡器時,容量可能會不平衡,因此 Auto Scaling 包含額外的驗證步驟。如果您遵循最佳實務,您可以選取 AWS Management Console 核取方塊或使用 CreateAutoScalingGroup、 或 中的 skip-zonal-shift-validation旗標UpdateAutoScalingGroup來確認此可能性AttachTrafficSources

如需搭配 Auto Scaling 群組使用區域轉移的詳細資訊,請參閱搭配 Amazon EC2 Auto Scaling 使用區域轉移的 AWS 運算部落格。