

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

# 使用 列出和更新路由控制和狀態 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
```

```
{}
```