Когда я обновляю AMI, связанный с aws_launch_template
, Terraform создает новую версию шаблона запуска, как и ожидалось, а также обновляет aws_autoscaling_group
, чтобы указывать на новую версию шаблона запуска.
Однако «скользящее обновление» не выполняется для переключения существующих экземпляров с новыми экземплярами на основе нового AMI, мне приходится вручную завершать существующие экземпляры, а затем ASG вызывает новые экземпляры с использованием нового AMI.
Какие изменения я должен внести в мою конфигурацию, чтобы Terraform выполнил непрерывное обновление?
Существующий код выглядит следующим образом:
resource "aws_launch_template" "this" {
name_prefix = "my-launch-template-"
image_id = var.ami_id
instance_type = "t3.small"
key_name = "testing"
vpc_security_group_ids = [ aws_security_group.this.id ]
lifecycle {
create_before_destroy = true
}
}
resource "aws_autoscaling_group" "this" {
name_prefix = "my-asg-"
vpc_zone_identifier = var.subnet_ids
target_group_arns = var.target_group_arns
health_check_type = "ELB"
health_check_grace_period = 300
default_cooldown = 10
min_size = 4
max_size = 4
desired_capacity = 4
launch_template {
id = aws_launch_template.this.id
version = aws_launch_template.this.latest_version
}
lifecycle {
create_before_destroy = true
}
}