通过 EventBridge 中的全局端点使应用程序具备区域容错能力 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

通过 EventBridge 中的全局端点使应用程序具备区域容错能力

您可以使用 Amazon EventBridge 全局端点提高应用程序的可用性。全局端点使您的应用程序具有区域容错能力,且无需支付额外费用。首先,您需要向端点分配 Amazon Route 53 运行状况检查。启动失效转移后,运行状况检查会报告“运行不正常”状态。在失效转移启动后的几分钟内,所有自定义事件都将路由到辅助区域中的事件总线,并由该事件总线进行处理。一旦运行状况检查报告“正常”状态,事件将由主区域中的事件总线处理。

使用全局端点时,可以启用事件复制。事件复制使用托管规则将所有自定义事件发送到主区域和辅助区域中的事件总线。

注意

如果您使用的是自定义总线,则需要在每个区域的相同账户中,使用名称相同的自定义总线,这样失效转移才能正常运行。

恢复时间和恢复点目标

恢复时间目标 (RTO) 是在故障后辅助区域开始接收事件所花费的时间。对于 RTO,该时间包括触发 CloudWatch 警报和更新 Route 53 运行状况检查状态的时间段。恢复点目标 (RPO) 可衡量故障期间未处理的数据。对于 RPO,该时间包括未复制到辅助区域,且在服务或区域恢复之前停留在主区域的事件。使用全局端点,如果您遵循我们的警报配置规范性指南,则可以预计 RTO 和 RPO 为 360 秒,最长为 420 秒。

事件复制

辅助区域中的事件以异步方式处理。这意味着不能保证两个区域中的事件会同时处理。触发失效转移后,事件由辅助区域处理,并在主区域可用时由主区域处理。启用事件复制会增加您的月度费用。有关更多信息,请参阅 Amazon EventBridge 定价

我们建议在设置全局端点时启用事件复制,原因如下:

  • 事件复制可帮助您验证全局端点配置是否正确。这有助于确保在失效转移时为您提供保障。

  • 要自动从失效转移事件中恢复,需要事件复制。如果您未启用事件复制,则必须手动将 Route 53 运行状况检查重置为“正常”,然后事件才会返回主区域。

复制的事件负载

以下是复制的事件负载示例:

注意

对于 region,列出了复制事件的源区域。

{ "version": "0", "id": "a908baa3-65e5-ab77-367e-527c0e71bbc2", "detail-type": "Test", "source": "test.service.com", "account": "0123456789", "time": "1900-01-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:events:us-east-1:0123456789:endpoint/MyEndpoint" ], "detail": { "a": "b" } }

使用 Amazon 开发工具包处理全局端点

注意

即将推出对 C++ 的支持。

用 Amazon 开发工具包处理全局端点时,请牢记以下几点:

  • 您需要针对特定开发工具包安装 Amazon 通用运行时 (CRT) 库。如果没有安装 CRT,会收到一条异常消息,指示需要安装的内容。有关更多信息,请参阅下列内容:

  • 创建全局端点后,您需要将 endpointIdEventBusName 添加到您使用的任何 PutEvents 调用中。

  • 全局端点支持签名版本 4A。此版本的 SigV4 允许对多个 Amazon Web Services 区域签署请求。这对于可能导致从多个区域之一访问数据的 API 操作非常有用。使用 Amazon 开发工具包时,您可以提供凭证,对全局端点的请求将使用签名版本 4A,无需进行其他配置。有关 SigV4A 的更多信息,请参阅 Amazon 一般参考中的签署 Amazon API 请求

    如果您从全局 Amazon STS 端点(sts.amazonaws.com)请求临时凭证,则 Amazon STS 会发送默认情况下不支持 SigV4A 的凭证。有关更多信息,请参阅《Amazon Identity and Access Management 用户指南》中的管理 Amazon 区域中的 Amazon STS

可用区

以下区域支持全局端点。

  • 美国东部(弗吉尼亚州北部)

  • 美国东部(俄亥俄州)

  • 美国西部(加利福尼亚北部)

  • 美国西部(俄勒冈州)

  • 加拿大(中部)

  • 欧洲地区(法兰克福)

  • 欧洲地区(爱尔兰)

  • 欧洲地区(伦敦)

  • 欧洲地区(米兰)

  • 欧洲地区(巴黎)

  • 欧洲地区(斯德哥尔摩)

  • 亚太地区(孟买)

  • 亚太地区(大阪)

  • 亚太地区(首尔)

  • 亚太地区(新加坡)

  • 亚太地区(悉尼)

  • 亚太地区(东京)

  • 南美洲(圣保罗)