【发布时间】:2016-02-13 08:26:00
【问题描述】:
是否可以在 AWS 中完成 CFT 后发送 SNS 通知?有什么方法可以获取在 AWS 中启动 CFT 的进度。
【问题讨论】:
标签: amazon-web-services amazon-cloudformation
是否可以在 AWS 中完成 CFT 后发送 SNS 通知?有什么方法可以获取在 AWS 中启动 CFT 的进度。
【问题讨论】:
标签: amazon-web-services amazon-cloudformation
还有来自 AWS 的 knowledge center article,您可以在其中将 ROLLBACK_IN_PROGRESS 语句替换为 CloudFormation 的任何其他状态以获取 SNS 通知。
【讨论】:
您可以欺骗 CloudFormation 从模板内部发送 SNS 消息:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html
自定义资源使您能够在 AWS CloudFormation 在您创建、更新时运行的模板(如果 您更改了自定义资源),或删除堆栈。例如,你 可能想要包含 AWS 不可用的资源 CloudFormation 资源类型。您可以通过以下方式包含这些资源 使用自定义资源。这样您仍然可以管理所有相关的 单个堆栈中的资源。
使用 AWS::CloudFormation::CustomResource 或 Custom::String 资源 键入以在模板中定义自定义资源。自定义资源 需要一个属性:服务令牌,它指定 AWS 在哪里 CloudFormation 向例如 Amazon SNS 主题发送请求。
【讨论】:
您不能通过 CloudFormation 模板本身指定通知 ARN。如果您使用控制台创建堆栈创建,则可以指定它们。但是,一旦创建堆栈,您就无法使用控制台更新 ARN。但是,您可以在创建堆栈后使用 aws-cli 使用通知 ARN 更新堆栈,例如:
aws cloudformation update-stack --stack-name stack-name --use-previous-template --notification-arns "arn:aws:sns:us-east-1:${ACCOUNT_ID}:${TOPIC_NAME}"
将变量 ${VARIABLE} 替换为您帐户中的文字值。
【讨论】:
【讨论】: