

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

# 使用全局端点使应用程序具有区域容错能力 EventBridge
<a name="eb-global-endpoints"></a>

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

使用全局端点时，可以启用[事件复制](#eb-ge-event-replication)。事件复制使用托管规则将所有自定义事件发送到主区域和辅助区域中的事件总线。

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

## 恢复时间和恢复点目标
<a name="eb-ge-rpo-rto"></a>

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

## 事件复制
<a name="eb-ge-event-replication"></a>

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

我们建议在设置全局端点时启用事件复制，原因如下：
+ 事件复制可帮助您验证全局端点配置是否正确。这有助于确保在失效转移时为您提供保障。
+ 要自动从失效转移事件中恢复，需要事件复制。如果您未启用事件复制，则必须手动将 Route 53 运行状况检查重置为“正常”，然后事件才会返回主区域。

### 复制的事件负载
<a name="eb-ge-event-replication-ep"></a>

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

**注意**  
对于 `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"
    }
}
```

## 使用 AWS SDK 使用全局端点
<a name="eb-ge-sdk-update"></a>

**注意**  
即将推出对 C\+\+ 的支持。

使用 S AWS DK 处理全局端点时，请记住以下几点：
+ 您需要为特定 SDK 安装 AWS 通用运行时 (CRT) 库。如果没有安装 CRT，会收到一条异常消息，指示需要安装的内容。有关更多信息，请参阅下列内容：
  + [AWS 通用运行时 (CRT) 库](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html)
  + [awslabs/ aws-crt-java](https://github.com/awslabs/aws-crt-java)
  + [awslabs/ aws-crt-nodejs](https://github.com/awslabs/aws-crt-nodejs)
  + [awslabs/ aws-crt-python](https://github.com/awslabs/aws-crt-python)
+ 创建全局端点后，您需要将 `endpointId` 和 `EventBusName` 添加到您使用的任何 `PutEvents` 调用中。
+ 全局端点支持签名版本 4A。此版本的 SigV4 允许对多个 AWS 区域签署请求。这对于可能导致从多个区域之一访问数据的 API 操作非常有用。使用 AWS SDK 时，您需要提供凭据，向全局终端节点发出的请求将使用签名版本 4A，无需额外配置。有关 SigV4A 的更多信息，请参阅 *AWS 一般参考*中的[签署 AWS API 请求](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html )。

  如果您从全局 AWS STS 终端节点 (sts.amazonaws.com) 请求临时证书，则会 AWS STS 出售默认情况下不支持 Sigv4A 的证书。有关更多信息 [AWS STS ，请参阅《*AWS Identity and Access Management 用户指南*》中的 “在 AWS 区域中管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)”。

## 可用区
<a name="eb-ge-avail-regions"></a>

以下区域支持全局端点。
+ 美国东部（弗吉尼亚州北部）
+ 美国东部（俄亥俄州）
+ 美国西部（北加利福尼亚）
+ 美国西部（俄勒冈州）
+ 加拿大（中部）
+ 欧洲地区（法兰克福）
+ 欧洲地区（爱尔兰）
+ 欧洲地区（伦敦）
+ 欧洲地区（米兰）
+ 欧洲地区（巴黎）
+ 欧洲地区（斯德哥尔摩）
+ 亚太地区（孟买）
+ 亚太地区（大阪）
+ 亚太地区（首尔）
+ 亚太地区（新加坡）
+ 亚太地区（悉尼）
+ 亚太地区（东京）
+ 南美洲（圣保罗）