はじめに

AzureのLoad Balancerを触る機会があったので、アウトプットとしてTerraformのコードを記載していきます。

過去シリーズ記事

とりあえずTerraformでAzure Redis for Cacheを作ってみる
とりあえずTerraformでAzure SQL Databaseを作ってみる

コード

resource "azurerm_resource_group" "test" {
  name     = "loadbalancer-test-rg"
  location = "japaneast"
}

resource "azurerm_public_ip" "test" {
  name                = "lb-public-ip"
  location            = azurerm_resource_group.test.location
  resource_group_name = azurerm_resource_group.test.name
  allocation_method   = "Static"
  sku                 = "Standard"
}

resource "azurerm_lb" "test" {
  name                = "test-loadbalancer"
  location            = azurerm_resource_group.test.location
  resource_group_name = azurerm_resource_group.test.name
  sku                 = "Standard"

  frontend_ip_configuration {
    name                  = "test-public-ip-address"
    public_ip_address_id  = azurerm_public_ip.test.id
  }
}

github – コードサンプル

内容としては、
Load Balancer用の静的なPublic IPが1つと、
SKUがStandardのLoad Balancerを1つ作成しています。

Azure VMにルーティングさせたい場合は以下の記事をご参照ください。
TerraformでAzure Load BalancerからVM(HTTP Server)にルーティングするシンプルな構成

各パラメーターの説明

Load Balancer

  • name
    Load Balancerの名前。
  • location
    Load Balancerを作成する場所。
  • resource_group_name
    Load Balancerを作成するリソースグループの名前。
  • sku
    SKU, (Basic、Standard、Gateway)
  • frontend_ip_configuration.name
    フロントエンドIP設定の名前。
  • frontend_ip_configuration.public_ip_address_id
    Public IPリソースのID。

詳細については下記のドキュメントをご参照ください。
Terraform 公式ドキュメント
Azure 公式ドキュメント

手順

リソースを作成する際は以下のコマンドを実行してください。

terraform init
terraform plan -out main.tfplan
terraform apply main.tfplan

さいごに

誰かのお役に立てれば幸いです。