我的CloudFormation堆栈会生成一个将MinSize和MaxSize设置为1的ScalingGroup。它还会创建一个以该ScalingGroup为目标的DeploymentGroup。带有AllAtOnce的Amazon CodeDeploy无法在具有1个EC2实例的新CloudFormation堆栈上执行
- 如果部署组配置了配置名称
CodeDeployDefault.OneAtATime
,则部署将成功启动。 - 当部署组配置了配置名称
CodeDeployDefault.AllAtOnce
,然后在创建堆栈时,codedeploy不执行任何操作,并且在EC2上看不到任何事件或日志跟踪。只有一处提到错误代码HEALTH_CONSTRAINTS
。如果我终止实例,那么扩展组将启动一个新实例,但CodeDeploy不会再执行任何操作。如果我手动开始部署CodeDeployDefault.OneAtATime
然后它的工作。
从我的文档中读过,这不应该发生
- 不应该有健康检查,因为没有实例部署组
CodeDeployDefault.AllAtOnce
有一个最低限度的卫生百分比存在0.因此,可能是提高错误的原因是它等于0,它决定不继续提到健康错误代码CodeDeployDefault.AllAtOnce
提及,这应该是我的理解,它不会做一个健康因为在概念上检查没有意义,因为所有实例都将在同一时间进行配置。
我的期望还是正确,还是我做错了什么?
经过几次迭代后,我发现这个错误并不总是会发生。 6次使用完全相同的CloudFormation模板,3次出错,代码为'HEALTH_CONSTRAINTS'。 –