使用CodeDeploy向EC2自动扩缩容组部署代码时报错如何解决?
CodeDeploy 部署失败通用报错触发规则说明
你遇到的这个报错属于CodeDeploy的通用兜底报错,实例未运行只是触发该报错的其中一类场景,不管是1台、2台还是全部实例处于非运行状态,都会触发该报错。
除此之外,即使你的EC2实例处于运行状态、2/2健康检查全部通过,以下场景也会触发相同报错:
- 实例上的CodeDeploy Agent未正常运行,或Agent无法和CodeDeploy服务端正常通信
- 部署组配置的最小健康实例占比阈值不合理:例如你当前部署组共2台实例,最小健康实例占比设置为100%,部署过程中只要有1台实例下线更新,就会触发健康实例不足的报错
- 部署过程中实例的生命周期钩子脚本(
BeforeInstall、AfterInstall、ApplicationStart等)执行失败,单实例部署失败次数达到你设置的失败阈值 - 实例绑定的IAM角色缺少CodeDeploy相关操作权限,无法拉取部署包、执行部署操作
- 实例安全组未放行CodeDeploy服务的出入站规则,CodeDeploy服务端无法探测到实例的健康状态,判定实例不可用
建议你优先进入对应部署任务的详情页,查看单实例维度的部署失败日志,确认具体的失败原因,不需要局限于EC2的基础运行状态检查。
内容的提问来源于stack exchange,提问作者Anton Cavanaugh
相关产品推荐
相关产品推荐

