我正在处理一个场景,在这个场景中,我需要将代码从GIT存储库推送到AWS实例。为了实现这一点,我使用了AWS CodeDeploy特性。但是在部署代码的过程的最后一步,我将收到以下错误。
部署失败--整体部署失败,原因是部署失败的单个实例太多,可用部署的健康实例太少,或者部署组中的某些实例遇到问题。(错误代码: HEALTH_CONSTRAINTS)
发布于 2016-09-01 09:39:42
如果EC2实例没有正确的IAM角色,则可以看到此错误。使用策略"AmazonEC2RoleforAWSCodeDeploy“创建一个IAM角色。不能将IAM角色添加到现有实例中,因此必须启动一个新的实例。
还要确保您已经为正确的区域安装了CodeDeploy代理,例如对于us-east-1
apt-get -y install awscli ruby2.0
aws s3 cp s3://aws-codedeploy-us-east-1/latest/install . --region us-east-1
chmod +x ./install
./install autohttp://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-set-up-new-instance.html
发布于 2016-09-30 09:39:46
如果忘记将CodeDeploy代理安装到实例中,则会多次从CodeDeploy工具中获得相同的错误。以防万一,这里是指向文档的链接:http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-run-agent-install.html
发布于 2017-11-05 06:06:16
仅仅为了添加到@spro/@mathieu-m-gosselin的答案,即使aws现在允许在运行的实例上附加/替换IAM角色,但是对于这个用例来说还不够,您必须在附加/替换新的IAM角色之后重新启动实例。
https://stackoverflow.com/questions/39143191
复制相似问题