Уникальный пользовательский идентификатор для каждого экземпляра в группе автоматического масштабирования AWS с использованием terraform - PullRequest
0 голосов
/ 20 сентября 2018

Я создаю группу автоматического масштабирования AWS динамически, используя сценарии ruby ​​и сценарии оболочки.После загрузки экземпляров в ASG я запускаю в них задачу в сценариях user_data.Допустим, я создал 10 экземпляров в группе автоматического масштабирования.Я хочу как-то нумеровать эти экземпляры (возможно, используя теги или переменные окружения и т. Д.).Таким образом, у каждого экземпляра будет переменная окружения с именем «число» со значениями 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
  }
}

Но я бы хотел прикрепить тег "число" с различным значением к каждому экземпляру.

Или мы также можем отправлять переменные в сценариях 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?Заранее спасибо.

...