使用Terraform的AWS自动缩放组中每个实例的唯一自定义ID

时间:2018-09-20 04:51:20

标签: amazon-web-services terraform autoscaling

我正在使用ruby脚本和shell脚本动态创建一个AWS自动扩展组。启动ASG中的实例后,我正在user_data脚本中在其中运行任务。假设我在自动缩放组中创建了10个实例。我想以某种方式编号这些实例(可能使用标记或环境变量等)。因此,每个实例将具有一个名为“ number”的环境变量,其值分别为1、2、3 ... 10,这对于每个实例都是唯一的。

我们可以为tags附加实例,如下所示:

resource "aws_autoscaling_group" "autoscaling_group" {
  name = "${var.asg_name}"
  max_size = "${var.max_size}"
  min_size = "${var.min_size}"
  desired_capacity = "${var.desired_capacity}"
  launch_configuration = "${aws_launch_configuration.launch_configuration.name}"
  vpc_zone_identifier = ["${data.aws_subnet_ids.default.ids}"]

  lifecycle {
    create_before_destroy = true
  }

  tag {
    key = "Environment"
    value = "production"
    propagate_at_launch = true
  }
}

但是我想在每个实例中附加一个标签“ number”,其值不同。

或者我们也可以使用user_data脚本发送变量,如下所示:

data "template_file" "user_data_client" {
  template = "${file("./user-data-client.sh")}"

  vars {
    company_location_job_id   = "${var.company_location_job_id}"
    docker_login_username = "${var.docker_login_username}"
    docker_login_password = "${var.docker_login_password}"
  }
}

但是在这里,我也不确定如何为变量中的每个实例发送增量数字。

是否可以使用terraform来做到这一点?预先感谢。

0 个答案:

没有答案