

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

# 搭配 使用 ARC 路由控制 API 操作的範例 AWS CLI
<a name="getting-started-cli-routing"></a>

本節將逐步介紹使用路由控制的簡單應用程式範例，使用 AWS Command Line Interface 在 Amazon Application Recovery Controller (ARC) 中使用 API 操作的路由控制功能。這些範例旨在協助您了解如何使用 CLI 進行路由控制。

透過 Amazon Application Recovery Controller (ARC) 中的路由控制，您可以在單獨或可用區域中執行的備援應用程式複本 AWS 區域 或複本之間觸發流量容錯移轉。

您可以將路由控制組織到叢集上佈建的稱為控制面板的群組。ARC 叢集是全域部署的一組區域性端點。叢集端點提供高可用性 API，您可以用來設定和擷取路由控制狀態。如需路由控制功能元件的詳細資訊，請參閱 [路由控制元件](introduction-components-routing.md)。

**注意**  
ARC 是支援多個端點的全域服務 AWS 區域。不過，您必須在大多數 ARC CLI 命令`--region us-west-2`中指定美國西部 （奧勒岡） 區域，也就是指定 參數。例如，當您建立復原群組、控制面板和叢集時，請使用 `region` 參數。  
當您建立叢集時，ARC 會為您提供一組區域端點。若要取得或更新路由控制狀態，您必須在 CLI 命令中指定區域端點 ( AWS 區域 和端點 URL)。

如需使用 的詳細資訊 AWS CLI，請參閱 AWS CLI 命令參考。如需路由控制 API 動作的清單，請參閱 [路由控制 API 操作](actions.routing-control.md)和 [路由控制 API 操作](actions.routing-control.md)。

首先，我們將使用路由控制來建立管理容錯移轉所需的元件，從建立叢集開始。

# 設定路由控制元件
<a name="getting-started-cli-routing-config"></a>

我們的第一步是建立叢集。ARC 叢集是一組五個端點，每五個端點各一個 AWS 區域。ARC 基礎設施支援這些端點協同運作，以確保容錯移轉操作的高可用性和循序一致性。

## 1. 建立 叢集
<a name="getting-started-cli-routing.cluster"></a>

1a. 建立叢集。`network-type` 是選用的，可以是 `IPV4`或 `DUALSTACK`。預設值為 `IPV4`。

```
aws route53-recovery-control-config create-cluster --cluster-name test --network-type DUALSTACK
```

```
"Cluster": {
    "ClusterArn": "arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234",
    "Name": "test",
    "Status": "PENDING",
    "Owner": "123456789123",
    "NetworkType": "DUALSTACK"
}
```

當您第一次建立 ARC 資源時，它在建立叢集`PENDING`時的狀態為 。您可以呼叫 來檢查其進度`describe-cluster`。

1b. 描述叢集。

```
aws route53-recovery-control-config --region us-west-2 \
				describe-cluster --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

```
"Cluster": {
    "ClusterArn": "arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234",
    "Name": "test",
    "Status": "DEPLOYED",
    "Owner": "123456789123",
    "NetworkType": "DUALSTACK"
}
```

當狀態為 DEPLOYED 時，ARC 已成功建立具有一組端點的叢集，供您互動。您可以呼叫 來列出所有叢集`list-clusters`。

1c. 列出您的叢集。

```
aws route53-recovery-control-config --region us-west-2 list-clusters
```

```
"Cluster": {
    "ClusterArn": "arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234",
    "Name": "test",
    "Status": "DEPLOYED",
    "Owner": "123456789123",
    "NetworkType": "DUALSTACK"
}
```

1d. 更新叢集的網路類型。選項為 `IPV4` 或 `DUALSTACK`。

```
aws route53-recovery-control-config update-cluster \
--cluster-arn arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234 \
--network-type DUALSTACK
```

```
"Cluster": {
    "ClusterArn": "arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234",
    "Name": "test",
    "Status": "PENDING",
    "Owner": "123456789123",
   "NetworkType": "DUALSTACK"
}
```

## 2. 建立控制面板
<a name="getting-started-cli-routing.panel"></a>

控制面板是用於組織 ARC 路由控制的邏輯分組。當您建立叢集時，ARC 會自動為您提供一個控制面板，稱為 `DefaultControlPanel`。您可以立即使用此控制面板。

控制面板只能存在於一個叢集中。如果您想要將控制面板移至另一個叢集，您必須將其刪除，然後在第二個叢集中建立它。您可以呼叫 來查看帳戶中的所有控制面板`list-control-panels`。若要只查看特定叢集中的控制面板，請新增 `--cluster-arn` 欄位。

2a. 列出控制面板。

```
aws route53-recovery-control-config --region us-west-2 \
				list-control-panels --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/eba23304-1a51-4674-ae32-b4cf06070bdd
