搭配使用 ARC 中的区域切换和 Amazon EventBridge
使用 Amazon EventBridge,您可以设置事件驱动型规则,以监控您的 Amazon 应用程序恢复控制器(ARC)中的区域切换资源并启动使用其他 Amazon 服务的目标操作。例如,您可以设置一个规则,每当区域切换计划完成执行时,通过向 Amazon SNS 主题发信号来发送电子邮件通知。
您可以在 Amazon EventBridge 中创建规则,以处理以下任何 ARC 区域切换事件:
-
区域切换计划执行。该事件表明区域切换计划已运行(已执行)。
-
区域切换计划评估。该事件表明区域切换计划评估已完成。
要捕获您感兴趣的特定 ARC 事件,请定义 EventBridge 可用于检测事件的特定事件规律。事件规律与它们匹配的事件具有相同的结构。模式引用了您要匹配的字段,并提供您所查找的值。
尽最大努力发出事件。在正常运行环境下,它们近乎实时地从 ARC 发送到 EventBridge。但是,可能会出现延迟或阻止事件交付的情况。
有关 EventBridge 规则如何处理事件规律的信息,请参阅 EventBridge 中的事件和事件规律。
使用 EventBridge 监控区域切换资源
使用 EventBridge,您可以创建规则来定义 ARC 为其区域切换资源发出事件时要采取的操作。
要键入或复制事件规律并将其粘贴到 EventBridge 控制台中,请在控制台中选择输入自己的选项。为帮助确定对您有用的事件规律,本主题包括区域切换模式示例。
要为资源事件创建规则
访问 https://console.aws.amazon.com/events/
,打开 Amazon EventBridge 控制台。 -
对于要在其中创建规则的 Amazon Web Services 区域,选择您想要监控其事件的计划所在的区域。
-
选择 Create rule (创建规则)。
-
输入规则的 Name (名称) 和“Description (描述)”(可选)。
-
对于事件总线,保留默认值,即默认。
-
选择下一步。
-
对于构建事件规律步骤,对于事件源,保留默认值,即 Amazon 事件。
-
在示例事件下,选择输入我自己的。
-
对于示例事件,键入或复制并粘贴事件规律。有关示例,请参阅下一节。
区域切换模式示例
事件规律与它们匹配的事件具有相同的结构。模式引用了您要匹配的字段,并提供您所查找的值。
您可以将本节中的事件规律复制并粘贴到 EventBridge 中,以创建可用于监控 ARC 操作和资源的规则。
以下事件规律提供了您可以在 EventBridge 中使用的示例,通过该示例,您可以了解 ARC 中的区域切换功能。
-
从 PlanExecution 的区域切换中选择所有事件。
{ "source": [ "aws.arc-region-switch" ], "detail-type": [ "ARC Region switch Plan Execution" ] } -
从 PlanEvaluation 的区域切换中选择所有事件。
{ "source": [ "aws.arc-region-switch" ], "detail-type": [ "ARC Region Switch Plan Evaluation" ] }
以下是区域切换计划执行的 ARC 事件示例:
{ "version": "0", "id": "1111111-bbbb-aaaa-cccc-dddddEXAMPLE", # Random uuid "detail-type": "ARC Region Switch Plan Execution", "source": "aws.arc-region-switch", "account": "111122223333", "time": "2023-11-16T23:38:14Z", "region": "us-east-1", "resources": ["arn:aws:arc-region-switch::111122223333:plan/aaaaaExample"], # planArn "detail": { "version": "0.0.1", "eventType": "ExecutionStarted", "executionId": "bbbbbbEXAMPLE", "executionAction": "activating/deactivating {region}", "idempotencyKey": "1111111-2222-3333-4444-5555555555", # As there is a possibility of dual logging } }
以下是区域切换计划步骤级别执行的 ARC 事件示例:
{ "version": "0", "id": "1111111-bbbb-aaaa-cccc-dddddEXAMPLE", # Random uuid "detail-type": "ARC Region Switch Plan Execution", "source": "aws.arc-region-switch", "account": "111122223333", "time": "2023-11-16T23:38:14Z", "region": "us-east-1", "resources": ["arn:aws:arc-region-switch::111122223333:plan/aaaaaExample"], # planArn "detail": { "version": "0.0.1", "eventType": "StepStarted", "executionId": "bbbbbbEXAMPLE", "executionAction": "activating/deactivating {region}", "idempotencyKey": "1111111-2222-3333-4444-5555555555", # As there is a possibility of dual logging "stepDetails" : { "stepName": "Routing control step", "resource": ["arn:aws:route53-recovery-control::111122223333:controlpanel/abcdefghiEXAMPLE/routingcontrol/jklmnopqrsEXAMPLE"] } } }
以下是区域切换计划评估警告的 ARC 事件示例:
对于区域切换计划评估,当返回警告时会发出一个事件。如果警告未被清除,则每 24 小时仅针对该警告发出一次事件。该事件清除后,不会针对该警告发出更多事件。
{ "version": "0", "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4", # Random uuid "detail-type": "ARC Region Switch Plan Execution", "source": "aws.arc-region-switch", "account": "111122223333", "time": "2023-11-16T23:38:14Z", "region": "us-east-1", "resources": ["arn:aws:arc-region-switch::111122223333:plan/a2b89be4821bfd1d"], "detail": { "version": "0.0.1", "idempotencyKey": "1111111-2222-3333-4444-5555555555", "metadata": { "evaluationTime" : "timestamp", "warning" : "There is a plan evaluation warning for arn:aws:arc-region-switch::111122223333:plan/a2b89be4821bfd1d. Navigate to the Region switch console to resolve." } } }
指定要用作目标的 CloudWatch 日志组
创建 EventBridge 规则时,必须指定匹配该规则的事件将发送到的目标。有关 EventBridge 可用目标的列表,请参阅 EventBridge 控制台中的可用目标。您可以添加到 EventBridge 规则的目标之一是 Amazon CloudWatch 日志组。本节介绍了将 CloudWatch 日志组添加为目标的要求,并提供了在创建规则时添加日志组的过程。
要将 CloudWatch 日志组添加为目标,您可以执行下列操作之一:
创建新日志组
选择现有日志组
如果您在创建规则时使用控制台指定了新的日志组,则 EventBridge 会自动为您创建该日志组。请确保用作 EventBridge 规则目标的日志组以 /aws/events 开头。如果要选择现有的日志组,请注意,只有以 /aws/events 开头的日志组才会作为选项出现在下拉菜单中。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的创建新日志组。
如果您在控制台之外使用 CloudWatch 操作创建或使用 CloudWatch 日志组作为目标,请确保正确设置权限。如果您使用控制台将日志组添加到 EventBridge 规则,则该日志组的基于资源的策略会自动更新。但是,如果您使用 Amazon Command Line Interface或 Amazon SDK 来指定日志组,则必须更新该日志组的基于资源的策略。以下示例策略说明了您必须在日志组的基于资源的策略中定义的权限:
您无法使用控制台为日志组配置基于资源的策略。要向基于资源的策略添加所需的权限,请使用 CloudWatch PutResourcePolicy API 操作。然后,您可以使用 describe-resource-policies
为资源事件创建规则并指定 CloudWatch 日志组目标
访问 https://console.aws.amazon.com/events/
,打开 Amazon EventBridge 控制台。 -
选择要在其中创建规则的 Amazon Web Services 区域。
-
选择创建规则,然后输入有关该规则的所有信息,例如事件规律或计划详细信息。
有关创建 EventBridge 就绪规则的更多信息,请参阅使用 EventBridge 监控就绪检查资源。
在选择目标页面上,选择 CloudWatch 作为您的目标。
从下拉菜单中选择一个 CloudWatch 日志组。