如何在AWS中配置CloudFormation的"实例保护"?

imT*_*chu 6 amazon-ec2 amazon-web-services aws-cloudformation

我需要使用CloudFormation模板为Auto Scaling组中的实例设置"Instance Protection"属性.

我通常在我的AWS控制台中这样做:EC2 - > Auto Scaling Groups

但我似乎无法在CloudFormation 文档中找到它

wjo*_*dan 8

可以使用CloudFormation完成,但这并不容易.

CloudFormation目前(截至2016年3月30日)未正式支持Auto Scaling实例保护功能.遗憾的是,CloudFormation往往落后于添加到底层AWS API的新功能,而且此功能最近才在2015年12月7日推出.

为了将来参考,要确认CloudFormation中是否已更新新功能,您最好的选择是参考CloudFormation版本历史记录以查看是否提到了所需的功能.

其他AWS开发工具包往往更频繁地更新,因此您可以使用create-auto-scaling-group带有--new-instances-protected-from-scale-in标志的AWS CLI 命令创建AutoScaling组作为解决方法.

如果不在CloudFormation之外创建自动缩放组,则另一种(更复杂的)解决方法是在现有CloudFormation资源之上修补自定义资源,以使用新功能设置更新新创建的自动缩放组.更新的SDK.它可以工作,但您需要创建一个lambda函数和所有支持IAM角色和权限,并将它们全部挂钩到一个自定义资源中.有关如何执行此操作以支持另一个CloudFormation不支持的功能(将ACM证书附加到CloudFront分配)的示例,请参阅此处的答案.

当然,最简单的方法是等待AWS向CloudFormation添加对此功能的官方支持,因为他们最终会这样做.

  • 推出此功能一年半后,不幸的是仍然是正确的答案。 (2认同)