```

```
{
    "ControlPanels": [
        {
            "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/1234567dddddd1234567dddddd1234567",
            "ClusterArn": "arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh",
            "DefaultControlPanel": true,
            "Name": "DefaultControlPanel",
            "RoutingControlCount": 0,
            "Status": "DEPLOYED"
        }
    ]
}
```

或者，您也可以呼叫 來建立自己的控制面板`create-control-panel`。

2b. 建立控制面板。

```
aws route53-recovery-control-config --region us-west-2 create-control-panel \
        --control-panel-name NewControlPanel2 \
        --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

```
{
    "ControlPanel": {
        "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "ClusterArn": "arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh",
        "DefaultControlPanel": false,
        "Name": "NewControlPanel2",
        "RoutingControlCount": 0,
        "Status": "PENDING"
    }
}
```

當您首次建立 ARC 資源時，其在建立`PENDING`時的狀態為 。您可以呼叫 來檢查進度`describe-control-panel`。

2c. 描述控制面板。

```
aws route53-recovery-control-config --region us-west-2 describe-control-panel \
				--control-panel-arn arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456
```

```
{
    "ControlPanel": {
        "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "ClusterArn": "arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh",
        "DefaultControlPanel": true,
        "Name": "DefaultControlPanel",
        "RoutingControlCount": 0,
        "Status": "DEPLOYED"
    }
}
```

## 3. 建立路由控制
<a name="getting-started-cli-routing.control"></a>

現在您已設定叢集並查看控制面板，您可以開始建立路由控制。建立路由控制時，您必須至少指定要路由控制所在的叢集的 Amazon Resource Name (ARN)。您也可以指定路由控制的控制面板 ARN。您還需要指定控制面板所在的叢集。

如果您未指定控制面板，您的路由控制會新增至自動建立的控制面板 `DefaultControlPanel`。

呼叫 來建立路由控制`create-routing-control`。

3a. 建立路由控制。

```
aws route53-recovery-control-config --region us-west-2 create-routing-control \
				--routing-control-name NewRc1 \
				--cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

```
{
    "RoutingControl": {
        "ControlPanelArn": " arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "Name": "NewRc1",
        "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
        "Status": "PENDING"
    }
}
```

路由控制遵循與其他 ARC 資源相同的建立模式，因此您可以透過呼叫描述操作來追蹤其進度。

3b. 描述路由控制。

```
aws route53-recovery-control-config --region us-west-2 describe-routing-control \
			    --routing-control-arn arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567
```

```
{
    "RoutingControl": {
        "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "Name": "NewRc1",
        "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
        "Status": "DEPLOYED"
    }
}
```

您可以呼叫 ，列出控制面板中的路由控制`list-routing-controls`。控制面板 ARN 是必要的。

3c. 列出路由控制。

```
aws route53-recovery-control-config --region us-west-2 list-routing-controls \
        --control-panel-arn arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456
```

```
{
    "RoutingControls": [
        {
            "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
            "Name": "Rc1",
            "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
            "Status": "DEPLOYED"
        },
        {
            "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
            "Name": "Rc2",
            "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/hijklmnop987654321",
            "Status": "DEPLOYED"
        }
    ]
}
```

在下列範例中，我們處理路由控制狀態時，假設您有兩個路由控制列於本節 (Rc1 和 Rc2)。在此範例中，每個路由控制代表應用程式部署所在的可用區域。

## 4. 建立安全規則
<a name="getting-started-cli-routing.safety"></a>

當您同時使用多個路由控制時，您可以決定在啟用和停用它們時要採取一些保護措施，以避免意外的後果，例如關閉兩個路由控制並停止所有流量流程。若要建立這些保護措施，您可以建立路由控制安全規則。

安全規則有兩種類型：聲明規則和閘道規則。若要進一步了解安全規則，請參閱 [建立路由控制的安全規則](routing-control.safety-rules.md)。

以下呼叫提供建立宣告規則的範例，以確保`On`在任何指定時間，兩個路由控制中至少有一個設定為 。若要建立規則，您可以使用 `assertion-rule` 參數執行 `create-safety-rule` 。

如需聲明規則 API 操作的詳細資訊，請參閱《Amazon Application Recovery Controller 的路由控制 API 參考指南》中的 [AssertionRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-assertionrule)。

4a. 建立宣告規則。

```
aws route53-recovery-control-config --region us-west-2 create-safety-rule \
        --assertion-rule '{"Name": "TestAssertionRule", 
        "ControlPanelArn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx", 
        "WaitPeriodMs": 5000, 
        "AssertedControls":
        ["arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/def123def123def" 
        "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/ghi456ghi456ghi"], 
        "RuleConfig": {"Threshold": 1, "Type": "ATLEAST", "Inverted": false}}'
