如何在 ElasticBeanstalk 中的不可变部署期间立即终止所有旧实例

igo*_*gor 6 amazon-web-services amazon-elastic-beanstalk terraform

我正在使用 Terraform 来配置 ElasticBeanstalk 应用程序。ASG 中的最小和最大实例计数相等 (==4)。我不想要动态缩放。此时我已经配置了不可变部署。它工作正常,但非常慢(约 30 分钟)。

我注意到新实例被一一添加。旧实例一一终止。

以下配置

setting {
  name = "MaxBatchSize"
  namespace = "aws:autoscaling:updatepolicy:rollingupdate"
  value = "${var.max_instances_number}"
}
Run Code Online (Sandbox Code Playgroud)

使 ElasticBeanstalk 批量添加新实例(实际上是单独添加第一个实例,以检查新应用程序版本是否通过运行状况检查,但没关系)。这将部署时间缩短了 5-7 分钟。但ElasticBeanstalk仍然会一一删除旧实例。我预计 MaxBatchSize 会影响新实例和旧实例。因此我可以将部署时间减少 10-15 分钟。

在新实例通过健康检查并添加到主 ASG 后,是否有任何方法可以终止所有旧实例?