

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

# AWS RAM 使用监控 EventBridge
<a name="using-eventbridge"></a>

使用 Amazon EventBridge，您可以在中为特定事件设置自动通知 AWS RAM。来自 AWS RAM 的事件以近乎实时 EventBridge 的方式传送到。您可以配置 EventBridge 为监控事件并调用目标以响应表明您的资源共享发生变化的事件。对资源共享进行更改会针对资源共享的所有者以及获授权访问资源共享的主体触发事件。

当您创建事件模式时，源为 `aws.ram`。

**注意**  
在编写依赖于这些事件的代码时要小心。这些事件不能得到保证，但会尽最大努力发出。如果 AWS RAM 尝试发出事件时出现错误，则服务会再尝试几次。但是，它可能会超时并导致该特定事件丢失。

有关更多信息，请参阅 Amazon EventBridge 用户指南。

## 示例：在资源共享失败时发出警报
<a name="using-eventbridge-example-sharing"></a>

想想这样一个场景：您希望与组织中的其他账户共享 Amazon EC2 容量预留。这样做是降低成本的好方法。

但是，如果您不满足[共享容量预留的所有先决条件](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservation-sharing.html#sharing-cr-prereq)，则共享资源所涉及的异步任务执行可能会静默失败。如果共享操作失败，并且其他账户中的用户试图启动具有其中一个容量预留的实例，则 Amazon EC2 就会像容量预留已满一样执行操作，并将该实例作为按需实例启动。这可能导致成本高于预期。

要监控资源共享故障，请设置 Amazon EventBridge 规则，在 AWS RAM 资源共享失败时提醒您。以下教程过程使用亚马逊简单通知服务 (SNS) Simple Notification Service 主题在 EventBridge 发现资源共享失败时通知所有主题订阅者。有关 Amazon SNS 的更多信息，请参阅 [Amazon Simple Notification Service 开发人员指南](https://docs.aws.amazon.com/sns/latest/dg/)。

**要创建在资源共享失败时通知您的规则，请执行以下操作：**

1. 打开 [Amazon EventBridge 控制台](https://console.aws.amazon.com/events)。

1. 在导航窗格中，选择**规则**，然后在**规则**列表中，选择**创建规则**。

1. 输入规则的名称和描述（可选），然后选择**下一步**。

1. 向下滚动到**事件模式**框，然后选择**自定义模式（JSON 编辑器）**。

1. 复制并粘贴以下事件模式：

   ```
   {
     "source": ["aws.ram"],
     "detail-type": ["Resource Sharing State Change"],
     "detail": {
       "event": ["Resource Share Association"],
       "status": ["failed"]
     }
   }
   ```

1. 选择**下一步**。

1. 对于**目标 1**，在**目标类型**下选择 **AWS 服务**。

1. 对于**选择一个目标**，选择 **SNS 主题**。

1. 对于**主题**，选择要发布通知的 SNS 主题。此主题必须已经存在。

1. 选择**下一步**，然后再次选择**下一步**，以查看您的配置。

1. 如果您对选项感到满意，请选择**创建规则**。

1. 返回到**规则**页面，确保将您的新规则标记为**已启用**。如有必要，选择规则名称旁边的单选按钮，然后选择**启用**。

只要启用该规则，任何失败的 AWS RAM 资源共享都会向您发布的主题的收件人发出 SNS 警报。

您还可以尝试[在 Amazon EC2 控制台中通过共享容量预留的账户查看共享容量预留](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservation-sharing.html#identifying-shared-cr)，从而确认共享容量预留是否可供这些账户访问。