```

```
{
    "Rule": {
        "ASSERTION": {
            "Arn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/safetyrule/333333444444",
            "AssertedControls": [
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/def123def123def" 
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/ghi456ghi456ghi"],
            "ControlPanelArn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx",
            "Name": "TestAssertionRule",
            "RuleConfig": {
                "Inverted": false,
                "Threshold": 1,
                "Type": "ATLEAST"
            },
            "Status": "PENDING",
            "WaitPeriodMs": 5000
        }
    }
}
```

下列呼叫提供建立閘道規則的範例，為控制面板中的一組目標路由控制項提供整體的「開啟/關閉」或「閘道」切換。這可讓您不允許更新目標路由控制，例如，自動化無法進行未經授權的更新。在此範例中，門控開關是由 `GatingControls` 參數指定的路由控制，而由 `TargetControls` 參數指定的兩個路由控制或 "gated"。

**注意**  
建立閘道規則之前，您必須建立閘道路由控制，其中不包含 DNS 容錯移轉記錄，以及使用 DNS 容錯移轉記錄設定的目標路由控制。

若要建立規則，您可以使用 `gating-rule` 參數執行 `create-safety-rule` 。

如需聲明規則 API 操作的詳細資訊，請參閱《Amazon Application Recovery Controller 的路由控制 API 參考指南》中的 [GatingRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-gatingrule)。

4b. 建立閘道規則。

```
aws route53-recovery-control-config --region us-west-2 create-safety-rule \
        --gating-rule '{"Name": "TestGatingRule", 
        "ControlPanelArn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx", 
        "WaitPeriodMs": 5000, 
        "GatingControls": ["arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/def123def123def"] 
        "TargetControls": ["arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/ghi456ghi456ghi", 
        "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/lmn789lmn789lmn"], 
        "RuleConfig": {"Threshold": 0, "Type": "OR", "Inverted": false}}'
```

```
{
    "Rule": {
        "GATING": {
            "Arn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/safetyrule/444444444444",
            "GatingControls": [
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/def123def123def"
            ],
            "TargetControls": [
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/ghi456ghi456ghi" 
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/lmn789lmn789lmn"
            ],
            "ControlPanelArn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx",
            "Name": "TestGatingRule",
            "RuleConfig": {
                "Inverted": false,
                "Threshold": 0,
                "Type": "OR"
            },
            "Status": "PENDING",
            "WaitPeriodMs": 5000
        }
    }
}
```

如同其他路由控制資源一樣，您可以在安全規則傳播到資料平面之後加以描述、列出或刪除。

設定一或多個安全規則後，您可以繼續與叢集互動、設定或擷取路由控制的狀態。如果`set-routing-control-state`操作中斷您建立的規則，您會收到類似以下的例外狀況：

`Cannot modify control state for [0123456bbbbbbb0123456bbbbbb01234560123 abcdefg1234567] due to failed rule evaluation 0123456bbbbbbb0123456bbbbbb0123456333333444444`

第一個識別符是與路由控制 ARN 串連的控制面板 ARN。第二個識別符是與安全規則 ARN 串連的控制面板 ARN。

## 5. 建立運作狀態檢查
<a name="getting-started-cli-routing.healthcheck"></a>

若要使用路由控制容錯移轉流量，您可以在 Amazon Route 53 中建立運作狀態檢查，然後將運作狀態檢查與您的 DNS 記錄建立關聯。若要容錯移轉流量，ARC 路由控制會將運作狀態檢查設定為失敗，以便 Route 53 重新路由流量。（運作狀態檢查對您的應用程式的運作狀態無效；它只是用作重新路由流量的方法。)

例如，假設您有兩個儲存格 （區域或可用區域）。您可以將一個 設定為應用程式的主要儲存格，另一個設定為次要儲存格，以容錯移轉至 。

若要設定容錯移轉的運作狀態檢查，您可以執行下列動作，例如：

1. 使用 ARC CLI 為每個儲存格建立路由控制。

1. 使用 Route 53 CLI 為每個路由控制在 Route 53 中建立 ARC 運作狀態檢查。

1. 使用 Route 53 CLI 在 Route 53 中建立兩個容錯移轉 DNS 記錄，並將運作狀態檢查與每個記錄建立關聯。

5a. 為每個儲存格建立路由控制。

```
aws route53-recovery-control-config --region us-west-2 create-routing-control \
        --routing-control-name RoutingControlCell1 \
        --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

