AWS CodeDeploy Blue/Green with ASG - 失败的部署不断重启 EC2 实例

Posted

技术标签:

【中文标题】AWS CodeDeploy Blue/Green with ASG - 失败的部署不断重启 EC2 实例【英文标题】:AWS CodeDeploy Blue/Green with ASG - Failed Deployment Keeps Restarting EC2 Instances 【发布时间】:2018-02-21 09:14:46 【问题描述】:

我的测试应用程序有 3 个 EC2 实例。

部署失败后,我注意到 ASG 不断恢复失败的实例。

因此,在 3 次部署失败后,我现在有 12 个实例正在运行:9 个来自失败的部署,3 个来自实时服务器。

如何阻止这种情况发生? 谢谢。

【问题讨论】:

【参考方案1】:

CodeDeploy 不会删除自动缩放组。集成的工作方式是,如果 CodeDeploy 无法部署到 ASG 实例,ASG 将终止该实例并尝试启动一个新实例并在新启动的实例上启动 CodeDeploy 部署。这最终会进入一个循环,您可以删除 ASG 或暂停扩展过程以防止进一步扩展。

【讨论】:

【参考方案2】:

根据这个线程:https://forums.aws.amazon.com/thread.jspa?threadID=265522 他们(AWS)有一个积压项目来实现一种在部署失败时自动删除 ASG 的方法,但要知道他们建议创建一个 lambda 函数,该函数将由失败触发的删除它部署。

【讨论】:

【参考方案3】:

好的,结果很简单……我需要进入 ASG 设置并手动删除 ASG

看起来每个 CodeDeploy 部署都会创建一个 ASG

【讨论】:

以上是关于AWS CodeDeploy Blue/Green with ASG - 失败的部署不断重启 EC2 实例的主要内容,如果未能解决你的问题,请参考以下文章

AWS ECS Blue/Green CodePipeline:尝试读取图像工件时出现异常

AWS:帮助在 Codepipeline 中设置 CodeDeploy

如何设置AWS CodeDeploy和EC2 CodeDeploy安全环境

[AWS DA] AWS CICD: CodeCommit, CodePipeline, CodeBuild, CodeDeploy

自动缩放组设置为 0 个实例时的 AWS Codedeploy

AWS Codedeploy BlockTraffic/AllowTraffic 持续时间