Elastic Beanstalk,Immutable Deployments和CloudFormation的问题

时间:2018-01-11 09:58:23

标签: amazon-web-services deployment elastic-beanstalk amazon-cloudformation

我们刚刚开始在Elastic Beanstalk中使用不可变部署。更具体地说,我们启用了

  • 不可变的应用程序部署和
  • 不可变配置更新。

我们将CloudFormation用于一切。例如,我们不是使用UI(AWS管理控制台)启用不可变部署,而是将相应的OptionSettings添加到配置模板中的ConfigurationTemplate

但是,我们使用这种方法遇到了一些问题。每当我们更改ConfigurationTemplate中的某些属性时,都会收到以下错误消息:

  

无法部署应用程序。

     

无法使用不可变部署同时更新资源配置和实例配置。选择其他部署策略并重新部署以进行此更改。

在深入搜索文档之后,我们无法确切地找出我们可能对不可变部署做了哪些更改,以及导致上述错误的原因。当我们尝试操作以下OptionSettings属性时,我们收到错误:

- Namespace: 'aws:autoscaling:asg'
  OptionName: MinSize
  Value: 6
- Namespace: 'aws:autoscaling:asg'
  OptionName: MaxSize
  Value: 6

我们非常感谢能够在我们的CloudFormation模板中更改我们可能更改的选项的任何人,而不会导致部署失败。非常感谢你!

1 个答案:

答案 0 :(得分:3)

您需要将aws:elasticbeanstalk:命令DeploymentPolicy设置为“Rolling”或其他内容并将其推送出去。然后,一旦将其设置为默认值以外的其他值,您就可以将其更改回Immutable。

该消息意味着您不能同时将它们更改为打开,但不能同时使用它们。

还要确保你有aws:autoscaling:updatepolicy:rollingupdate RollingUpdateEnabled设置为true加aws:elasticbeanstalk:healthreporting:system SystemType设置为“enhanced”并在应用程序中配置aws:elasticbeanstalk:application Application Healthcheck URL健康检查,否则会因另一个误导性消息而失败。