【问题标题】:Using Amazon EventBridge for cross-account event publishing and receiving within an organization使用 Amazon EventBridge 在组织内发布和接收跨账户事件
【发布时间】:2020-02-04 23:30:33
【问题描述】:

我有一个 AWS 组织,下面有三个 AWS 账户:

  1. master - 包含整个应用程序的 master-bus(EventBridge 总线)
  2. order-service - 包含发布到 master-bus 的 lambdas
  3. shipping-service - 包含由 master-bus 的一些规则触发的 lambdas

绿色的流程是理想的。红色是我目前正在工作的:

  1. order-service 将事件放到自己的本地 order-bus
  2. order-bus 将所有事件发送到 master-bus
  3. master-bus 将所有事件发送到所有子总线(order-busshipping-bus
  4. shipping-bus 有一个规则过滤初始事件并发送到目标shipping-service

是否可以在主帐户中坚持使用单个事件总线?然后,是否有不同的账户直接与之交互,而不需要在每个单独的账户中使用中间事件总线?

【问题讨论】:

  • 你不能。所有帐户事件都转到帐户事件总线,它们还可以转发到其他帐户事件总线。无法阻止默认事件总线接收事件。
  • @victorm 所以基本上每个推送的事件实际上都计为 2 + count(child bus) 在定价方面(从 lambda 到本地总线,从本地总线到主总线,从主总线到本地总线) ——我数对了吗?
  • 不一定。您无需为帐户的默认事件总线付费 - 您为 lambda 付费。但是您需要为来自其他巴士的额外活动付费。您将规则添加到您的总线以限制您发送到其他帐户的事件,并且其他帐户可以过滤它们在其总线中允许的内容。这样您就可以限制开支。

标签: amazon-web-services amazon-cloudformation amazon-cloudwatch event-driven aws-organizations


【解决方案1】:

这里有几件事。 . . .

  1. 据我所知,EventBus 不能触发另一个帐户中的目标,而不是另一个帐户的事件总线。
  2. 你需要order-bus吗?为什么不让订单服务中的 lambda 在主账户中扮演一个角色,直接在 master-bus 中调用 PutEvents。

这个建议并没有去掉所有的红线,只是稍微简化了一点。

【讨论】:

  • 所以我仍然需要保留主总线和所有子总线,但只使用子总线来接收/过滤事件?
【解决方案2】:

是的,您不需要在每个帐户中都有唯一的总线 - 只需在所有帐户中创建一个总线,即“主总线”并授予所有帐户将事件放入其中...在每个帐户中,您将拥有将事件转发到主帐户的规则。然后,在主帐户中,您将创建规则来过滤和捕获您需要的事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-20
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    • 2020-10-23
    相关资源
    最近更新 更多