0

我对 terraform 还很陌生。我正在尝试创建多个 ec2 实例并希望在实例准备好后运行引导脚本,并且在引导脚本中我需要传递创建的实例的私有 ips(terraform 脚本的一部分)。经过这么多的谷歌搜索后,我开始知道我必须使用 terraform_file 但无法正确使用它。地形版本:0.11.13

       /* 实例的安全组 */
        资源“aws_security_group”“测试报告-sg”
        {
            name = "${var.environment}-test-reporting-sg"
            vpc_id = "${var.vpc_id}"

        }
       数据“模板文件”“初始化”
        {
          计数 = "${var.instance_count}"
          模板 = "${file("${path.module}/wrapperscript.sh")}"
          变量 = {
                  ip_addresses=“${aws_instance.dev-testreporting.*.private_ip}”
                  }

        }
       资源“aws_instance”“开发测试报告”
        {
             计数 = "${var.instance_count}"
             ami="${var.ami_id}"
             instance_type ="${var.instance_type}"
             key_name ="${var.key_name}"
             security_groups = [“${aws_security_group.test-reporting-sg.id}”]
             subnet_id = "${var.subnet_ids}"

            user_data = "${data.template_file.init.*.rendered.[count.index]}"
        }

谢谢

4

1 回答 1

0

In resource module you can add private_ip like below

private_ip = "${lookup(var.private_ips,count.index)}"

and add private_ip values to variable file

于 2020-11-05T13:36:31.373 回答