

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

# Auto Scaling 群組區域轉移
<a name="ec2-auto-scaling-zonal-shift"></a>

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

## Auto Scaling 群組區域轉移概念
<a name="asg-zonal-shift-concepts"></a>

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

**ARC 區域轉移**  
當您啟用此功能時，Auto Scaling 可以向 ARC 區域轉移註冊 Auto Scaling 群組。註冊後，您可以使用 [ARC `ListManagedResources`](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_ListManagedResources.html) API 檢視資源。如需詳細資訊，請參閱《*Amazon Application Recovery Controller (ARC) 開發人員指南*》中的 [ARC 中的區域轉移](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.html)。

**可用區域重新平衡**  
Auto Scaling 會嘗試在每個可用區域中保持容量平衡。當可用區域之間發生不平衡時，Auto Scaling 會自動嘗試修正不平衡。如需詳細資訊，請參閱[執行個體分佈](auto-scaling-benefits.md#AutoScalingBehavior.Rebalancing)。

**動態擴展**  
動態擴展會根據您使用擴展政策選擇的指標，擴展 Auto Scaling 群組所需的容量。如需詳細資訊，請參閱[Amazon EC2 Auto Scaling 動態擴展](as-scale-based-on-demand.md)。

**運作狀態檢查**  
Auto Scaling 會定期檢查 Auto Scaling 群組內所有執行個體的運作狀態，以確保它們正在執行且狀態良好。偵測到運作狀態不佳的執行個體時，Auto Scaling 會將其標記為取代。如需詳細資訊，請參閱[Auto Scaling 群組中的執行個體運作狀態檢查](ec2-auto-scaling-health-checks.md)。

**執行個體重新整理**  
您可以使用執行個體重新整理來更新 Auto Scaling 群組中的執行個體。啟動執行個體重新整理後，Auto Scaling 會嘗試取代 Auto Scaling 群組中的所有執行個體。如需詳細資訊，請參閱[使用執行個體重新整理來更新 Auto Scaling 群組中的執行個體](asg-instance-refresh.md)。

**預先擴展**  
您可以容忍單一可用區域的遺失，因為您在應用程式的剩餘可用區域中有足夠的容量。

**向外擴展**  
當您增加 Auto Scaling 群組的所需容量時，Auto Scaling 會嘗試啟動其他執行個體以符合新的所需容量。根據預設，Auto Scaling 會以平衡的方式啟動執行個體，以維持 Auto Scaling 群組中每個已啟用可用區域的相同容量。

## Auto Scaling 群組的區域轉移運作方式
<a name="asg-zonal-shift-how-it-works"></a>

假設您有一個具有下列可用區域的 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-1a`、 `us-east-1b`和 ) 中，會取代運作狀態不佳的執行個體`us-east-1c`。 | 
| 忽略運作狀態不佳 | 在 `us-east-1b`和 中，會取代看起來運作狀態不佳的執行個體`us-east-1c`。執行個體不會在可用區域中取代為作用中區域轉移 (`us-east-1a`)。 | 

## 使用區域轉移的最佳實務
<a name="asg-zonal-shift-best-practices"></a>

若要在使用區域轉移時維持應用程式的高可用性，我們建議下列最佳實務：
+ 監控 EventBridge 通知，以判斷何時發生持續的可用區域受損事件。如需詳細資訊，請參閱[使用 EventBridge 處理 Auto Scaling 事件](automating-ec2-auto-scaling-with-eventbridge.md)。
+ 使用具有適當閾值的擴展政策，以確保您有足夠的容量來容忍遺失可用區域。
+ 設定運作狀態最低百分比為 100 的執行個體維護政策。使用此設定，Auto Scaling 會等待新的執行個體準備就緒，再終止運作狀態不佳的執行個體。

對於預先擴展的客戶，我們也建議執行下列動作：
+ 選取**忽略運作狀態不佳**做為受損可用區域的運作狀態檢查行為，因為您在受損事件期間不需要取代運作狀態不佳的執行個體。
+ 在 ARC 中為您的 Auto Scaling 群組使用區域自動轉移。ARC 中的區域自動轉移功能允許 在 AWS 偵測到可用區域中的損害時，將資源的流量 AWS 移離可用區域。如需詳細資訊，請參閱《*Amazon Application Recovery Controller (ARC) 開發人員指南*》中的 [ARC 中的區域自動轉移](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.html)。

對於具有跨區域停用負載平衡器的客戶，我們也建議執行下列動作：
+ **僅對您的可用區域分佈使用平衡**。
+ 如果您在 Auto Scaling 群組和負載平衡器上使用區域轉移，請先取消 Auto Scaling 群組上的區域轉移。然後，在取消負載平衡器上的區域轉移之前，等待容量在所有可用區域之間平衡。
+ 由於啟用區域轉移並使用跨區域停用的負載平衡器時，容量可能會不平衡，因此 Auto Scaling 包含額外的驗證步驟。如果您遵循最佳實務，您可以透過選取 AWS 管理主控台 核取方塊或使用 `CreateAutoScalingGroup`、 或 `UpdateAutoScalingGroup`中的 `skip-zonal-shift-validation`旗標來確認此可能性`AttachTrafficSources`。

如需搭配 Auto Scaling 群組使用區域轉移的詳細資訊，請參閱[搭配 Amazon EC2 Auto Scaling 使用區域轉移](https://aws.amazon.com/blogs/compute/using-zonal-shift-with-amazon-ec2-auto-scaling/) AWS 的運算部落格。