我们刚刚开始在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 回答
你需要将你的aws:elasticbeanstalk:命令DeploymentPolicy设置为“Rolling”或其他东西并推送它 . 然后,一旦将其设置为默认值以外的其他值,您就可以将其更改回Immutable .
该消息意味着您不能同时将它们更改为打开,但不能同时使用它们 .
还要确保你有aws:autoscaling:updatepolicy:rollingupdate RollingUpdateEnabled设置为true加aws:elasticbeanstalk:healthreporting:system SystemType设置为“enhanced”并在应用程序中配置aws:elasticbeanstalk:application Application Healthcheck URL以进行运行状况检查否则它会因另一个误导性的消息而失败 .