当 S3 中的文件更改时通知 AWS 所有 ECS 实例

Notify AWS all ECS instances when file in S3 changes

想知道在文件上传或更新版本上传到 S3 时是否有通知所有 ECS 实例的方法?

据我所知,SNS、SQS 或 activity 只会通知将收到 notification/message.

的第一个实例

SNS 是广播通知的标准方式; this doc 描述了如何使用 S3 配置它。

如果所有监听器都是网络服务器,那么连接它们的最简单方法是使用来自 SNS 的 HTTP Notification

您需要对您的应用程序进行以下更改:

  • 启动时,请确保您的 服务器的 端点已订阅 SNS 主题。您不能 简单地订阅一个负载均衡端点,因为它会分配流量;不是所有的东西都会收到。
  • 您的应用程序必须侦听 subscription confirmation 请求并确认订阅。
  • 然后您的应用程序会侦听 notification 请求,并执行它需要执行的任何操作。

或者,您可以订阅 SQS 队列——每个感兴趣的服务器一个——但如果你有一个自动缩放的队列,这将成为一项管理工作。