View a markdown version of this page

使用 列出和更新路由控制和狀態AWS CLI - Amazon Application Recovery Controller (ARC)

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

使用 列出和更新路由控制和狀態AWS CLI

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

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

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

如需使用 的詳細資訊AWS CLI,請參閱 AWS CLI命令參考。如需路由控制 API 動作和詳細資訊連結的清單,請參閱 路由控制 API 操作

重要

雖然您可以在 Amazon Route 53 主控台上更新路由控制狀態,但我們建議您使用 AWS CLI或 AWSSDK 更新路由控制狀態。ARC 提供極高的可靠性與 ARC 路由控制資料平面,用於重新路由流量和跨儲存格容錯移轉。如需使用 ARC 進行容錯移轉的更多建議,請參閱 ARC 中路由控制的最佳實務

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

若要判斷要指定的區域和端點,請執行 describe-clusters命令以檢視 ClusterEndpoints。每個 都ClusterEndpoint包含一個區域和對應的端點,您可以用來取得或更新路由控制狀態。 DescribeCluster 是一種復原控制組態 API 操作。我們建議您將 ARC 區域叢集端點的本機副本保留在書籤中,或以自動化程式碼進行硬式編碼,以用於重試端點。

1. 列出路由控制

您可以使用高度可靠的 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. 取得路由控制

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. 更新路由控制

若要將流量路由到由路由控制控制控制的目標端點,請將路由控制狀態更新為 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
{}