Azure Static Web Appsが正式にリリースされたので試してみました。
準備
まずTerraformのインストールから。 公式サイトからzipをDLし、解凍して出てきたexeを適当なフォルダに置いてPATHを通しました。 www.terraform.io
次にAzure CLIをインストール。 Power Shellを管理者で実行して、次のコマンドでAzure CLIをインストールしました。
Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi
Terraformを実行してみる
main.tf、variables.tfを作ります。こちらを参考にさせてもらいました。 zenn.dev
# main.tf terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = "=2.60.0" # <- azurerm_static_site が対応されたバージョン 2.60 を指定 } } } provider "azurerm" { features {} } # リソースグループ作成 resource "azurerm_resource_group" "main" { name = "rg-${var.identifier}" location = var.location } # Azure Static Web App作成 resource "azurerm_static_site" "main" { name = "stapp-${var.identifier}" resource_group_name = azurerm_resource_group.main.name location = var.swa_location }
# variables.tf variable "identifier" { type = string } variable "location" { type = string default = "japaneast" } variable "swa_location" { type = string default = "eastasia" }
main.tf、variables.tfができたらターミナルからterraformのコマンドをinit, plan, applyの順に実行していきます。
PS C:\Project\TerraformSample> terraform init PS C:\Project\TerraformSample> terraform plan PS C:\Project\TerraformSample> terraform apply
terraform plan, terraform applyの実行時に作成するリソースのIDを聞かれるので適当な名前を付けます。今回はTerraformSampleとしました。これはのちに作成されるリソース名に含まれます。 terraform applyを実行した後に"Apply complete! Resources: 2 added, 0 changed, 0 destroyed."と表示されればリソースの作成が終わったみたいです。
※terraform planを実行する前に、"az login"を実行してAzureの認証を済ませておく必要があります。
Azure Portalで確認してみる
まずResource Groupを確認。rg-TerraformSampleという名前のResource Groupが作られてました。
そしてStatic Web Apps。ちゃんと作ったResource Groupの中にstapp-TerraformSampleという名前で作られてました。
所感
普段Azureにリソースを作るときはAzure Portalから画面ポチポチで作っていました。TerraformなどのInfrastructure as Codeはなんか難しそうという抵抗があって使ってなかったのですが、そんなことありませんでした。今後リソースを作るときはこっちのやり方でやっていきたいですね。 他にもARMテンプレートを使ったやり方とも比較してみたいところです。