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

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

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

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

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

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

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

重要

雖然您可以在 Amazon Route 53 主控台上更新路由控制狀態,但我們建議您使用 AWS CLI 或 更新路由控制狀態 AWS SDK。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
{}