【问题标题】:How to configure "Instance Protection" over CloudFormation in AWS?如何在 AWS 中通过 CloudFormation 配置“实例保护”?
【发布时间】:2016-06-27 00:42:06
【问题描述】:

我需要使用 CloudFormation 模板为 Auto Scaling 组中的实例设置“实例保护”属性。

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

但我在 CloudFormation documentation 上似乎找不到它

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-cloudformation


    【解决方案1】:

    他们终于在 2020 年 10 月 26 日添加了此功能。

    NewInstancesProtectedFromScaleIn

    【讨论】:

      【解决方案2】:

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

      CloudFormation 仍然(截至 2020 年 6 月 29 日)不正式支持 Auto Scaling 实例保护功能。早在 2015 年 12 月 7 日,此功能是 launched,遗憾的是从未与 CloudFormation 集成。

      为了将来参考,确认功能是否已与 CloudFormation 集成,除了resource documentation,您还可以参考CloudFormation release history 以查看是否提到了所需的功能。

      其他 AWS 开发工具包往往具有更完整的 API 覆盖范围并且更新更频繁,因此作为一种解决方法,您可以使用例如创建您的 AutoScaling 组。带有 --new-instances-protected-from-scale-in 标志的 AWS CLI create-auto-scaling-group 命令。

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

      当然,最简单的方法是等待 AWS 将对该功能的官方支持添加到 CloudFormation,因为他们最终会这样做。 [更新 06/2020] 好的,之后四年,我放弃了等待。我承认我错了!

      【讨论】:

      • 太棒了。我需要这个确认,我想我没有足够的搜索。我想我就等着吧。谢谢!
      • 在推出这个功能一年半之后,不幸的是仍然是正确的答案。
      • 现在支持吗?
      • 不,仍然没有——我已经更新了我的答案,承认我错误地预测它最终会得到支持!
      【解决方案3】:

      CloudFormation 目前似乎不支持此功能。

      如果您查看 Autoscaling 的 CFN 文档,它有一个 TerminationProtection 元素,它是一个字符串列表。我在文档中找不到可用选项的列表,但是当我使用 CLI 时,似乎没有任何相关内容:

      $> aws autoscaling describe-termination-policy-types
      {
          "TerminationPolicyTypes": [
              "ClosestToNextInstanceHour", 
              "Default", 
              "NewestInstance", 
              "OldestInstance", 
              "OldestLaunchConfiguration"
          ]
      }
      

      【讨论】:

      • 是的,这是 Auto Scaling 组中的另一个因素,但与 CLI 上的实例保护无关。
      猜你喜欢
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 2018-05-10
      • 2021-03-21
      • 2015-12-12
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多