

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

# ARC 中的區域轉移
<a name="arc-zonal-shift"></a>

Amazon Application Recovery Controller (ARC) *區域轉移*可讓您將支援資源的流量從 中受損的可用區域 (AZ) 轉移到相同區域中 AWS 區域 運作狀態良好的 AZs。將資源的流量移離受損的可用區，可縮短停電或可用區中的硬體或軟體問題所造成的影響持續時間和嚴重性，並有助於減輕問題並快速復原應用程式。舉例來說，由於部署不良導致延遲問題或可用區域受損，您可選擇轉移流量。

您必須選擇加入資源，才能使用區域轉移。如需詳細資訊，請參閱 [支援的資源](arc-zonal-shift.resource-types.md)。

在開始區域轉移之前，您必須預先調整應用程式的比例，並確保您有足夠的容量將流量移離可用區域。在預先擴展之後，您可以選擇要轉移的可用區域，以及要轉移流量的資源，然後啟動區域轉移。您可以隨時取消轉移，讓流量開始返回原始可用區域。如需詳細資訊，請參閱[ARC 中的區域轉移最佳實務](route53-arc-best-practices.zonal-shifts.md) 

所有區域轉移均為臨時緩解措施。開始進行區域轉移時，您可以設定初始到期時間，從一分鐘到三天 (72 小時)，如果需要繼續轉移流量，則可以延長時間。

在特定情況下，區域轉移不會將流量移離 AZ。如需詳細資訊，請參閱[支援的資源](arc-zonal-shift.resource-types.md)。

# 區域轉移的運作方式
<a name="arc-zonal-shift.how-it-works"></a>

當您為支援的資源啟動區域轉移時，資源的流量會移離您指定的可用區域 (AZ)。ARC 支援的資源提供將指定 AZ 標記為運作狀態不佳的整合，這會導致流量從受損的 AZ 轉移。