```
aws route53-recovery-control-config --region us-west-2 create-routing-control \
        --routing-control-name RoutingControlCell2 \
        --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

5b. 為每個路由控制建立運作狀態檢查。

**注意**  
您可以使用 Amazon Route 53 CLI 建立 ARC 運作狀態檢查。

```
aws route53 create-health-check --caller-reference RoutingControlCell1 \
        --health-check-config \
        Type=RECOVERY_CONTROL,RoutingControlArn=arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567
```

```
{
    "Location": "https://route53.amazonaws.com/2015-01-01/healthcheck/11111aaaa-bbbb-cccc-dddd-ffffff22222",
    "HealthCheck": {
        "Id": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "CallerReference": "RoutingControlCell1",
        "HealthCheckConfig": {
            "Type": "RECOVERY_CONTROL",
            "Inverted": false,
            "Disabled": false,
            "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567"
        },
        "HealthCheckVersion": 1
    }
}
```

```
aws route53 create-health-check --caller-reference RoutingControlCell2 \
				--health-check-config \
				Type=RECOVERY_CONTROL,RoutingControlArn=arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567
```

```
{
    "Location": "https://route53.amazonaws.com/2015-01-01/healthcheck/11111aaaa-bbbb-cccc-dddd-ffffff22222",
    "HealthCheck": {
        "Id": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "CallerReference": "RoutingControlCell2",
        "HealthCheckConfig": {
            "Type": "RECOVERY_CONTROL",
            "Inverted": false,
            "Disabled": false,
            "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567"
        },
        "HealthCheckVersion": 1
    }
}
```

5c. 建立兩個容錯移轉 DNS 記錄，並將運作狀態檢查與每個記錄建立關聯。

您可以使用 Route 53 CLI 在 Route 53 中建立容錯移轉 DNS 記錄。若要建立記錄，請遵循 [change-resource-record-sets](https://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html) 命令的 Amazon Route 53 AWS CLI Command Reference 中的指示。在記錄中，指定每個儲存格的 DNS 值，以及 Route 53 為運作狀態檢查建立的對應`HealthCheckID`值 （請參閱 6b)。

對於主要儲存格：

```
{
    "Name": "myapp.yourdomain.com",
    "Type": "CNAME",
    "SetIdentifier": "primary",
    "Failover": "PRIMARY",
    "TTL": 0,
    "ResourceRecords": [
        {
            "Value": "cell1.yourdomain.com"
        }
    ],
    "HealthCheckId": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```

對於次要儲存格：

```
{
    "Name": "myapp.yourdomain.com",
    "Type": "CNAME",
    "SetIdentifier": "secondary",
    "Failover": "SECONDARY",
    "TTL": 0,
    "ResourceRecords": [
        {
            "Value": "cell2.yourdomain.com"
        }
    ],
    "HealthCheckId": "yyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
}
```

現在，若要從主要儲存格容錯移轉至次要儲存格，您可以遵循步驟 4b 中的 CLI 範例，將 的狀態更新`RoutingControlCell1`為 `OFF`，並將 更新`RoutingControlCell2`為 `ON`。

# 使用 列出和更新路由控制和狀態 AWS CLI
<a name="getting-started-cli-routing.control-state"></a>

建立叢集、路由控制和控制面板等 Amazon Application Recovery Controller (ARC) 資源之後，您可以與叢集互動，以列出和更新容錯移轉的路由控制狀態。

對於您建立的每個叢集，ARC 會為您提供一組叢集端點，每五個端點中各一個 AWS 區域。當您呼叫叢集以擷取或將路由控制狀態設定為 `On`或 時，您必須指定其中一個區域端點 ( AWS 區域 和端點 URL)`Off`。當您使用 AWS CLI來取得或更新路由控制狀態時，除了區域端點之外，您還必須指定區域端點`--region`的 ，如本節範例所示。

您可以使用任何區域叢集端點。建議您的系統輪換區域端點，並準備好使用每個可用的端點重試。如需循序說明嘗試叢集端點的程式碼範例，請參閱 [使用 AWS SDKs的應用程式復原控制器的動作](service_code_examples_actions.md)。

如需使用 的詳細資訊 AWS CLI，請參閱 AWS CLI 命令參考。如需路由控制 API 動作和詳細資訊連結的清單，請參閱 [路由控制 API 操作](actions.routing-control.md)。

**重要**  
雖然您可以在 Amazon Route 53 主控台上更新路由控制狀態，但我們建議您使用 AWS CLI 或 AWS SDK [更新路由控制狀態](routing-control.update.api.md)。ARC 提供極高的可靠性與 ARC 路由控制資料平面，用於重新路由流量和跨儲存格容錯移轉。如需使用 ARC 進行容錯移轉的更多建議，請參閱 [ARC 中路由控制的最佳實務](route53-arc-best-practices.regional.md)。

當您建立路由控制時，狀態會設為 `Off`。這表示流量不會路由到該路由控制的目標儲存格。您可以執行命令 來驗證路由控制的狀態`get-routing-control-state`。

若要判斷要指定的區域和端點，請執行 `describe-clusters`命令以檢視 `ClusterEndpoints`。每個 都`ClusterEndpoint`包含一個區域和對應的端點，您可以用來取得或更新路由控制狀態。 *[DescribeCluster](https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster-clusterarn.html) 是一種復原控制組態 API 操作。我們建議您將 ARC 區域叢集端點的本機副本保留在書籤中，或以自動化程式碼進行硬式編碼，以用於重試端點。*

## 1. 列出路由控制
<a name="getting-started-cli-routing.view-rc"></a>

您可以使用高度可靠的 ARC 資料平面端點來檢視路由控制和路由控制狀態。

1. 列出特定控制面板的路由控制。如果您未指定控制面板， 會`list-routing-controls`傳回叢集中的所有路由控制項。

```
aws route53-recovery-cluster list-routing-controls --control-panel-arn \
        arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456 \ 
        --region us-west-2 \
        --endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

```
{
    "RoutingControls": [{
        "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "ControlPanelName": "ExampleControlPanel",
        "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
        "RoutingControlName": "RCOne",
        "RoutingControlState": "On"
    },
    {
        "ControlPanelArn": "arn:aws:route53-recovery-control::023759465626:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "ControlPanelName": "ExampleControlPanel",
        "RoutingControlArn": "arn:aws:route53-recovery-control::023759465626:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/zzzzxxxxyyyy123456",
        "RoutingControlName": "RCTwo",
        "RoutingControlState": "Off"
    }
]
```

## 2. 取得路由控制
<a name="getting-started-cli-routing.get-rc"></a>

2. 取得路由控制狀態。

```
aws route53-recovery-cluster get-routing-control-state --routing-control-arn \
        arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567 \
        --region us-west-2 \
        --endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

```
{"RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
    "RoutingControlName": "RCOne",
    "RoutingControlState": "On"
}
```

## 2. 更新路由控制
<a name="getting-started-cli-routing.update-rc"></a>

若要將流量路由至由路由控制控制控制的目標端點，請將路由控制狀態更新為 `On`。執行命令 來更新路由控制狀態`update-routing-control-state`。（請求成功時，回應為空白。)

2a. 更新路由控制狀態。

```
aws route53-recovery-cluster update-routing-control-state \
        --routing-control-arn \
        arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567 \
        --routing-control-state On \
        --region us-west-2 \
        --endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

```
{}
```

您可以使用一個 API 呼叫同時更新數個路由控制：`update-routing-control-states`。（請求成功時，回應為空白。)

2b. 一次更新數個路由控制狀態 （批次更新）。

```
aws route53-recovery-cluster update-routing-control-states \
        --update-routing-control-state-entries \
        '[{"RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
        "RoutingControlState": "Off"}, \
        {"RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/hijklmnop987654321",
        "RoutingControlState": "On"}]' \
        --region us-west-2 \
        --endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

```
{}
```