如何创建不在保留IP地址范围内的具有Terraform的多个IP地址?

时间:2019-01-10 05:45:38

标签: azure terraform

我无法使用带有“ count”个内置变量的Terraform创建私有IP。

错误地指出该IP地址在“保留的IP范围”中。

请在我的代码块下面找到。

resource "azurerm_network_interface" "tf_ax_nic" {
  count=5
  name                = "subnet_app_aos_nic_${count.index}"
  location            = "${data.azurerm_resource_group.tf_rg.location}"
  resource_group_name = "${data.azurerm_resource_group.tf_rg.name}"

  ip_configuration {
    name                          = "ax_${count.index}.ip"
    subnet_id                     = "${data.azurerm_subnet.tf_sn_ax.id}"
    private_ip_address_allocation = "static"
    private_ip_address            ="10.100.3.${count.index}"
  }

  tags {
    environment = "${var.env}"
  }
}

任何麻将不胜感激。

非常感谢您。

2 个答案:

答案 0 :(得分:1)

Azure将在子网中保留前四个IP地址,并且这些IP地址无法分配给资源。您可以在Private IP address Allocation method中看到这样的描述:

  

Azure保留每个子网地址范围中的前四个地址,   因此无法将地址分配给资源。例如,如果   子网的地址范围是10.0.0.0/16,地址10.0.0.0-10.0.0.3   无法分配给资源。

所以我认为您只需要将偏移量用作

private_ip_address="10.100.3.${count.index+4}"

答案 1 :(得分:0)

答案是使用偏移量 private_ip_address="10.100.3.${count.index+5}"