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

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

在 Amazon 上使用区域自动换档 EventBridge

使用 Amazon EventBridge,您可以设置事件驱动的规则,以监控您的区域自动转移资源并启动使用其他服务的目标操作。 Amazon 例如,您可以设置一个规则,即,当练习运行面向可用区自动转移启动时,通过向 Amazon SNS 主题发信号来发送电子邮件通知。

您可以在 Amazon 中创建规则 EventBridge 来处理区域自动移动。可用区自动转移事件指定有关练习运行或自动转移的状态信息(例如,在启动练习运行时)。您可以配置可用区自动转移,以通知您为服务启用的资源的可用区自动转移事件。

除了或取代其他通知之外,您还可以选择启用自动移位观察者通知,每当为可能受损的可用区 Amazon 启动自动换档时,它都会提供通知事件。自动转移观察者通知与您为其启用可用区自动转移的资源的流量从可用区转移出去时收到的通知是分开的。您无需使用可用区自动转移配置任何资源即可启用自动转移观察者通知。有关更多信息,请参阅 启用并使用可用区自动转移

要捕获您感兴趣的特定区域自动移位事件,请定义 EventBridge 可用于检测事件的特定事件模式。事件规律与它们匹配的事件具有相同的结构。模式引用了您要匹配的字段,并提供您所查找的值。

尽最大努力发出事件。在正常运行 EventBridge 情况下,它们几乎实时地从 ARC 交付到。但是,可能会出现延迟或阻止事件交付的情况。

有关 EventBridge 规则如何处理事件模式的信息,请参阅中的事件和事件模式 EventBridge

使用以下命令监控区域自动移位资源 EventBridge

借 EventBridge助,您可以创建规则,以定义 ARC 为其资源发出事件时要采取的操作。例如,您可以创建一个规则,即,当练习运行面向可用区自动转移启动时,向您发送电子邮件。

要在控制台中键入或复制并粘贴事件模式,请选择该选项以在 EventBridge 控制台中使用 Enter my ow n 选项。为帮助您确定可能对您有用的事件规律,本主题包括您可以使用的可用区自动转移事件匹配模式可用区自动转移事件的示例。

要为资源事件创建规则
  1. 打开 Amazon EventBridge 控制台,网址为https://console.aws.amazon.com/events/

  2. 选择您 Amazon Web Services 区域 要在其中创建规则的区域,即您有兴趣观看其赛事的区域。

  3. 选择 Create rule (创建规则)

  4. 输入规则的 Name (名称) 和“Description (描述)”(可选)。

  5. 对于事件总线,保留默认值,即默认

  6. 选择下一步

  7. 对于构建事件规律步骤,对于事件源,保留默认值,即 Amazon 事件

  8. 示例事件下,选择输入我自己的

  9. 对于示例事件,键入或复制并粘贴事件规律。

可用区自动转移事件规律示例

事件规律与它们匹配的事件具有相同的结构。模式引用了您要匹配的字段,并提供您所查找的值。

您可以将此部分中的事件模式复制并粘贴 EventBridge 到中,以创建可用于监控区域自动移位操作和资源的规则。

在为可用区自动转移事件创建事件规律时,可以为 detail-type 指定以下任一选项:

  • Autoshift In Progress

  • Autoshift Completed

  • Practice Run Started

  • Practice Run Succeeded

  • Practice Run Interrupted

  • Practice Run Failed

  • FIS Experiment Autoshift In Progress

  • FIS Experiment Autoshift Completed

  • FIS Experiment Autoshift Canceled

当练习运行中断时,可参阅 additionalFailureInfo 字段,以详细了解导致中断的原因。

您可以通过启用自动 Amazon 换档观察者通知来选择监控所有自动换档。启用自动转移观察者通知后,要接收通知,请选择接收可用区自动转移详细信息类型为 Autoshift In Progress 的通知。要查看启用自动转移观察者通知的步骤,请参阅 启用并使用可用区自动转移

有关示例,请参阅可用区自动转移事件示例部分。

  • 从已启动自动转移的可用区自动转移中选择所有事件。

    注意以下几点:

    • 如果您启用了自动转移观察者通知,ARC 会返回所有自动转移事件。

    • 如果您未启用自动转移观察者通知,则只有在自动转移中包含您为可用区自动转移配置的资源时,ARC 才会返回自动转移事件。

    { "source": [ "aws.arc-zonal-shift" ], "detail-type": [ "Autoshift In Progress" ] }
  • 从已启动练习运行的可用区自动转移中选择所有事件。

    { "source": [ "aws.arc-zonal-shift" ], "detail-type": [ "Practice Run Started" ] }
  • 从无法启动练习运行的可用区自动转移中选择所有事件。

    { "source": [ "aws.arc-zonal-shift" ], "detail-type": [ "Practice Run Failed" ] }

可用区自动转移事件示例

本节包括可用区自动转移操作的示例事件。

