流式传输 Cloudformation 事件

Streaming Cloudformation Events

我想知道是否有人找到了将 AWS Cloudformation 堆栈事件流式传输到外部源的方法?例如通过 SNS.

我最终希望为我们的办公室创建一个仪表板,它将显示最近的 Cloudformation 事件以及其他信息。

我们有一些 Jenkins 脚本可以更新堆栈(例如,我们的应用程序堆栈上的新 AMI),最好一目了然地了解 CF 处于哪个阶段来修改和替换资源以响应更新。

有人做到了吗?

谢谢, 吉姆

据我所知,您目前有 3 个选择:

CFN 支持自定义资源。因此,您可以创建 SNS 主题并“请求”CFN 使用自定义变量将事件推送给它。 SNS 的消费者可以是从 AWS Lambda 到您自己的脚本的任何东西。

  "Subscriber" : {
      "Type" : "Custom::Subscribe",
      "Version" : "1.0",
      "Properties" : {
        "ServiceToken" : { "Ref" : "CustomResourceTopic" },
        "XXXX": "YYY"
      }
    }

类似于“长脉冲”技术,您只需调用 AWS CloudFormation 并比较变化。

aws cloudformation describe-events ....

AWS 配置

这项 AWS 服务负责“观察”您账户中的变化。这是一项非常新的服务,到目前为止在它可以观看的“内容”方面有一些限制。您可以将其连接到 SNS 并实现相同的目的。

您不需要为此创建单独的 SNS 主题作为自定义资源。
CloudFormation 的创建、更新和删除堆栈 API 允许传入 SNS 主题并将所有堆栈事件发布到这些主题 看 http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html
具体来说:

The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI)."

我使用链接到我刚刚轮询的 SQS 队列的 SNS 主题将堆栈事件发布到我自己的 shell 中。更多信息 : http://docs.aws.amazon.com/sns/latest/cli/sns_subscribe.html

希望对您有所帮助