当Autoscaling Group设置为0实例时,AWS Codedeploy



我正在使用Codedeploy推送到自动缩放组中的ec2实例。有时,该自动缩放组没有任何现有实例在运行。当我在这种情况下部署时,codedeploy总是失败,即使我已经将最低运行状况主机设置为0个实例。

当有0个实例时,我是否可以让代码部署为"成功"?

当codedeploy失败时,它会出现,不会更新修订版。在我的处境中,这真是一种痛苦。

您需要在部署组中至少有一个实例,部署才能成功。使用CodeDeploy挂接Autoscaling组(至少包含1个实例)后,应成功进行部署以更新部署组的目标修订版。在此之后,任何新的实例放大都应自动拾取目标修订。

您还可以将自动缩放组的:min属性设置为1,以始终在其中保留一个实例。

我知道已经两年多了,但我面临着同样的问题。我的解决方法是为我的自动缩放组创建我自己的Lifecycle Hook,并为部署我的修订版创建SNS+Lambda。

问题是,你应该首先为应用程序注册一个修订版,而不部署它。一旦自动缩放组创建了一个新实例,钩子就会向Lambda发送一条SNS消息,然后你可以(根据收到的消息+环境变量)查找修订版(已创建)并将其部署到新实例。

我已经通过使用CloudFormation将所有这些联系起来了——我非常建议使用CloudFormattion和所有其他与AWS相关的服务。

最新更新