预置一组 Amazon Route 53 应用程序恢复控制器资源(集群、路由控件和可能的控制面板)后,您可以开始与集群交互,以使用高度可靠的 Route 53 ARC 数据平面终端节点列出和更新路由控制状态。
对于您创建的每个集群,Route 53 ARC 为您提供一组集群终端节点。当您调用集群以检索或将路由控制状态设置为On
或时,您必须指定这些区域终端节点(AWS 区域和终端节点 URL)之一Off
。除了区域终端节点之外,您还必须在 --region
将 AWS CLI 与 Route 53 ARC 一起使用时指定区域终端节点的名称,如本节中的示例所示。
您可以使用任何区域集群端点。我们建议您的系统准备好使用每个可用端点重试。有关说明按顺序尝试集群终端节点的代码示例,请参阅使用 AWS 开发工具包的应用程序恢复控制器操作。
尽管您可以在 Amazon Route 53 控制台上更新路由控制状态,但我们建议您使用 AWS CLI更新路由控制状态。Route 53 ARC 通过 Route 53 ARC 路由控制数据平面提供极高的可靠性,用于重新路由流量和跨单元故障转移。
创建路由控件时,状态设置为Off
。这意味着流量不会被路由到该路由控制的目标单元。您可以通过运行命令来验证路由控制的状态 get-routing-control-state
。
要确定要指定的区域和端点,请运行describe-clusters
命令以查看ClusterEndpoints
. 每个都ClusterEndpoint
包含一个区域和相应的端点,您可以使用它们来获取或更新路由控制状态。DescribeCluster是一个恢复控制配置 API 操作。我们建议您将 Route 53 ARC 区域集群终端节点的本地副本保存在书签中,或者在您用于重试终端节点的自动化代码中硬编码。
您可以使用高度可靠的 Route 53 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.获取路由控制状态。
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"}
要将流量路由到路由控件控制的目标端点,请将路由控件状态更新为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
{}