以下是 Autoshift In Progress 操作的示例事件,适用于 1) “已启用”自动转移观察者通知且 2) 您尚未为自动转移中包含的资源配置可用区自动转移这一情况:

{ "version": "0", "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4", "detail-type": "Autoshift In Progress", "source": "aws.arc-zonal-shift", "account": "111122223333", "time": "2023-11-16T23:38:14Z", "region": "us-east-1", "resources": [], "detail": { "version": "0.0.1", "data": "", "metadata": { "awayFrom": "use1-az2", "notes":"Amazon has started an autoshift for an impaired Availability Zone. This notification is separate from autoshift notifications for resources, if any, that you have configured for zonal autoshift. For details, see the Developer Guide." } } }

以下是 Autoshift In Progress 操作的示例事件,适用于 1) “已禁用”自动转移观察者通知且 2) 您已为自动转移中包含的资源配置可用区自动转移这一情况:

{ "version": "0", "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4", "detail-type": "Autoshift In Progress", "source": "aws.arc-zonal-shift", "account": "111122223333", "time": "2023-11-16T23:38:14Z", "region": "us-east-1", "resources": [ "TEST-EXAMPLE-2023-11-16-23-28-11-5" ], "detail": { "version": "0.0.1", "data": "", "metadata": { "awayFrom": "use1-az2", "notes":"" } } }

以下是 Practice Run Interrupted 操作的示例事件:

{ "version": "0", "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4", "detail-type": "Practice Run Interrupted", "source": "aws.arc-zonal-shift", "account": "111122223333", "time": "2023-11-16T23:38:14Z", "region": "us-east-1", "resources": [ "TEST-EXAMPLE-2023-11-16-23-28-11-5" ], "detail": { "version": "0.0.1", "data": { "additionalFailureInfo": "Practice run interrupted. The blocking alarm entered ALARM state." }, "metadata": { "awayFrom": "use1-az2" } } }

以下是 FIS Experiment Autoshift In Progress 操作的示例事件:

{ "version": "0", "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4", "detail-type": "FIS Experiment Autoshift In Progress", "source": "aws.arc-zonal-shift", "account": "111122223333", "time": "2023-11-16T23:38:14Z", "region": "us-east-1", "resources": [ "TEST-EXAMPLE-2023-11-16-23-28-11-5" ], "detail": { "version": "0.0.1", "data": "", "metadata": { "awayFrom": "use1-az2", "notes":"" } } }

指定要用作目标的 CloudWatch 日志组

创建 EventBridge 规则时,必须指定将与该规则匹配的事件发送到哪个目标。有关可用目标的列表 EventBridge,请参阅 EventBridge 控制台中的可用目标。您可以添加到 EventBridge 规则的目标之一是 Amazon CloudWatch 日志组。本节介绍将 CloudWatch 日志组添加为目标的要求,并提供了在创建规则时添加日志组的过程。

要将 CloudWatch 日志组添加为目标,可以执行以下操作之一:

  • 创建新日志组

  • 选择现有日志组

如果您在创建规则时使用控制台指定了新的日志组,则 EventBridge 会自动为您创建该日志组。确保用作 EventBridge 规则目标的日志组以开头/aws/events。如果要选择现有的日志组,请注意,只有以 /aws/events 开头的日志组才会作为选项出现在下拉菜单中。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的创建新日志组

如果您使用控制台之外的 CloudWatch 操作创建或使用 CloudWatch 日志组作为目标,请确保正确设置权限。如果您使用控制台向 EventBridge 规则添加日志组,则该日志组的基于资源的策略会自动更新。但是,如果您使用 Amazon Command Line Interface 或 S Amazon DK 来指定日志组,则必须更新该日志组的基于资源的策略。以下示例策略说明了您必须在日志组的基于资源的策略中定义的权限:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com", "delivery.logs.amazonaws.com" ] }, "Resource": "arn:aws:logs:us-east-1:222222222222:log-group:/aws/events/*:*", "Sid": "TrustEventsToStoreLogEvent" } ] }

您无法使用控制台为日志组配置基于资源的策略。要向基于资源的策略添加所需的权限,请使用 CloudWatch PutResourcePolicyAPI 操作。然后,您可以使用 describe-resource-policiesCLI 命令来检查您的策略是否已正确应用。

为资源事件创建规则并指定 CloudWatch 日志组目标
  1. 打开 Amazon EventBridge 控制台,网址为https://console.aws.amazon.com/events/

  2. 选择 Amazon Web Services 区域 要在其中创建规则的。

  3. 选择创建规则,然后输入有关该规则的所有信息,例如事件规律或计划详细信息。

    有关为 ARC 创建 EventBridge 规则的更多信息,请参阅本主题前面的部分。

  4. “选择目标” 页面上,选择CloudWatch作为您的目标。

  5. 从下拉菜单中选择一个 CloudWatch 日志组。