使用 CloudWatch Events 监控 AWS RAM - AWS Resource Access Manager

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

使用 CloudWatch Events 监控 AWS RAM

使用 Amazon CloudWatch Events,您可以为 AWS RAM 中的特定事件设置自动通知。AWS RAM 中的事件近乎实时地传输到 CloudWatch Events。您可以将 CloudWatch Events 配置为监控事件并调用目标以响应指出对资源共享进行更改的事件。对资源共享进行更改会针对资源共享的所有者以及获授权访问资源共享的主体触发事件。

当您创建事件模式时,源为 aws.ram

注意

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

有关更多信息,请参阅 Amazon CloudWatch Events 用户指南

示例:在资源共享失败时发出警报

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

但是,如果您不满足共享容量预留的所有先决条件,则共享资源所涉及的异步任务执行可能会静默失败。如果共享操作失败,并且其他账户中的用户试图启动具有其中一个容量预留的实例,则 Amazon EC2 就会像容量预留已满一样执行操作,并将该实例作为按需实例启动。这可能导致成本高于预期。

要监控资源共享故障,请设置 Amazon CloudWatch Events 规则,以便在 AWS RAM 资源共享失败时提醒您。以下教程过程使用 Amazon Simple Notification Service (SNS) 主题,在 EventBridge 发现资源共享失败时通知所有主题订阅用户。有关 Amazon SNS 的更多信息,请参阅 Amazon Simple Notification Service 开发人员指南

要创建在资源共享失败时通知您的规则,请执行以下操作:
  1. 打开 Amazon EventBridge 控制台

  2. 在导航窗格中,选择规则,然后在规则列表中,选择创建规则

  3. 输入规则的名称和描述(可选),然后选择下一步

  4. 向下滚动到事件模式框,然后选择自定义模式(JSON 编辑器)

  5. 复制并粘贴以下事件模式:

    { "source": ["aws.ram"], "detail-type": ["Resource Sharing State Change"], "detail": { "event": ["Resource Share Association"], "status": ["failed"] } }
  6. 选择 Next(下一步)。

  7. 对于目标 1,在目标类型下选择 AWS 服务

  8. 对于选择一个目标,选择 SNS 主题

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

  10. 选择下一步,然后再次选择下一步,以查看您的配置。

  11. 如果您对选项感到满意,请选择创建规则

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

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

您还可以尝试在 Amazon EC2 控制台中通过共享容量预留的账户查看共享容量预留,从而确认共享容量预留是否可供这些账户访问。