【问题标题】:Terraform Create multiple IP's from CIDR BlockTerraform 从 CIDR 块创建多个 IP
【发布时间】:2019-03-13 12:25:33
【问题描述】:

我有变量cidr=10.11.12.0/16

和资源计数

resource "aws_network_interface" "first" {
  count     = "${length(var.instance_names)}"
  provider  = "aws.base"

  subnet_id = "${var.cidr}"

  private_ips = ["${concat(
      list(var.first_network_interface_private_ip),
      var.first_network_interface_private_ip_additional
  )}"]

  source_dest_check = "${var.first_network_interface_source_dest_check_enabled}"

security_groups = [
     "${concat(
      list(aws_security_group.this.id),
      var.first_network_interface_security_group_additional
    )}"
  ]

  depends_on = [
    "aws_security_group.this",
  ]

  tags = "${merge(
    var.tags_global,
    var.tags_module,
    map("Name", format("%s - First Interface", element(var.instance_names, count.index))),
    map("Description", format("%s", element(var.instance_names, count.index)))
  )}"
}

我希望每次迭代都获得不同的 IP

我遇到了this,但不知道如何从中提取前三个八位字节

10.11.12。 ,可能需要使用正则表达式从 CIDR 获取八位字节?,或者我的问题有其他解决方案?

【问题讨论】:

    标签: terraform


    【解决方案1】:

    想通了

      private_ips = ["${concat(
          list(cidrhost(var.cidr , count.index + 249)),
          var.first_network_interface_private_ip_additional
      )}"]
    

    为两台机器获取 10.11.12.249/250 IP

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-31
      • 2018-12-14
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 2021-02-23
      相关资源
      最近更新 更多