使用 Amazon CLI 带区域自动换档的示例 - Amazon 应用程序恢复控制器 (ARC)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon CLI 带区域自动换档的示例

本节介绍使用区域自动移位的简单应用示例,使用使用 API 操作在 Amazon Command Line Interface Amazon 应用程序恢复控制器 (ARC) 中使用区域自动移位功能。这些示例旨在帮助您基本了解如何使用 CLI 使用区域自动移位。

区域自动换档是 ARC 中的一项功能。使用 zonal autoshift,您可以授权 Amazon 在活动期间代表您转移可用区域中支持的应用程序资源流量,以帮助缩短恢复时间。区域自动换档包括练习跑,它还可以将流量从可用区转移出去,以帮助持续验证自动换档对您的应用程序是否安全。

有关更多信息,请参阅 支持的资源

本节提供了以下示例,以阐明如何开始使用和处理可用区自动转移:

  • 为资源创建练习运行配置。

  • 对资源启用和禁用自动转移。

  • 通过取消由正在进行的练习运行启动的可用区转移来结束该练习运行。

  • 通过对资源禁用可用区自动转移特征来结束正在进行的自动转移。

  • 编辑资源的练习运行配置,以更改指定的警报或阻止日期或时段。

  • 为资源删除练习运行配置。

有关使用的更多信息 Amazon CLI,请参阅《Amazon CLI 命令参考》。有关可用区自动转移 API 操作的列表和指向更多信息的链接,请参阅可用区自动转移 API 操作

创建练习运行配置

在能够为资源启用可用区自动转移之前,必须为该资源创建练习运行配置,以便为所需的练习运行选择选项。您可以通过使用 create-practice-run-configuration 命令,借助 CLI 为资源创建练习运行配置。

在为资源创建练习运行配置时,请注意以下几点:

  • 此时,唯一受支持的警报类型为 CLOUDWATCH

  • 您必须使用与您的资源部署相同的 Amazon Web Services 区域 警报。

  • 必须指定结果警报。可以选择指定阻止警报。

  • 可选择指定阻止日期或阻止时段。

您可以通过使用 create-practice-run-configuration 命令,借助 CLI 创建练习运行配置。

例如,要为资源创建练习运行配置,可使用如下命令:

