【问题标题】:CodeDeploy prevents me from deleting instances in EC2CodeDeploy 阻止我删除 EC2 中的实例
【发布时间】:2018-04-05 09:45:44
【问题描述】:

我正在尝试设置一个项目,但我的 BeforeInstall 脚本失败了。我正在解决这个问题,但它会产生副作用,每次我尝试部署时都会获得新实例。我最多 22 岁。当我尝试删除实例时,它们稍后会重新出现。有些东西迫使他们活下去。

我并不完全熟悉这里发生的事情,但我的理论是 CodeDeploy 为每个部署创建一个新的 AutoScaling 组,并且这些组被配置为具有 3 个实例。

所以我的问题是:

  1. 以上是怎么回事?
  2. 为什么 CodeDeploy 每次都创建一个新的自动缩放组?
  3. 如果 (2) 是正确的行为,为什么它不删除旧组或部署失败时为什么不删除新组。
  4. 与 (3) 我是否正确配置了某些内容?

感谢您的帮助。

【问题讨论】:

  • 如果您的实例属于 AutoScaling 组,则终止实例无济于事,因为 ASG 将重新启动新实例以匹配设置容量。您需要设置 AutScalingGroup 属性 (Desired=0) 以终止实例而不再次启动它们。还有什么样的部署,是就地部署还是蓝/绿部署?正如您所说,codedeploy 推出了一个新的 ASG,我认为这是蓝/绿部署?您可以从 codedeploy 控制台验证这一点吗?

标签: amazon-ec2 aws-code-deploy


【解决方案1】:

“为什么 CodeDeploy 创建一个新的自动缩放组?” - CodeDeploy 不会创建新的自动扩展组,除非您创建蓝绿色部署并选择自动复制 Auto Scaling 组选项。您遇到的行为是因为如果您使用 CodeDeploy 一次部署到 Autoscaling 组中的实例,则会在 CodeDeploy 和 Auto Scaling 组之间建立一个挂钩,并且每当您部署到任何实例失败时,Austoscaling 都会标记该实例作为一个坏实例并启动一个新实例并通知 CodeDeploy 将最后一个成功的修订版部署到该实例。有关详细信息,请参阅http://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html

要解决此问题,您可以将自动伸缩组所需的值设置为 0 以终止所有实例或暂停伸缩策略。

【讨论】:

    猜你喜欢
    • 2020-01-12
    • 2020-02-17
    • 2017-10-14
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多