はじめに

TerraformでAzure VMのブートストラップする方法を備忘録として残します。
自分が確認した限りでは2通り方法があったのでそのやり方について記載します。

VMのUser Dataで設定する

azurerm_linux_virtual_machineuser_dataに設定する。

VirtualMachine.tf

resource "azurerm_linux_virtual_machine" "test" {
name = "test-machine"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
size = "Standard_B1ls"

# SSHキー設定省略

os_disk {
caching = "ReadWrite"
storage_account_type = "Standard_LRS"
}

## Ubuntu 22.04
source_image_reference {
publisher = "Canonical"
offer = "0001-com-ubuntu-server-jammy"
sku = "22_04-lts-gen2"
version = "latest"
}
# ここで設定する
# file関数で読み込み、base64でエンコードする必要がある
user_data = base64encode(file("init.sh"))
}

全文はこちら

TerraformでAzure Virtual Machineのブートストラップする方法
著者:@tkhs1121