**流量開始轉移** - 當您在 ARC 中開始區域轉移時，可能不會看到流量立即移出可用區域。根據用戶端行為和連線重複使用，在可用區域中現有的進行中連線可能需要一小段時間才能完成。DNS 設定和包括現有連線的其他因素只需幾分鐘即可完成，但可能需要更長的時間。如需詳細資訊，請參閱[確保流量轉移快速完成](route53-arc-best-practices.zonal-shifts.md#arc-zonal-shift.existing-connections)。

**流量轉移結束** - 當區域轉移過期或取消時，ARC 會採取步驟來停止轉移流量，並反轉啟動流量轉移的程序。現在，復原的 AZ 會辨識為可供資源使用，而流量會繼續流入 AZ。

您必須在開始輪班時將所有區域輪班設定為過期。您最初可以將區域轉移設定為在最多三天 (72 小時） 內過期。不過，您可以隨時更新區域轉移以設定新的過期時間。如果您準備好將流量還原到可用區域，也可以在區域轉移過期之前取消。

**當流量不會轉移**時 - 在特定情況下，區域轉移不會將流量從可用區域轉移。例如，假設您在 AZs 中的負載平衡器目標群組沒有任何執行個體，或所有執行個體運作狀態不佳時，啟動負載平衡器的區域轉移。在此案例中，負載平衡器處於故障開啟狀態，啟動區域轉移不會轉移流量。

在您開始資源的區域轉移之前，請確定符合成功區域轉移的所有條件。 AWS 資源會以不同的方式處理區域轉移。如需區域轉移支援的詳細資訊，請參閱 [支援的資源](arc-zonal-shift.resource-types.md)。

# AWS 區域 區域轉移的可用性
<a name="introduction-regions-zonal"></a>

如需 Amazon Application Recovery Controller (ARC) 的區域支援和服務端點的詳細資訊，請參閱《[Amazon Web Services 一般參考》中的 Amazon Application Recovery Controller (ARC) 端點和配額](https://docs.aws.amazon.com/general/latest/gr/r53arc.html)。 **

此處 AWS 區域 列出的 目前提供區域轉移和區域自動轉移。中國區域也提供區域轉移和區域自動轉移，也就是中國 （北京） 區域和中國 （寧夏） 區域。使用 Amazon Application Recovery Controller (ARC) 的資源可能會有其他考量。如需詳細資訊，請參閱 [支援的資源](arc-zonal-shift.resource-types.md)。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/r53recovery/latest/dg/introduction-regions-zonal.html)

# 區域轉移元件
<a name="introduction-components-zonal"></a>

下圖說明區域轉移轉移流量從 中的可用區域轉移的範例 AWS 區域。當資源已有作用中的輪班時，在區域輪班中內建的檢查會阻止您啟動資源的另一個區域輪班。

![\[具有三個可用區域的區域轉移圖表\]](http://docs.aws.amazon.com/zh_tw/r53recovery/latest/dg/images/ZonalShiftDiagramRev2023.png)


以下是 ARC 中區域轉移功能的元件。

**區域轉移**  
您為 AWS 帳戶中的受管資源開始區域轉移，以暫時將流量從 中的可用區域移出 AWS 區域，轉移到區域中運作狀態良好的AZs，以從一個可用區域中的問題快速復原。如需區域轉移支援資源的詳細資訊，請參閱 [支援的資源](arc-zonal-shift.resource-types.md)。

**內建安全檢查**  
內建於 ARC 的檢查可防止資源一次發生多個流量轉移。也就是說，只有一個客戶起始的區域轉移、實務執行或資源的自動轉移可以主動將流量移離可用區域。例如，如果您在資源目前以自動轉移轉移時啟動該資源的區域轉移，則您的區域轉移優先。如需詳細資訊，請參閱 [ARC 中的區域自動轉移](arc-zonal-autoshift.md)和 [練習執行的結果](arc-zonal-autoshift.how-it-works.precedence.md#ZAShiftPrecedence)。

**資源識別符**  
要在區域轉移中包含的資源識別符。識別符是資源的 Amazon Resource Name (ARN)。  
對於區域轉移，您只能為 ARC 支援 AWS 的服務選擇帳戶中的資源。如需區域轉移支援資源的詳細資訊，請參閱 [支援的資源](arc-zonal-shift.resource-types.md)。

**受管資源**  
有些 AWS 資源必須手動選擇加入區域轉移，其他資源會自動啟用。如需區域轉移支援資源的詳細資訊，請參閱 [支援的資源](arc-zonal-shift.resource-types.md)。

**資源名稱**  
您可以在 ARC 中為區域轉移指定的資源名稱。

**狀態 （區域轉移狀態）**  
區域轉移的狀態。區域轉移`Status`的 可以有下列其中一個值：  
+ **ACTIVE**：區域轉移已啟動並處於作用中狀態。
+ **過期**：區域轉移已過期 （超過到期時間）。
+ **已取消**：區域轉移已取消。

**套用狀態**  
套用的狀態指出資源的輪班是否有效。狀態為 的轉移會`APPLIED`決定資源的應用程式流量已轉移的可用區域，以及該轉移何時結束。

**輪班類型**  
定義區域轉移類型。`shiftType` 可以有下列值：  
+ **ZONAL\$1SHIFT**
+ **ZONAL\$1AUTOSHIFT**
+ **PRACTICE\$1RUN**
+ **FIS\$1EXPERIMENT**

**到期時間 （到期時間）**  
區域輪班的到期時間 （到期時間）。區域轉移是暫時性的。對於區域轉移，您可以最初將區域轉移設定為作用中長達三天 (72 小時）。  
當您開始區域轉移時，您可以指定要它處於作用中狀態的時間長度，ARC 會轉換為到期時間 （到期時間）。例如，如果您準備好將流量還原到可用區域，您可以取消區域轉移。或者，您可以更新客戶起始的區域轉移，以指定另一個過期時間長度，以延長該區域轉移。  
您可以取消屬於區域自動轉移一部分的區域轉移實務執行。

# 區域轉移的資料和控制平面
<a name="data-and-control-planes-zonal-shift"></a>

當您規劃容錯移轉和災難復原時，請考慮容錯移轉機制的彈性。我們建議您確保在容錯移轉期間依賴的機制具有高度可用性，以便在災難情況下需要它們時使用。一般而言，您應該盡可能為您的機制使用資料平面函數，以獲得最大的可靠性和容錯能力。考慮到這一點，了解服務的功能如何在控制平面和資料平面之間分割，以及何時可以使用服務的資料平面依賴極端可靠性。

與大多數 AWS 服務一樣，控制平面和資料平面支援區域轉移功能的功能。雖然這兩者都建置為可靠，但控制平面會針對資料一致性進行最佳化，而資料平面則會針對可用性進行最佳化。資料平面專為彈性而設計，因此即使在破壞性事件期間，當控制平面可能無法使用時，也能維持可用性。

一般而言，*控制平面*可讓您執行基本管理功能，例如建立、更新和刪除服務中的資源。*資料平面*提供服務的核心功能。

如需資料平面、控制平面以及 如何 AWS 建置服務以滿足高可用性目標的詳細資訊，請參閱《Amazon Builders' Library[》中的使用可用區域的靜態穩定性白皮書](https://aws.amazon.com/builders-library/static-stability-using-availability-zones/)。

# ARC 中區域轉移的定價
<a name="introduction-pricing-zonal-shift"></a>

對於區域轉移，您可以為支援的資源啟動區域轉移，從可用區域中的問題中復原應用程式。使用區域轉移不收取額外費用。

如需 ARC 和定價範例的詳細定價資訊，請參閱 [ARC 定價](https://aws.amazon.com/application-recovery-controller/pricing/)。

# ARC 中的區域轉移最佳實務
<a name="route53-arc-best-practices.zonal-shifts"></a>

我們建議在 ARC 中使用區域轉移進行多可用區域復原的下列最佳實務。

**主題**
+ [容量規劃和預先擴展](#ZSBestPracticeCapacityPrescaling)
+ [限制用戶端保持連線至端點的時間](#arc-zonal-shift.existing-connections)
+ [事先測試開始區域轉移](#ZSBestPracticeTestShifting)
+ [確保所有可用區域都正常運作並取得流量](#ZSBestPracticeEnsureHealthyAZs)
+ [使用資料平面 API 操作進行災難復原](#ZSBestPracticeUseDataPlane)
+ [僅暫時移動具有區域轉移的流量](#ZSBestPracticeMoveTrafficTemp)

**容量規劃和預先擴展**  
確定您已規劃 ，且已預先擴展或 可以自動擴展足夠的容量，以因應啟動區域轉移時對可用區域施加的額外負載。使用復原導向架構時，典型的建議是預先擴展運算容量，以在其中一個 （通常） 三個複本離線時，包含足夠的總空間來為您的尖峰流量提供服務。  
當您為支援的資源啟動區域轉移，且流量從可用區域轉移時，您的應用程式用來服務請求的容量會移除。您必須確定已規劃從可用區域轉移流量，並且可以繼續在其餘AZs服務請求。

**限制用戶端保持連線至端點的時間**  
當 Amazon Application Recovery Controller (ARC) 將流量移離損害時，例如使用區域轉移或區域自動轉移，ARC 用來移動應用程式流量的機制是 DNS 更新。DNS 更新會導致所有新連線被導向至受損的位置。  
不過，具有預先存在開放連線的用戶端可能會繼續對受損位置提出請求，直到用戶端重新連線為止。為了確保快速復原，建議您限制用戶端保持連線至端點的時間。

**事先測試開始區域轉移**  
透過啟動區域轉移，定期測試從應用程式的可用區域移出的流量。規劃並執行啟動區域轉移，最好是在測試和生產環境中，作為在發生災難時復原應用程式之定期容錯移轉測試的一部分。定期測試是確保您已準備好並有信心在發生操作事件時緩解問題的關鍵部分。

**確保所有可用區域都正常運作並取得流量**  
區域轉移的運作方式是將資源標記為在可用區域中運作狀態不佳的應用程式複本。這表示請務必確保應用程式中的資源整體狀況良好，並主動在區域中的可用區域中接收流量。我們建議您使用儀表板來追蹤此狀況，例如，針對運作狀態不佳的目標和位元組的 Elastic Load Balancing 指標每個可用區域處理。 bytesProcessed   
請考慮從第二個相鄰區域監控資源的運作狀態。這種方法的優點是它可以更代表您的最終使用者體驗，也可以降低應用程式和監控同時受到相同災難影響的風險。

**使用資料平面 API 操作進行災難復原**  
若要在需要快速復原應用程式時啟動區域轉移，只要相依性極少，我們建議您使用 AWS Command Line Interface 或 API 搭配區域轉移動作，並盡可能使用預先存放的登入資料。您也可以在 中開始區域轉移 AWS 管理主控台，以方便使用。但是，當快速、可靠的復原至關重要時，資料平面操作是更好的選擇。如需詳細資訊，請參閱[區域轉移 API 參考指南](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)。

**僅暫時移動具有區域轉移的流量**  
區域轉移會暫時將流量移離可用區域，以減輕損害。您應該在採取動作修正問題後，立即將應用程式的資源還原至服務。這可確保您的整體應用程式還原至其原始完全備援、彈性狀態。

# 區域轉移 API 操作
<a name="actions.zonalshift"></a>

下表列出您可以使用區域轉移的 ARC API 操作，這會將流量移離多可用區域應用程式的可用區域。資料表中還包含相關文件的連結。

如需如何搭配 使用常用區域轉移 API 操作的範例 AWS Command Line Interface，請參閱 [AWS CLI 搭配區域轉移使用 的範例](getting-started-cli-zonalshift.md)。


| Action | 使用 ARC 主控台 | 使用 ARC API | 
| --- | --- | --- | 
| 開始區域轉移 | 請參閱 [啟動區域轉移](arc-zonal-shift.start-cancel.md#arc-zonal-shift.start) | 請參閱 [StartZonalShift](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_StartZonalShift.html) | 
| 更新區域轉移 | 請參閱 [更新或取消區域轉移](arc-zonal-shift.start-cancel.md#arc-zonal-shift.update-cancel) | 請參閱 [UpdateZonalShift](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_UpdateZonalShift.html) | 
| 列出區域轉移 | 請參閱 [ARC 中的區域轉移](arc-zonal-shift.md) | 請參閱 [ListZonalShifts](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_ListZonalShifts.html) | 
| 列出受管資源 | 請參閱 [支援的資源](arc-zonal-shift.resource-types.md) | 請參閱 [ListManagedResources](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_ListManagedResources.html) | 
| 取得受管資源 | 請參閱 [支援的資源](arc-zonal-shift.resource-types.md) | 請參閱 [GetManagedResource](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_GetManagedResource.html) | 
| 取消區域轉移 | 請參閱 [更新或取消區域轉移](arc-zonal-shift.start-cancel.md#arc-zonal-shift.update-cancel) | 請參閱 [CancelZonalShift](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_CancelZonalShift.html) | 

# AWS CLI 搭配區域轉移使用 的範例
<a name="getting-started-cli-zonalshift"></a>

本節提供使用區域轉移的應用程式範例，使用 AWS Command Line Interface 使用 API 操作在 Amazon Application Recovery Controller (ARC) 中使用區域轉移功能。這些範例旨在協助您了解如何使用 CLI 處理區域轉移。

ARC 中的區域轉移可讓您暫時將支援資源的流量移離可用區域，讓您的應用程式可以繼續與 中的其他可用區域正常運作 AWS 區域。

所有區域轉移都是暫時的，且最初必須設定為在三天內過期。不過，您可以稍後更新區域轉移來設定新的過期時間。

如需使用 的詳細資訊 AWS CLI，請參閱 [AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/arc-zonal-shift/index.html)。如需區域轉移 API 動作和詳細資訊連結的清單，請參閱 [區域轉移 API 操作](actions.zonalshift.md)。

## 開始區域轉移
<a name="getting-started-cli-zonalshift.start-zonal-shift"></a>

您可以使用 `start-zonal-shift`命令，透過 CLI 啟動區域轉移。

```
aws arc-zonal-shift start-zonal-shift \
       --resource-identifier arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05 \
       --away-from use1-az1 \
       --expires-in 10m \
       --comment "Shifting traffic away from use1-az1"
```

```
{
    "awayFrom": "use1-az1",
    "comment": "Shifting traffic away from use1-az1",
    "expiryTime": "2024-12-17T21:37:26-08:00",
    "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
    "startTime": "2024-12-17T21:27:26-08:00",
    "status": "ACTIVE",
    "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
}
```

## 取得受管資源
<a name="getting-started-cli-zonalshift.get-managed-resource"></a>

您可以使用 `get-managed-resource`命令，透過 CLI 取得受管資源的相關資訊。

```
aws arc-zonal-shift get-managed-resource \
       --resource-identifier arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05
```

```
{
    "appliedWeights": {
        "use1-az1": 0.0,
        "use1-az2": 1.0,
        "use1-az6": 1.0
    },
    "arn": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
    "autoshifts": [],
    "name": "Testing",
    "zonalAutoshiftStatus": "DISABLED",
    "zonalShifts": [
        {
            "appliedStatus": "APPLIED",
            "awayFrom": "use1-az1",
            "comment": "Shifting traffic away from use1-az1",
            "expiryTime": "2024-12-17T21:37:26-08:00",
            "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
            "startTime": "2024-12-17T21:27:26-08:00",
            "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
            "shiftType": "MANUAL"
        }
    ]
}
```

## 列出受管資源
<a name="getting-started-cli-zonalshift.list-managed-resource"></a>

您可以使用 `list-managed-resources`命令，透過 CLI 列出帳戶中的受管資源。

```
aws arc-zonal-shift list-managed-resources 
```

```
{
    "items": [
        {
            "appliedWeights": {
                "use1-az1": 0.0,
                "use1-az2": 1.0,
                "use1-az6": 1.0
            },
            "arn": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
            "autoshifts": [],
            "availabilityZones": [
                "use1-az1",
                "use1-az2",
                "use1-az6"
            ],
            "name": "Testing",
            "practiceRunStatus": "DISABLED",
            "zonalAutoshiftStatus": "DISABLED",
            "zonalShifts": [
                {
                    "appliedStatus": "APPLIED",
                    "awayFrom": "use1-az1",
                    "comment": "Shifting traffic away from use1-az1",
                    "expiryTime": "2024-12-17T21:37:26-08:00",
                    "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
                    "startTime": "2024-12-17T21:27:26-08:00",
                    "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
                }
            ]
        }
    ]
}
```

## 列出區域轉移
<a name="getting-started-cli-zonalshift.list-zonal-shifts"></a>

您可以使用 `list-zonal-shifts`命令，透過 CLI 列出帳戶中的區域轉移。

```
aws arc-zonal-shift list-zonal-shifts 
```

```
{
    "items": [
        {
            "awayFrom": "use1-az1",
            "comment": "Shifting traffic away from use1-az1",
            "expiryTime": "2024-12-17T21:37:26-08:00",
            "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
            "startTime": "2024-12-17T21:27:26-08:00",
            "status": "ACTIVE",
            "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
        }
    ]
}
```

## 更新區域轉移
<a name="getting-started-cli-zonalshift.update-zonal-shift"></a>

您可以使用 `update-zonal-shift`命令，透過 CLI 更新區域轉移。

```
aws arc-zonal-shift update-zonal-shift \  
       --zonal-shift-id 9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38 \
       --expires-in 1h \
       --comment "Still shifting traffic away from use1-az1"
```

```
{
    "awayFrom": "use1-az1",
    "comment": "Still shifting traffic away from use1-az1",
    "expiryTime": "2024-12-17T22:29:38-08:00",
    "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
    "startTime": "2024-12-17T21:27:26-08:00",
    "status": "ACTIVE",
    "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
}
```

## 取消區域轉移
<a name="getting-started-cli-zonalshift.cancel-zonal-shift"></a>

您可以使用 `cancel-zonal-shift`命令，透過 CLI 取消區域轉移。

```
aws arc-zonal-shift cancel-zonal-shift \
       --zonal-shift-id 9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38
```

```
{
    "awayFrom": "use1-az1",
    "comment": "Still shifting traffic away from use1-az1",
    "expiryTime": "2024-12-17T22:29:38-08:00",
    "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
    "startTime": "2024-12-17T21:27:26-08:00",
    "status": "CANCELED",
    "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
}
```

# 支援的資源
<a name="arc-zonal-shift.resource-types"></a>

Amazon Application Recovery Controller (ARC) 目前支援為區域轉移和區域自動轉移啟用下列資源：
+ [Amazon EC2 Auto Scaling 群組](arc-zonal-shift.resource-types.ec2-auto-scaling-groups.md)
+ [Amazon Elastic Kubernetes Service](arc-zonal-shift.resource-types.eks.md)
+ [Application Load Balancer](arc-zonal-shift.resource-types.app-load-balancers.md) 啟用或停用跨區域負載平衡
+ [Network Load Balancer](arc-zonal-shift.resource-types.network-load-balancers.md) 啟用或停用跨區域負載平衡

如需 Network Load Balancer 和 Application Load Balancer 的特定需求，請參閱本節中的其他主題。

檢閱下列在 ARC 中使用區域轉移、區域自動轉移和資源的條件：
+ 資源必須處於作用中狀態並完全佈建，才能轉移其流量。在您開始資源的區域轉移之前，請檢查以確定它是 ARC 中的受管資源。例如，在 中檢視受管資源的清單 AWS 管理主控台，或使用`get-managed-resource`具有資源識別符的操作。
+ 若要使用資源啟動區域轉移，必須部署在可用區域以及您 AWS 區域 開始轉移的位置。請確定您在要轉移的 AZ 所在的相同區域中啟動區域轉移，而且您要轉移流量的資源也位於相同的 AZ 和區域。
+ 確保您擁有正確的 IAM 許可，以搭配 資源使用區域轉移。如需詳細資訊，請參閱[區域轉移的 IAM 和許可](security_iam_service-with-iam-zonal-shift.md)。
+ 當 Network Load Balancer 或 Application Load Balancer 處於故障開啟狀態時，區域轉移將不會生效。這是預期的行為，因為區域轉移無法強制 AZ 運作狀態不良，然後在負載平衡器故障開啟時，將流量轉移到區域中的其他 AZs。如需詳細資訊，請參閱 *Network Load Balancer* [使用者指南中的針對負載平衡器使用 Route 53 DNS 容錯移轉](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/load-balancer-target-groups.html#r53-dns-failover)，以及 ** [Application Load Balancer 使用者指南中的針對負載平衡器使用 Route 53 DNS 容錯移轉](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/load-balancer-target-groups.html#r53-dns-failover)。
+ 如果多個負載平衡器將流量轉送到相同的目標，則啟用跨區域負載平衡器的區域轉移會降低所有負載平衡器的目標容量，即使其流量不是因區域轉移而轉移。

# Amazon EC2 Auto Scaling 群組
<a name="arc-zonal-shift.resource-types.ec2-auto-scaling-groups"></a>

Amazon EC2 Auto Scaling 群組包含一組 Amazon EC2 執行個體，這些執行個體被視為邏輯分組，用於自動擴展和管理。Auto Scaling 群組也讓您可以使用 Amazon EC2 Auto Scaling 功能，例如運作狀態檢查替換和擴展政策。維持 Auto Scaling 群組中的執行個體數量和自動擴展都是 Amazon EC2 Auto Scaling 服務的核心功能。

## 對 Auto Scaling 群組使用區域轉移
<a name="using-asg-zs"></a>

若要啟用區域轉移，請使用下列其中一種方法。

------
#### [ Console ]

**在新群組上啟用區域轉移 （主控台）**

1. 遵循[使用啟動範本建立 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template)中的指示，並完成程序中的每個步驟，直到步驟 10。

1. 在**與其他 服務整合**頁面上，針對 **ARC 區域轉移**，選取核取方塊以啟用區域轉移。

1. 針對**運作狀態檢查行為**，選擇忽略運作狀態不佳或取代運作狀態不佳。如果設定為 `replace-unhealthy`，運作狀態不佳的執行個體將在可用區域中以作用中區域轉移取代。如果設為 `ignore-unhealthy`，則運作狀態不佳的執行個體不會在可用區域中以作用中區域轉移取代。

1. 繼續執行[使用啟動範本建立 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template)中的步驟。

------
#### [ AWS CLI ]

**在新群組上啟用區域轉移 (AWS CLI)**  
將 `--availability-zone-impairment-policy` 參數新增至 [create-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/create-auto-scaling-group.html) 命令。

`--availability-zone-impairment-policy` 參數有兩個選項：
+ **ZonalShiftEnabled** – 如果設定為 `true`，Auto Scaling 會使用 ARC 區域轉移註冊 Auto Scaling 群組，您可以在 ARC 主控台上[啟動、更新或取消區域轉移](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.start-cancel.html)。如果設定為 `false`，Auto Scaling 會從 ARC 區域轉移取消註冊 Auto Scaling 群組。您必須已啟用區域轉移，才能將 設定為 `false`。
+ **ImpairedZoneHealthCheckBehavior** – 如果設定為 `replace-unhealthy`，運作狀態不佳的執行個體將在可用區域中取代為作用中區域轉移。如果設為 `ignore-unhealthy`，則運作狀態不佳的執行個體不會在可用區域中以作用中區域轉移取代。

下列範例會在名為 的新 Auto Scaling 群組上啟用區域轉移`my-asg`。

```
aws autoscaling create-auto-scaling-group \
  --launch-template LaunchTemplateName=my-launch-template,Version='1' \
  --auto-scaling-group-name my-asg \
  --min-size 1 \
  --max-size 10 \
  --desired-capacity 5 \
  --availability-zones us-east-1a us-east-1b us-east-1c \
  --availability-zone-impairment-policy '{
      "ZonalShiftEnabled": true,
      "ImpairedZoneHealthCheckBehavior": IgnoreUnhealthy       
    }'
```

------

------
#### [ Console ]

**在現有群組上啟用區域轉移 （主控台）**

1. 前往網址 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台，然後從導覽窗格中選擇 **Auto Scaling 群組**。

1. 在畫面頂端的導覽列上，選擇您在其中建立 Auto Scaling 群組 AWS 區域 的 。

1. 選取 Auto Scaling 群組旁的核取方塊。

   頁面底部會開啟一個分割窗格。

1. 在**整合**索引標籤的 **ARC 區域轉移**下，選擇**編輯**。

1. 選取核取方塊以啟用區域轉移。

1. 針對**運作狀態檢查行為**，選擇**忽略運作狀態不佳**或**取代運作狀態不佳**。
   + 如果運作狀態檢查行為設定為忽略運作狀態不佳，則運作狀態不佳的執行個體*不會*在可用區域中以作用中區域轉移取代。
   + 如果運作狀態檢查行為設定為取代運作狀態不佳，則運作狀態不佳的執行個體會在可用區域中以作用中區域轉移取代。

1. 選擇**更新**。

------
#### [ AWS CLI ]

**在現有群組上啟用區域轉移 (AWS CLI)**  
將 `--availability-zone-impairment-policy` 參數新增至 [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html) 命令。

`--availability-zone-impairment-policy` 參數有兩個選項：
+ **ZonalShiftEnabled** – 如果設定為 `TRUE`，Auto Scaling 會使用 ARC 區域轉移註冊 Auto Scaling 群組，您可以在 ARC 主控台上[啟動、更新或取消區域轉移](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.start-cancel.html)。如果設定為 `FALSE`，Auto Scaling 會從 ARC 區域轉移取消註冊 Auto Scaling 群組。您必須已啟用區域轉移，才能將其設定為 `FALSE`。
+ **ImpairedZoneHealthCheckBehavior** – 如果設定為 `replace-unhealthy`，運作狀態不佳的執行個體將在可用區域中取代為作用中區域轉移。如果設為 `ignore-unhealthy`，則運作狀態不佳的執行個體將不會在可用區域中以作用中區域轉移取代。

下列範例會在指定的 Auto Scaling 群組上啟用區域轉移。

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \
  --availability-zone-impairment-policy '{
      "ZonalShiftEnabled": true,
      "ImpairedZoneHealthCheckBehavior": IgnoreUnhealthy       
    }'
```

------

若要啟動區域轉移，請參閱 [啟動、更新或取消區域轉移](arc-zonal-shift.start-cancel.md)。

## Auto Scaling 群組的區域轉移運作方式
<a name="how-it-works-asg-zs"></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 會對作用中區域轉移期間延遲的任何執行個體重新整理程序延長逾時。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/r53recovery/latest/dg/arc-zonal-shift.resource-types.ec2-auto-scaling-groups.html)

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

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

對於預先擴展的客戶，我們也建議使用下列項目：
+ 選取**忽略運作狀態不佳**做為受損可用區域的運作狀態檢查行為，因為您在受損事件期間不需要取代運作狀態不佳的執行個體。
+ 在 Auto Scaling 群組的 ARC 中使用區域自動轉移。中的區域自動轉移功能 Amazon 應用程式復原控制器 (ARC) 可讓 在 AWS 偵測到可用區域中的受損時， AWS 將資源的流量移離可用區域。如需詳細資訊，請參閱[ARC 中的區域自動轉移](arc-zonal-autoshift.md)。

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

# Amazon Elastic Kubernetes Service
<a name="arc-zonal-shift.resource-types.eks"></a>

Amazon EKS 提供的功能可讓您讓應用程式對運作狀態降低或可用區域受損等事件更具彈性。當您在 Amazon EKS 叢集中執行工作負載時，您可以使用區域轉移或區域自動轉移，進一步改善應用程式環境的容錯能力和應用程式復原能力。

## 搭配 Amazon Elastic Kubernetes Service 使用區域轉移
<a name="using-eks-zs"></a>

若要啟用區域轉移，請使用下列其中一種方法。如需詳細資訊，請參閱《*Amazon Elastic Kubernetes Service 使用者指南*》中的[了解 ARC 區域轉移](https://docs.aws.amazon.com//eks/latest/userguide/zone-shift-enable.html#zone-shift-enable-steps)。

------
#### [ Console ]

**在新的 Amazon EKS 叢集上啟用區域轉移 （主控台）**

1. 尋找您要向 ARC 註冊的 Amazon EKS 叢集名稱和區域。

1. 在 [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters) 開啟 Amazon EKS 主控台。

1. 選取您的叢集。

1. 在**叢集資訊**頁面上，選取**概觀**索引標籤。

1. 在**區域轉移**下，選擇**管理**。

1. 針對 **EKS 區域轉移**，選擇**啟用或停用******。

------
#### [ AWS CLI ]

**在新的 Amazon EKS 叢集上啟用區域轉移 (AWS CLI)**
+ 輸入以下命令：

  ```
  aws eks create-cluster --name my-eks-cluster --role-arn my-role-arn-to-create-cluster --resources-vpc-config subnetIds=string,string,securityGroupIds=string,string,endpointPublicAccess=boolean,endpointPrivateAccess=boolean,publicAccessCidrs=string,string --zonal-shift-config enabled=true
  ```

**在現有的 Amazon EKS 叢集上啟用區域轉移 (AWS CLI)**
+ 輸入以下命令：

  ```
  aws eks update-cluster-config --name my-eks-cluster --zonal-shift-config enabled=true
  ```

------

您可以為 Amazon EKS 叢集啟動區域轉移，也可以透過啟用區域自動轉移 AWS 來允許 為您執行。使用 ARC 啟用 Amazon EKS 叢集區域轉移後，您可以使用 ARC AWS 主控台、CLI 或區域轉移和區域自動轉移 APIs 啟動區域轉移或啟用區域自動轉移。

如需啟動區域轉移的詳細資訊，請參閱 [啟動、更新或取消區域轉移](arc-zonal-shift.start-cancel.md)。

如需使用區域轉移啟用 Amazon EKS 的詳細資訊，請參閱《*Amazon Elastic Kubernetes Service 使用者指南*》中的[了解 Amazon EKS 中的 ARC 區域轉移](https://docs.aws.amazon.com//eks/latest/userguide/zone-shift.html)。

## Amazon Elastic Kubernetes Service 的區域轉移如何運作
<a name="how-it-works-eks-zs"></a>

在 Amazon EKS 區域轉移期間，會自動執行下列動作：
+ 封鎖受影響可用區域中的所有節點。這可防止 Kubernetes 排程器將新的 Pod 排程到運作狀態不佳 AZ 中的節點。
+ 如果您使用的是[受管節點群組](https://docs.aws.amazon.com//eks/latest/userguide/managed-node-groups.html)，[可用區域重新平衡](https://docs.aws.amazon.com//autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage)會暫停，而且 Auto Scaling 群組會更新，以確保新的 Amazon EKS 資料平面節點只會在運作狀態良好的AZs啟動。
+ 運作狀態不佳的 AZ 中的節點不會終止，也不會從這些節點移出 Pod。這是為了確保區域轉移過期或取消時，您的流量可以安全地返回仍有完整容量的 AZ。
+ EndpointSlice 控制器會在受損的 AZ 中找到所有 Pod 端點，並從相關的 EndpointSlices 中移除它們。此操作可確保僅鎖定運作狀態良好可用區域中的 Pod 端點，來接收網路流量。若區域轉移取消或到期，EndpointSlice 控制器將更新 EndpointSlices，以便在還原的可用區域中納入這些端點。

如需詳細資訊，請參閱[AWS 容器部落格](https://aws.amazon.com/blogs/containers/amazon-eks-now-supports-amazon-application-recovery-controller/)。

# Application Load Balancer
<a name="arc-zonal-shift.resource-types.app-load-balancers"></a>

## 使用 Application Load Balancer 的區域轉移
<a name="using-alb-zs"></a>

若要搭配區域轉移使用 Application Load Balancer，您必須在 Application Load Balancer 屬性中啟用 ARC 區域轉移整合。Application Load Balancer 支援跨區域啟用或跨區域停用組態的區域轉移。

啟用 ARC 整合並開始使用區域轉移之前，請檢閱下列資訊：
+ 您只能針對單一可用區域，啟動特定負載平衡器的區域轉移。您無法為多個可用區域啟動區域轉移。
+ AWS 當多個基礎設施問題影響 服務時， 會主動從 DNS 移除區域負載平衡器 IP 地址。在啟動區域轉移之前，請務必檢查目前的可用區域容量。
+ 區域轉移不適用於單一可用區域目標群組。
+ 當 Application Load Balancer 是 Network Load Balancer 的目標時，請務必從 Network Load Balancer 啟動區域轉移。如果您從 Application Load Balancer 啟動區域轉移，Network Load Balancer 將無法辨識轉移，並繼續將流量傳送至 Application Load Balancer。

您可以在 Elastic Load Balancing 主控台 （大部分為 AWS 區域) 或 ARC 主控台中啟動負載平衡器的區域轉移。

------
#### [ Console ]

**在負載平衡器上啟用區域轉移 （主控台）**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在**導覽**頁面的**負載平衡**下，選擇**負載平衡器**。

1. 選取 Application Load Balancer 名稱。

1. 在**屬性**索引標籤上，**編輯**。

1. 在**可用區域路由組態**下，針對 >ARC 區域轉移整合，選擇**啟用**。

1. 選擇**儲存**。

------
#### [ AWS CLI ]

**在負載平衡器上啟用區域轉移 (AWS CLI)**
+ 輸入以下命令：

  ```
  aws elbv2 modify-load-balancer-attributes --load-balancer-arn my-alb-arn --attributes Key=zonal_shift.config.enabled,Value=true
  ```

------

如需啟動區域轉移的詳細資訊，請參閱 [啟動、更新或取消區域轉移](arc-zonal-shift.start-cancel.md)。

您可以使用 `keepalive`選項來設定連線持續的時間長度。如需詳細資訊，請參閱《Application Load Balancer 使用者指南》中的 [ HTTP 用戶端保持連線持續時間](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#http-client-keep-alive-duration)。根據預設，Application Load Balancer 會將 HTTP 用戶端持續作用持續時間值設定為 3600 秒或 1 小時。我們建議您降低值，使其與應用程式的復原時間目標保持一致，例如 300 秒。當您選擇 HTTP 用戶端保持連線持續時間時，請考慮此值是在一般情況下更頻繁重新連線、可能影響延遲，以及更快速地將所有用戶端移離受損的 AZ 或區域之間的取捨。

## Application Load Balancer 的區域轉移如何運作
<a name="how-it-works-alb-zs"></a>

在啟用跨區域負載平衡的 Application Load Balancer 上啟動區域轉移時，所有目標的流量都會在受影響的可用區域中遭到封鎖，而區域轉移會從 DNS 中移除區域 IP 地址。

如需詳細資訊，請參閱《[Application Load Balancer 使用者指南](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/load-balancer-integrations.html#zonal-shift)*》中的 Application Load Balancer *整合。

# Network Load Balancer
<a name="arc-zonal-shift.resource-types.network-load-balancers"></a>

## 使用 Network Load Balancer 的區域轉移
<a name="using-nlb-zs"></a>

若要搭配區域轉移使用 Network Load Balancer，您必須在 Network Load Balancer 屬性中啟用 ARC 區域轉移整合。Network Load Balancer 支援跨區域啟用或跨區域停用組態的區域轉移。

您可以選擇加入哪些資源來使用區域轉移和區域自動轉移，以及何時想要從受損的可用區域失敗。支援面向網際網路和內部 Network Load Balancer。

若要為啟用跨區域 Network Load Balancer 啟用區域轉移，連接至負載平衡器的所有目標群組必須符合下列要求。
+ 必須啟用跨區域負載平衡，或將 設定為 `use_load_balancer_configuration`。
  + 如需目標群組跨區域負載平衡的詳細資訊，請參閱[目標群組的跨區域負載平衡](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/edit-target-group-attributes.html#target-group-cross-zone)。
+ 目標群組通訊協定必須是 TCP 或 TLS。
  + 如需 Network Load Balancer 目標群組通訊協定的詳細資訊，請參閱[路由組態](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-routing-configuration)。
+ 必須停用運作狀態不佳目標的連線終止。
  + 如需目標群組連線終止的詳細資訊，請參閱[運作狀態不佳目標的連線終止](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/edit-target-group-attributes.html#unhealthy-target-connection-termination)。
+ 目標群組不得有任何 Application Load Balancer 做為目標。
  + 如需 Application Load Balancer 做為目標的詳細資訊，請參閱[使用 Application Load Balancer 做為 Network Load Balancer 的目標](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/application-load-balancer-target.html)。

您可以使用 AWS CLI AWS 管理主控台、 或 Elastic Load Balancing 小工具，啟動 Network Load Balancer 的區域轉移。當 Application Load Balancer 是 Network Load Balancer 的目標時，您必須從 Network Load Balancer 開始區域轉移。如果您從 Application Load Balancer 開始區域轉移，Network Load Balancer 不會停止將流量傳送至 Application Load Balancer 及其目標。

------
#### [ Console ]

**在負載平衡器上啟用區域轉移 （主控台）**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在**導覽**頁面的**負載平衡**下，選擇**負載平衡器**。

1. 選取 Network Load Balancer 名稱。

1. 在**屬性**索引標籤中，選擇**編輯**。

1. 在**可用區域路由組態**下，針對 **ARC 區域轉移整合**，選擇**啟用**。

1. 選擇**儲存**。

------
#### [ AWS CLI ]

**在負載平衡器上啟用區域轉移 (AWS CLI)**
+ 輸入以下命令：

  ```
  aws elbv2 modify-load-balancer-attributes --load-balancer-arn my-nlb-arn --attributes Key=zonal_shift.config.enabled,Value=true
  ```

------

如需啟動區域轉移的詳細資訊，請參閱 [啟動、更新或取消區域轉移](arc-zonal-shift.start-cancel.md)。

## Network Load Balancer 的區域轉移運作方式
<a name="howt-it-works-nlb-zs"></a>

ARC 會為已註冊的 Network Load Balancer 建立運作狀態檢查失敗，以便在啟動區域轉移時，從 DNS 中移除受損 AZ 中的 Network Load Balancer 節點。Network Load Balancer 會停用受影響區域中的目標，使其停止接收流量，而 Elastic Load Balancing 會將這些目標視為區域轉移的已停用目標。處於停用狀態的目標會繼續接收運作狀態檢查。當目標運作狀態良好且區域轉移過期 （或取消） 時，路由至先前受損區域中的目標會繼續。

在啟用跨區域負載平衡的 Network Load Balancer 區域轉移期間，會從 DNS 中移除區域負載平衡器 IP 地址。與受損可用區域中目標的現有連線會持續存在，直到它們有機關閉，而新的連線不會再路由到受損可用區域中的目標。

 如需詳細資訊，請參閱[《Network Load Balancer 使用者指南》中的 Network Load Balancer 的區域轉移](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/zonal-shift.html)。 * Load Balancer * 

# 啟動、更新或取消區域轉移
<a name="arc-zonal-shift.start-cancel"></a>

本節提供區域轉移的使用程序，包括啟動區域轉移和取消區域轉移。

## 啟動區域轉移
<a name="arc-zonal-shift.start"></a>

本節中的步驟說明如何在 Amazon Application Recovery Controller (ARC) 主控台上啟動客戶起始的區域轉移。若要以程式設計方式使用區域轉移，請參閱[區域轉移 API 參考指南](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)。

除了在 ARC 中啟動區域轉移之外，您也可以在 Elastic Load Balancing 主控台 （在支援的區域中） 中啟動負載平衡器的區域轉移。如需詳細資訊，請參閱 Elastic Load Balancing 使用者指南中的[區域轉移](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/zonal-shift.html)。

## 啟動區域轉移


1. 在 開啟 ARC 主控台[https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)。

1. 在**異地同步**備份下，選擇**區域轉移**。

1. 在**區域轉移**頁面上，選擇**開始區域轉移**。

1. 選取您要從中轉移流量的可用區域。

1. 從資源資料表中選取支援**的資源**，以轉移流量。

1. 針對**設定區域轉移過期**，選擇或輸入區域轉移的過期。區域轉移最初可以設定為作用中 1 分鐘或最多三天 (72 小時）。

   所有區域轉移都是暫時的。您必須設定過期，但稍後可以更新作用中的輪班，將新的過期期間設定為最多三天。

1. 輸入註解。如果您想要的話，您可以稍後更新區域轉移以編輯註釋。

1. 選取核取方塊，確認開始區域轉移會減少應用程式的可用容量，方法是將流量移離可用區域。

1. 選擇 **開始使用**。

## 更新或取消區域轉移
<a name="arc-zonal-shift.update-cancel"></a>

本節中的步驟說明如何更新您在 Amazon Application Recovery Controller (ARC) 主控台上啟動的區域轉移，或取消區域轉移。若要以程式設計方式使用區域轉移，請參閱[區域轉移 API 參考指南](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)。

您可以更新區域轉移以設定新的過期，或編輯或取代區域轉移的註解。您可以在區域轉移過期之前隨時取消區域轉移。

您可以取消您啟動的區域轉移，或為區域自動轉移實務執行的資源 AWS 啟動的區域轉移。若要進一步了解區域自動轉移中的練習轉移，請參閱 [區域自動轉移和實務執行的運作方式](arc-zonal-autoshift.how-it-works.md)。

## 更新區域轉移


1. 在 開啟 ARC 主控台[https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)。

1. 在**異地同步**備份下，選擇**區域轉移**。

1. 選取您要更新的區域轉移，然後選擇**更新區域轉移**。

1. 針對**設定區域轉移到期日**，選擇性選取或輸入到期日。

1. 針對**註解**，選擇性編輯現有註解或輸入新註解。

1. 選擇**更新**。

## 取消區域轉移


1. 在 開啟 ARC 主控台[https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)。

1. 在**異地同步**備份下，選擇**區域轉移**。

1. 選取您要取消的區域轉移，然後選擇**取消區域轉移**。

1. 在確認模式對話方塊中，選擇**確認**。

# 在 Amazon Application Recovery Controller (ARC) 中記錄和監控區域轉移
<a name="monitoring-zonal-shift"></a>

您可以使用 在 Amazon Application Recovery Controller (ARC) 中 AWS CloudTrail 監控區域轉移，以分析模式並協助疑難排解問題。

**Topics**
+ [使用 記錄區域轉移 API 呼叫 AWS CloudTrail](cloudtrail-zonal-shift.md)

# 使用 記錄區域轉移 API 呼叫 AWS CloudTrail
<a name="cloudtrail-zonal-shift"></a>

ARC 的區域轉移已與 服務整合 AWS CloudTrail，此服務提供使用者、角色或 ARC 中 AWS 服務所採取動作的記錄。CloudTrail 會將區域轉移的所有 API 呼叫擷取為事件。擷取的呼叫包括來自 ARC 主控台的呼叫，以及對區域轉移的 ARC API 操作的程式碼呼叫。

如果您建立線索，則可以將 CloudTrail 事件持續交付至 Amazon S3 儲存貯體，包括區域轉移的事件。即使您未設定追蹤，依然可以透過 CloudTrail 主控台中的**事件歷史記錄**檢視最新事件。

您可以使用 CloudTrail 所收集的資訊，判斷針對區域轉移向 ARC 提出的請求、提出請求的 IP 地址、提出請求的人員、提出請求的時間，以及其他詳細資訊。

若要進一步了解 CloudTrail，請參閱[「AWS CloudTrail 使用者指南」](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## CloudTrail 中的區域轉移資訊
<a name="service-name-info-in-cloudtrail"></a>

建立帳戶 AWS 帳戶 時，您的 上會啟用 CloudTrail。當區域轉移在 ARC 中發生活動時，該活動會記錄在 CloudTrail 事件中，以及**事件歷史記錄**中的其他 AWS 服務事件。您可以在 中檢視、搜尋和下載最近的事件 AWS 帳戶。如需詳細資訊，請參閱[使用 CloudTrail 事件歷史記錄](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

若要持續記錄 中的事件 AWS 帳戶，包括 ARC 中區域轉移的事件，請建立線索。*線索*能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。依預設，當您在主控台中建立追蹤時，該追蹤會套用至所有的 AWS 區域。線索會記錄 AWS 分割區中所有區域的事件，並將日誌檔案交付至您指定的 Amazon S3 儲存貯體。此外，您可以設定其他 AWS 服務，以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。如需詳細資訊，請參閱下列內容：
+ [建立追蹤的概觀](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支援的服務和整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [設定 CloudTrail 的 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [接收多個區域的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收多個帳戶的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

CloudTrail 會記錄所有 ARC 動作，並記錄在 [Amazon Application Recovery Controller 的路由控制 API 參考指南](https://docs.aws.amazon.com/routing-control/latest/APIReference/)中。例如，對 `StartZonalShift` 以及 `ListManagedResources` 動作發出的呼叫會在 CloudTrail 日誌檔案中產生項目。

每一筆事件或日誌專案都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項：
+ 請求是使用根或 AWS Identity and Access Management (IAM) 使用者登入資料提出。
+ 提出該請求時，是否使用了特定角色或聯合身分使用者的暫時安全憑證。
+ 請求是否由其他 AWS 服務提出。

如需詳細資訊，請參閱 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 在事件歷史記錄中檢視 ARC 事件
<a name="amazon-arc-events-in-cloudtrail-event-history"></a>

CloudTrail 可讓您使用 **Event history (事件歷史記錄)** 檢視最近的事件。如需詳細資訊，請參閱「AWS CloudTrail 使用者指南」**中的[使用 CloudTrail 事件歷史記錄](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

## 了解區域轉移日誌檔案項目
<a name="understanding-service-name-entries"></a>

追蹤是一種組態，能讓事件以日誌檔案的形式交付到您指定的 Amazon S3 儲存貯體。CloudTrail 日誌檔案包含一或多個日誌專案。一個事件為任何來源提出的單一請求，並包含請求動作、請求的日期和時間、請求參數等資訊。CloudTrail 日誌檔並非依公有 API 呼叫的堆疊追蹤排序，因此不會以任何特定順序出現。

下列範例顯示 CloudTrail 日誌項目，示範區域轉移`ListManagedResources`的動作。

```
{
      "eventVersion": "1.08",
      "userIdentity": {
        "type": "AssumedRole",
        "principalId": "A1B2C3D4E5F6G7EXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/admin",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
          "sessionIssuer": {
            "type": "Role",
            "principalId": "AROA33L3W36EXAMPLE",
            "arn": "arn:aws:iam::111122223333:role/admin",
            "accountId": "111122223333",
            "userName": "EXAMPLENAME"
          },
          "webIdFederationData": {},
          "attributes": {
            "creationDate": "2022-11-14T16:01:51Z",
            "mfaAuthenticated": "false"
          }
        }
      },
      "eventTime": "2022-11-14T16:14:41Z",
      "eventSource": "arc-zonal-shift.amazonaws.com",
      "eventName": "ListManagedResources",
      "awsRegion": "us-west-2",
      "sourceIPAddress": "192.0.2.50",
      "userAgent": "Boto3/1.17.101 Python/3.8.10 Linux/4.14.231-180.360.amzn2.x86_64 exec-env/AWS_Lambda_python3.8 Botocore/1.20.102",      
      "requestParameters": null,
      "responseElements": null,
      "requestID": "VGXG4ZUE7UZTVCMTJGIAF_EXAMPLE",
      "eventID": "4b5c42df-1174-46c8-be99-d67_EXAMPLE",
      "readOnly": true,
      "eventType": "AwsApiCall",
      "managementEvent": true,
      "recipientAccountId": "111122223333"
      "eventCategory": "Management"
      }
    }
```

下列範例顯示 CloudTrail 日誌項目，示範具有區域轉移衝突例外`StartZonalShift`狀況的動作。

```
{
      "eventVersion": "1.08",
      "userIdentity": {
        "type": "AssumedRole",
        "principalId": "A1B2C3D4E5F6G7EXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/admin",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
          "sessionIssuer": {
            "type": "Role",
            "principalId": "AROA33L3W36EXAMPLE",
            "arn": "arn:aws:iam::111122223333:role/admin",
            "accountId": "111122223333",
            "userName": "EXAMPLENAME"
          },
          "webIdFederationData": {},
          "attributes": {
            "creationDate": "2022-11-14T16:01:51Z",
            "mfaAuthenticated": "false"
          }
        }
      },
      "eventTime": "2022-11-14T16:10:38Z",
      "eventSource": "arc-zonal-shift.amazonaws.com",
      "eventName": "StartZonalShift",
     "awsRegion": "us-west-2",
      "sourceIPAddress": "192.0.2.50",
      "userAgent": "Boto3/1.17.101 Python/3.8.10 Linux/4.14.231-180.360.amzn2.x86_64 exec-env/AWS_Lambda_python3.8 Botocore/1.20.102",
      "errorCode": "ConflictException",
      "errorMessage": "There's already an active zonal shift for that resource identifier: 'arn:aws:testservice:us-west-2:077059137270:testResource/456apples'. Active zonal shift: 'bac23b74-176e-c073-de8f-484ca508910f'",
      "requestParameters": {
        "resourceIdentifier": "arn:aws:testservice:us-west-2:077059137270:testResource/456apples",
        "awayFrom": "usw2-az1",
        "expiresIn": "2m",
        "comment": "HIDDEN_FOR_SECURITY_REASONS"
      },
      "responseElements": null,
      "requestID": "OP4OYXZ54HUPMIPGWH_EXAMPLE",
      "eventID": "0bca6660-e999-43a5-9008-EXAMPLE",
      "readOnly": false,
      "eventType": "AwsApiCall",
      "managementEvent": true,
      "recipientAccountId": "111122223333"
      "eventCategory": "Management"
      }
    }
```

# ARC 中區域轉移的 Identity and Access Management
<a name="security-iam-zonalshift"></a>

AWS Identity and Access Management (IAM) 是一種 AWS 服務 ，可協助管理員安全地控制對 AWS 資源的存取。IAM 管理員可控制誰可以*進行身分驗證* （登入） 和*授權* （具有許可） 來使用 ARC 資源。IAM 是您可以免費使用 AWS 服務 的 。

**Topics**
+ [區域轉移如何與 IAM 搭配使用](security_iam_service-with-iam-zs.md)
+ [區域轉移的許可](security_iam_service-with-iam-zonal-shift.md)
+ [身分型政策範例](security_iam_id-based-policy-examples-zonal.md)

# 區域轉移如何與 IAM 搭配使用
<a name="security_iam_service-with-iam-zs"></a>

在您使用 IAM 管理 Amazon Application Recovery Controller (ARC) 中區域轉移的存取權之前，請先了解哪些 IAM 功能可與區域轉移搭配使用。


**您可以搭配區域轉移使用的 IAM 功能**  

| IAM 功能 | 區域轉移支援 | 
| --- | --- | 
|  [身分型政策](#security_iam_service-with-iam-id-based-policies)  |   是  | 
|  [資源型政策](#security_iam_service-with-iam-resource-based-policies)  |   否   | 
|  [政策動作](#security_iam_service-with-iam-id-based-policies-actions)  |   是  | 
|  [政策資源](#security_iam_service-with-iam-id-based-policies-resources)  |   是  | 
|  [政策條件索引鍵](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   是  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   否   | 
|  [ABAC(政策中的標籤)](#security_iam_service-with-iam-tags)  |   部分  | 
|  [臨時憑證](#security_iam_service-with-iam-roles-tempcreds)  |   是  | 
|  [主體許可](#security_iam_service-with-iam-principal-permissions)  |   是  | 
|  [服務角色](#security_iam_service-with-iam-roles-service)  |   否   | 
|  [服務連結角色](#security_iam_service-with-iam-roles-service-linked)  |   是  | 

若要取得 AWS 服務如何與大多數 IAM 功能搭配使用的高階整體檢視，請參閱《IAM *使用者指南*》中的與 IAM [AWS 搭配使用的 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## ARC 的身分型政策
<a name="security_iam_service-with-iam-id-based-policies"></a>

**支援身分型政策：**是

身分型政策是可以附加到身分 (例如 IAM 使用者、使用者群組或角色) 的 JSON 許可政策文件。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。如需了解如何建立身分型政策，請參閱《*IAM 使用者指南*》中的[透過客戶管理政策定義自訂 IAM 許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

使用 IAM 身分型政策，您可以指定允許或拒絕的動作和資源，以及在何種條件下允許或拒絕動作。如要了解您在 JSON 政策中使用的所有元素，請參閱《*IAM 使用者指南*》中的 [IAM JSON 政策元素參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

若要檢視 ARC 身分型政策的範例，請參閱 [Amazon Application Recovery Controller (ARC) 中的身分型政策範例](security_iam_id-based-policy-examples.md)。

## ARC 內的資源型政策
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**支援資源型政策：**否 

資源型政策是附加到資源的 JSON 政策文件。資源型政策的最常見範例是 IAM 角色信任政策和 Amazon S3 儲存貯體政策。在支援資源型政策的服務中，服務管理員可以使用它們來控制對特定資源的存取權限。

## 區域轉移的政策動作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**支援政策動作：**是

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

JSON 政策的 `Action` 元素描述您可以用來允許或拒絕政策中存取的動作。政策會使用動作來授予執行相關聯動作的許可。

若要查看區域轉移的 ARC 動作清單，請參閱*《服務授權參考*》中的 [ Amazon Route 53 區域轉移定義的動作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-actions-as-permissions)。

ARC 中區域轉移的政策動作在動作之前使用下列字首：

```
arc-zonal-shift
```

若要在單一陳述式中指定多個動作，請用逗號分隔。例如，下列項目：

```
"Action": [
      "arc-zonal-shift:action1",
      "arc-zonal-shift:action2"
         ]
```

您也可以使用萬用字元 (\$1) 來指定多個動作。例如，若要指定開頭是 `Describe` 文字的所有動作，請包含以下動作：

```
"Action": "arc-zonal-shift:Describe*"
```

若要檢視區域轉移的 ARC 身分型政策範例，請參閱 [ARC 中區域轉移的身分型政策範例](security_iam_id-based-policy-examples-zonal.md)。

## 區域轉移的政策資源
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**支援政策資源：**是

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

`Resource` JSON 政策元素可指定要套用動作的物件。最佳實務是使用其 [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) 來指定資源。若動作不支援資源層級許可，使用萬用字元 (\$1) 表示該陳述式適用於所有資源。

```
"Resource": "*"
```

若要查看資源類型及其 ARNs的清單，以及您可以使用每個資源的 ARN 指定的動作，請參閱服務*授權參考*中的下列主題：
+ [ Amazon Route 53 定義的動作 - 區域轉移](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-actions-as-permissions)

若要查看可與條件索引鍵搭配使用的動作和資源，請參閱*服務授權參考*中的下列主題：
+ [ Amazon Route 53 - 區域轉移定義的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-policy-keys)

若要檢視區域轉移的 ARC 身分型政策範例，請參閱 [ARC 中區域轉移的身分型政策範例](security_iam_id-based-policy-examples-zonal.md)。

## 區域轉移的政策條件索引鍵
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**支援服務特定政策條件金鑰：**是

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

`Condition` 元素會根據定義的條件，指定陳述式的執行時機。您可以建立使用[條件運算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)的條件運算式 (例如等於或小於)，來比對政策中的條件和請求中的值。若要查看所有 AWS 全域條件索引鍵，請參閱《*IAM 使用者指南*》中的[AWS 全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

若要查看區域轉移條件索引鍵的清單，請參閱*服務授權參考*中的下列主題：
+ [ Amazon Route 53 - 區域轉移定義的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-policy-keys)

若要查看可與條件金鑰搭配使用的動作和資源，請參閱*服務授權參考*中的下列主題：
+ [ Amazon Route 53 定義的動作 - 區域轉移](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-actions-as-permissions)
+ [ Amazon Route 53 定義的資源類型 - 區域轉移](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53applicationrecoverycontroller-zonalshift.html#amazonroute53applicationrecoverycontroller-zonalshift-resources-for-iam-policies)

若要檢視區域轉移的 ARC 身分型政策範例，請參閱 [ARC 中區域轉移的身分型政策範例](security_iam_id-based-policy-examples-zonal.md)。

## ARC 中的存取控制清單 (ACLs)
<a name="security_iam_service-with-iam-acls"></a>

**支援 ACL：**否 

存取控制清單 (ACL) 可控制哪些主體 (帳戶成員、使用者或角色) 擁有存取某資源的許可。ACL 類似於資源型政策，但它們不使用 JSON 政策文件格式。

## 使用 ARC 的屬性型存取控制 (ABAC)
<a name="security_iam_service-with-iam-tags"></a>

**支援 ABAC (政策中的標籤)：**部分

屬性型存取控制 (ABAC) 是一種授權策略，根據稱為標籤的屬性定義許可權。您可以將標籤連接至 IAM 實體 AWS 和資源，然後設計 ABAC 政策，以便在委託人的標籤符合資源上的標籤時允許操作。

如需根據標籤控制存取，請使用 `aws:ResourceTag/key-name`、`aws:RequestTag/key-name` 或 `aws:TagKeys` 條件索引鍵，在政策的[條件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中，提供標籤資訊。

如果服務支援每個資源類型的全部三個條件金鑰，則對該服務而言，值為 **Yes**。如果服務僅支援某些資源類型的全部三個條件金鑰，則值為 **Partial**。

如需 ABAC 的詳細資訊，請參閱《*IAM 使用者指南*》中的[使用 ABAC 授權定義許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。如要查看含有設定 ABAC 步驟的教學課程，請參閱《*IAM 使用者指南*》中的[使用屬性型存取控制 (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

ARC 包含下列對 ABAC 的部分支援：
+ 區域轉移支援在 ARC 中為區域轉移註冊的受管資源 ABAC。如需有關 ABAC for Network Load Balancer 和 Application Load Balancer 受管資源的詳細資訊，請參閱[Elastic Load Balancing 使用者指南》中的 ABAC with](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-tags) Elastic Load Balancing。

## 搭配 ARC 使用臨時登入資料
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**支援臨時憑證：**是

臨時登入資料提供 AWS 資源的短期存取權，當您使用聯合或切換角色時，會自動建立。 AWS 建議您動態產生臨時登入資料，而不是使用長期存取金鑰。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的臨時安全憑證](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)與[可與 IAM 搭配運作的AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## ARC 的跨服務主體許可
<a name="security_iam_service-with-iam-principal-permissions"></a>

**支援轉寄存取工作階段 (FAS)：**是

當您使用 IAM 實體 （使用者或角色） 在 中執行動作時 AWS，您會被視為委託人。政策能將許可授予主體。當您使用某些服務時，您可能會執行一個動作，然後在不同的服務中觸發另一個動作。在此情況下，您必須具有執行這兩個動作的許可。

若要查看動作是否需要政策中的其他相依動作，請參閱*服務授權參考*中的下列主題：
+ [ Amazon Route 53 區域轉移](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53applicationrecoverycontroller-zonalshift.html)

## ARC 的服務角色
<a name="security_iam_service-with-iam-roles-service"></a>

**支援服務角色：**否 

 服務角色是服務擔任的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)，可代您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立角色以委派許可給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

## ARC 的服務連結角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**支援服務連結角色：**是

 服務連結角色是連結至 的一種服務角色 AWS 服務。服務可以擔任代表您執行動作的角色。服務連結角色會出現在您的 中 AWS 帳戶 ，並由服務擁有。IAM 管理員可以檢視，但不能編輯服務連結角色的許可。

區域轉移不使用服務連結角色。

# 區域轉移的 IAM 和許可
<a name="security_iam_service-with-iam-zonal-shift"></a>

本節提供 Amazon Application Recovery Controller (ARC) 中區域轉移功能許可運作方式的額外資訊，特別是當您使用來自 Elastic Load Balancing 等 AWS 其他服務的功能時。若要了解 ARC 功能如何使用 IAM 和一般許可，請檢閱概觀主題 中的資訊[ARC 中區域轉移的 Identity and Access Management](security-iam-zonalshift.md)。

區域轉移支援 Application Load Balancer、Network Load Balancer、Amazon EC2 Auto Scaling 群組和 Amazon EKS。您可以使用 IAM 條件金鑰，將 IAM 許可政策範圍限定為這些資源。以下是使用具有多種不同類型資源之條件索引鍵的範例政策：

```
{
    "Condition": {
        "StringLike": {
            "arc-zonal-shift:ResourceIdentifier": [
                "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/*",
                "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/*",
                "arn:aws:eks:us-east-1:123456789012:cluster/*"
            ]
        }
    },
    "Action": [
        "arc-zonal-shift:StartZonalShift"
    ],
    "Resource": "*",
    "Effect": "Allow"
}
```

如需詳細資訊，請參閱[支援的資源](arc-zonal-shift.resource-types.md)。

除了 IAM 概觀主題中概述的許可之外，下列適用於 IAM 和許可的區域轉移：
+ 請確定您擁有在 ARC 中使用區域轉移所需的許可。如需詳細資訊，請參閱[區域轉移主控台存取](security_iam_id-based-policy-examples-zonal.md#security_iam_id-based-policy-examples-console-zonal)和[區域轉移操作存取](security_iam_id-based-policy-examples-zonal.md#security_iam_id-based-policy-examples-api-zonal)。
+ 您不需要使用 IAM 新增額外的 Elastic Load Balancing 許可，即可在 ARC 中使用帳戶中受管負載平衡器資源的區域轉移。
+ 提供 Elastic Load Balancing 完整存取權的 AWS 受管政策包含使用區域轉移的許可。如果您將 AWS 受管政策用於 Elastic Load Balancing 存取，則不需要 IAM 中的其他許可，即可進行區域轉移，以啟動負載平衡器的區域轉移，或在 Elastic Load Balancing 主控台中使用 。如需詳細資訊，請參閱 [AWS Elastic Load Balancing 的 受管政策](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/managed-policies.html)。

# ARC 中區域轉移的身分型政策範例
<a name="security_iam_id-based-policy-examples-zonal"></a>

根據預設，使用者和角色沒有建立或修改 ARC 資源的許可。若要授予使用者對其所需資源執行動作的許可，IAM 管理員可以建立 IAM 政策。

如需了解如何使用這些範例 JSON 政策文件建立 IAM 身分型政策，請參閱《*IAM 使用者指南*》中的[建立 IAM 政策 (主控台)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)。

如需 ARC 定義的動作和資源類型的詳細資訊，包括每種資源類型的 ARNs 格式，請參閱*《服務授權參考*》中的 [Amazon Application Recovery Controller (ARC) 的動作、資源和條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html)。

**Topics**
+ [政策最佳實務](#security_iam_service-with-iam-policy-best-practices-zonal)
+ [範例：區域輪班主控台存取](#security_iam_id-based-policy-examples-console-zonal)
+ [範例：區域轉移 API 動作](#security_iam_id-based-policy-examples-api-zonal)

## 政策最佳實務
<a name="security_iam_service-with-iam-policy-best-practices-zonal"></a>

身分型政策會判斷您帳戶中的某個人員是否可以建立、存取或刪除 ARC 資源。這些動作可能會讓您的 AWS 帳戶產生費用。當您建立或編輯身分型政策時，請遵循下列準則及建議事項：
+ **開始使用 AWS 受管政策並邁向最低權限許可** – 若要開始將許可授予您的使用者和工作負載，請使用將許可授予許多常見使用案例的 *AWS 受管政策*。它們可在您的 中使用 AWS 帳戶。我們建議您定義特定於使用案例 AWS 的客戶受管政策，以進一步減少許可。如需更多資訊，請參閱《*IAM 使用者指南*》中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[任務職能的AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **套用最低權限許可** – 設定 IAM 政策的許可時，請僅授予執行任務所需的許可。為實現此目的，您可以定義在特定條件下可以對特定資源採取的動作，這也稱為*最低權限許可*。如需使用 IAM 套用許可的更多相關資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的政策和許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 政策中的條件進一步限制存取權** – 您可以將條件新增至政策，以限制動作和資源的存取。例如，您可以撰寫政策條件，指定必須使用 SSL 傳送所有請求。如果透過特定 等使用服務動作 AWS 服務，您也可以使用條件來授予其存取權 CloudFormation。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM JSON 政策元素：條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 驗證 IAM 政策，確保許可安全且可正常運作** – IAM Access Analyzer 驗證新政策和現有政策，確保這些政策遵從 IAM 政策語言 (JSON) 和 IAM 最佳實務。IAM Access Analyzer 提供 100 多項政策檢查及切實可行的建議，可協助您撰寫安全且實用的政策。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[使用 IAM Access Analyzer 驗證政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重要素驗證 (MFA)** – 如果您的案例需要 IAM 使用者或 中的根使用者 AWS 帳戶，請開啟 MFA 以提高安全性。如需在呼叫 API 操作時請求 MFA，請將 MFA 條件新增至您的政策。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[透過 MFA 的安全 API 存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

如需 IAM 中最佳實務的相關資訊，請參閱《*IAM 使用者指南*》中的 [IAM 安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

## 範例：區域輪班主控台存取
<a name="security_iam_id-based-policy-examples-console-zonal"></a>

若要存取 Amazon Application Recovery Controller (ARC) 主控台，您必須擁有一組最低許可。這些許可必須允許您列出和檢視 中 ARC 資源的詳細資訊 AWS 帳戶。如果您建立比最基本必要許可更嚴格的身分型政策，則對於具有該政策的實體 (使用者或角色) 而言，主控台就無法如預期運作。

對於僅呼叫 AWS CLI 或 AWS API 的使用者，您不需要允許最低主控台許可。反之，只需允許存取符合他們嘗試執行之 API 操作的動作就可以了。

若要授予使用者在 中使用區域轉移的完整存取權 AWS 管理主控台，請將如下所示的政策連接到使用者：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                   "arc-zonal-shift:ListManagedResources",
                   "arc-zonal-shift:GetManagedResource",
                   "arc-zonal-shift:ListZonalShifts",
                   "arc-zonal-shift:StartZonalShift",
                   "arc-zonal-shift:UpdateZonalShift",
                   "arc-zonal-shift:CancelZonalShift"
             ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeAvailabilityZones",
            "Resource": "*"
        }
    ]
}
```

------

## 範例：區域轉移 API 動作
<a name="security_iam_id-based-policy-examples-api-zonal"></a>

區域轉移 API 會暫時將流量移離可用區域，以復原應用程式。

為了確保使用者可以使用區域轉移 API 動作，請連接對應至使用者需要使用的 API 操作的政策，例如下列項目：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [		
                   "arc-zonal-shift:ListManagedResources",
                   "arc-zonal-shift:GetManagedResource",
                   "arc-zonal-shift:ListZonalShifts",
                   "arc-zonal-shift:StartZonalShift",
                   "arc-zonal-shift:UpdateZonalShift",
                   "arc-zonal-shift:CancelZonalShift"
             ],
            "Resource": "*"
        }
    ]
}
```

------