Terraform で Azure の内部ロードバランサーを作成する方法

frontend_ip_configuration で public_ip_address_id を設定しなかったら、内部ロードバランサーになった。

resource "azurerm_resource_group" "example" {
  name     = "rg-example"
  location = "japaneast"
}

resource "azurerm_virtual_network" "example" {
  name                = "vnet-example"
  address_space       = ["10.0.0.0/16"]
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
}

resource "azurerm_subnet" "example" {
  name                 = "snet-example"
  resource_group_name  = azurerm_resource_group.example.name
  virtual_network_name = azurerm_virtual_network.example.name
  address_prefixes     = ["10.0.1.0/24"]
}

resource "azurerm_lb" "example" {
  name                = "lbi-example"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku                 = "Standard"

  # フロントエンドIP構成
  frontend_ip_configuration {
    name                          = "fipconf-example"
    subnet_id                     = azurerm_subnet.example.id
    private_ip_address_allocation = "Dynamic"

    # プライベートIPアドレスを固定したい場合は Static にする
    # private_ip_address_allocation = "Static"
    # private_ip_address = "10.0.1.1"
  }
}