云形成完成后如何发送SNS通知?

时间:2015-11-12 04:00:44

标签: amazon-web-services amazon-cloudformation

是否可以在AWS完成CFT后发送SNS通知?有没有办法在AWS中获得启动CFT的进度。

4 个答案:

答案 0 :(得分:8)

使用CF模板创建资源时,“选项”菜单中有“高级”部分。从那里,您可以使用SNS和主题设置通知选项。

启动CF流程时,您还可以查看状态,重要的是查看模板可能失败的位置。

enter image description here

enter image description here

答案 1 :(得分:1)

您不能通过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}

答案 2 :(得分:1)

可以欺骗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主题

答案 3 :(得分:0)

AWS上还有knowledge center article,您可以在其中将ROLLBACK_IN_PROGRESS语句替换为CloudFormation的任何其他状态以获得SNS通知。