我需要使用CloudFormation模板为我的Auto Scaling Group中的实例设置“实例保护”属性。
我通常在AWS控制台上执行以下操作:EC2->自动缩放组。
我通常在AWS控制台上执行以下操作:EC2->自动缩放组。
但是我似乎在CloudFormation 文档 上找不到它。
但是我似乎在CloudFormation 文档 上找不到它。
可以使用CloudFormation完成,但并不容易。
截至2020年6月29日,CloudFormation仍未正式支持自动扩展实例保护功能。该功能于2015年12月7日发布,可惜从未与CloudFormation集成。
作为参考,除了资源文档之外,您还可以参考CloudFormation发布历史记录,以确定所需功能是否已被集成。
其他AWS SDK通常具有更完整的API覆盖范围并且更新频率更高,因此作为解决方法,您可以使用例如带有--new-instances-protected-from-scale-in
标志的AWS CLI create-auto-scaling-group
命令创建您的AutoScaling Group。当然,最简单的方法是等待AWS将此功能正式支持到CloudFormation中,他们最终会这样做。 [更新于2020年6月] 好吧,在经过四年的等待后,我放弃了。我承认我错了!
目前似乎CloudFormation不支持这个功能。
如果你查看CFN关于自动扩展的文档,它有一个名为 TerminationProtection 的元素,它是一个字符串列表。我在文档中找不到可用选项的清单,但当我使用CLI时,似乎没有相关内容:
$> aws autoscaling describe-termination-policy-types
{
"TerminationPolicyTypes": [
"ClosestToNextInstanceHour",
"Default",
"NewestInstance",
"OldestInstance",
"OldestLaunchConfiguration"
]
}