aws arc-zonal-shift create-practice-run-configuration \ --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890" \ --outcome-alarms type=CLOUDWATCH,alarmIdentifier=arn:aws:cloudwatch:Region:111122223333:alarm:Region-MyAppHealthAlarm \ --blocking-alarms type=CLOUDWATCH,alarmIdentifier=arn:aws:cloudwatch:Region:111122223333:alarm:Region-BlockWhenALARM \ --blocked-dates 2023-12-01 --blocked-windows Mon:10:00-Mon:10:30
{ "arn": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890", "name": "zonal-shift-elb" "zonalAutoshiftStatus": "DISABLED", "practiceRunConfiguration": { "blockingAlarms": [ { "type": "CLOUDWATCH", "alarmIdentifier": "arn:aws:cloudwatch:us-west-2:111122223333:alarm:us-west-2-BlockWhenALARM" } ] "outcomeAlarms": [ { "type": "CLOUDWATCH", "alarmIdentifier": "arn:aws:cloudwatch:us-west-2:111122223333:alarm:us-west-2-MyAppHealthAlarm" } ], "blockedWindows": [ "Mon:10:00-Mon:10:30" ], "blockedDates": [ "2023-12-01" ] }

启用或禁用自动转移

您可以通过使用 CLI 更新可用区自动转移状态来对资源启用或禁用自动转移。要更改可用区自动转移状态,请使用 update-zonal-autoshift-configuration 命令。

例如,要对资源启用自动转移,请使用如下命令:

aws arc-zonal-shift update-zonal-autoshift-configuration \ --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890" \ --zonal-autoshift-status="ENABLED"
{ "resourceIdentifier": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890", "zonalAutoshiftStatus": "ENABLED" }

取消正在进行的自动转移

您可以使用 CLI 取消正在进行的自动移位,方法是取消资源的区域自动移位。要取消区域自动切换,请使用。cancel-zonal-shift command

aws arc-zonal-shift cancel-zonal-shift --zonal-shift-id 9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38
{ "awayFrom": "usw2-az1", "comment": "Zonal autoshift started. Shifting traffic away from Availability Zone usw2-az1.", "expiryTime": "2024-12-17T22:29:38-08:00", "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05", "startTime": "2024-12-17T21:27:26-08:00", "status": "CANCELED", "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38" }

取消正在进行的练习运行

您可以使用 CLI 来取消正在进行的练习运行,方法为:取消练习运行为资源启动的可用区转移。要取消练习运行,请使用 cancel-zonal-shift 命令。

例如,要对资源取消练习运行,请使用如下命令:

aws arc-zonal-shift cancel-zonal-shift \ --zonal-shift-id="="arn:aws:testservice::111122223333:ExampleALB123456890"
{ "zonalShiftId": "2222222-3333-444-1111", "resourceIdentifier": "arn:aws:testservice::111122223333:ExampleALB123456890", "awayFrom": "usw2-az1", "expiryTime": 2024-11-15T10:35:42+00:00, "startTime": 2024-11-15T09:35:42+00:00, "status": "CANCELED", "comment": "Practice Run Started" }

编辑练习运行配置

您可以使用 CLI 编辑资源的练习跑配置,以更新不同的配置选项,例如更改练习跑的警报,或者在 ARC 无法开始练习跑步时更新被屏蔽的日期或封锁的窗口。要编辑练习运行配置,请使用 update-practice-run-configuration 命令。

在为资源编辑练习运行配置时,请注意以下几点:

  • 此时,唯一受支持的警报类型为 CLOUDWATCH

  • 您必须使用与您的资源部署相同的 Amazon Web Services 区域 警报。

  • 必须指定结果警报。可以选择指定阻止警报。

  • 可选择指定阻止日期或阻止时段。

  • 您指定的阻止日期或阻止时段将替换任何现有值。

例如,要编辑资源的练习运行配置以指定新的阻止日期,请使用如下命令:

aws arc-zonal-shift update-practice-run-configuration \ --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890" \ --blocked-dates 2024-03-01
{ "arn": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890", "name": "zonal-shift-elb" "zonalAutoshiftStatus": "DISABLED", "practiceRunConfiguration": { "blockingAlarms": [ { "type": "CLOUDWATCH", "alarmIdentifier": "arn:aws:cloudwatch:us-west-2:111122223333:alarm:us-west-2-BlockWhenALARM" } ] "outcomeAlarms": [ { "type": "CLOUDWATCH", "alarmIdentifier": "arn:aws:cloudwatch:us-west-2:111122223333:alarm:us-west-2-MyAppHealthAlarm" } ], "blockedWindows": [ "Mon:10:00-Mon:10:30" ], "blockedDates": [ "2024-03-01" ] }

删除练习运行配置

您可以删除资源的练习运行配置,但必须先对该资源禁用可用区自动转移。资源需要具有练习运行配置,才能启用可用区自动转移。定期练习运行有助于您确保应用程序可以在没有一个可用区的情况下正常运行。

要使用 CLI 删除练习运行配置,请先使用 update-zonal-autoshift 命令禁用可用区自动转移(如果需要)。然后,可使用 delete-practice-run-configuration 命令删除练习运行配置。

首先,使用如下命令对资源禁用可用区自动转移:

aws arc-zonal-shift update-zonal-autoshift-configuration \ --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890" \ --zonal-autoshift-status="DISABLED"
{ "resourceIdentifier": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890", "zonalAutoshiftStatus": "DISABLED" }

然后,使用如下命令删除练习运行配置:

aws arc-zonal-shift delete-practice-run-configuration \ --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890"
{ "arn": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890", "name": "TestResource", "zonalAutoshiftStatus": "DISABLED" }