我正在使用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来做到这一点?预先感谢。