如何使用 Terraform 标记从自动缩放启动的实例?

How can I tag instances launched from autoscaling using Terraform?

我正在使用 Terraform 设置 ECS 集群。这是我的启动配置:

resource "aws_launch_configuration" "launch_config" {
  name_prefix = "my_project_lc"
  image_id = "ami-ff15039b"
  instance_type = "t2.medium"
  user_data = "${data.template_file.user_data.rendered}"
  lifecycle {
    create_before_destroy = true
  }
}

resource "aws_autoscaling_group" "autoscaling_group" {
  name = "my_project_asg"
  max_size = 2
  min_size = 1
  launch_configuration = "${aws_launch_configuration.launch_config.name}"
  vpc_zone_identifier = ["${aws_subnet.public.id}"]
}

工作正常,但 EC2 实例没有名称(标签 "Name")。如何更改我的配置以便为实例指定一个有意义的名称?前缀什么的...

谢谢

是的,这是可能的。请参阅 aws_autoscaling_group resource 的文档。示例代码:

resource "aws_autoscaling_group" "bar" {
  name = "my_project_asg"
  max_size = 2
  min_size = 1
  launch_configuration = "${aws_launch_configuration.launch_config.name}"
  vpc_zone_identifier = ["${aws_subnet.public.id}"]

  tag {
    key                 = "Name"
    value               = "something-here"
    propagate_at_launch = true
  }

  tag {
    key                 = "lorem"
    value               = "ipsum"
    propagate_at_launch = false
  }
}

或者,您可以使用 terraform-aws-autoscaling 实现不同类型标签的模块。