AWS CloudFormation用于更新(重新运行)下游嵌套堆栈

时间:2019-02-08 15:36:52

标签: amazon-web-services aws-lambda amazon-cloudformation

我正在尝试执行以下操作:父堆栈启动第一个子堆栈,该子堆栈创建一个完全配置的EC2实例。完成后,父堆栈将启动第二个堆栈,该堆栈使用Lambda函数创建AMI,然后将其用于甚至更下游的AutoScaling设置。这很正常。

现在是挑战:当我从第一个子堆栈更新EC2实例的元数据时,我真的希望触发第二个堆栈。换句话说:我希望能够更改种子实例并更新CloudFormation Stack,从而创建新的AMI。

我能够更新种子实例,但第二个子堆栈未触发:-(

我拥有Google所能想到的一切,但更新策略并不适用,手动启动第二个孩子正好解决了嵌套堆栈的问题,而且我敢肯定我会缺少一些明显的功能或聪明之处技巧,所以我要你们帮我。拜托。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用Lambda支持的自定义资源?您可以将资源的服务令牌作为Lambda并在第一个嵌套堆栈中使用DependsOn。每当CF脚本运行或更新时,它将启动。

如果需要,您还可以从Lambda函数中查找堆栈本身,以确定是否有任何更改。

  

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html