地形更改后,自动缩放实例的更改会发生什么



假设我在地形中定义了一个自动缩放组,最小值为2,最大值为10。比方说,我的ASG已经启动,自动缩放正在进行中,目前有6个实例。

现在我想更改我的ASG以添加另一个子网,还想更改max=4。我当前的6个实例不会受到影响吗?或者当我运行terraform apply时,terraform会将实例计数减少到4并添加新的子网。

发生什么取决于您的设置。现在,你刚刚写道你有min=2 and max=10desired_capacity呢?

假设您从desired_capacity == min开始的标准设置,当您的ASG处于6个实例(即由于自动缩放活动而导致的desired_capacity=6(时,terraform apply终止四个实例,并将其带回desired_capacity=2,因为这就是您的地形中的情况。如果将max设置为4,也会发生类似的情况。

为了解决这个问题,你必须忽略TF:中desired_capacity的更改

lifecycle {
ignore_changes = [ desired_capacity ]
}

我当前的6个实例不会受到影响吗?

否。两个将被终止。

当我运行terraform apply时,terraform会将实例数减少到4,并添加新的子网。

是。这是会发生的。但是,即使您不更改max,也会发生这种情况,因为TF会将desired_capacity设置为配置文件中的内容(除非明确忽略(。

除此之外,如果新子网在不同的AZ中,ASG可能会触发AZ重新平衡。ASG将尝试在AZ中平均分配您的实例。因此,在这个过程中,一些可以终止并在新的AZ中重新启动

最新更新