Terraform

Terraform で AKS と Windows ノードプールを作成

Windows ノードプールは自動スケールアウトを有効にしてみた。 resource "azurerm_resource_group" "example" { name = "rg-example-dev" location = "japaneast" } resource "azurerm_kubernetes_cluster" "example" { name = "aks-example-dev" resource_g…

AzureRM provider 3.0 以降で App Service マネージド証明書を使う

AzureRM provider 3.0 以降では、Azure App Service の Web Apps(Windows) を作成するときのリソースが azurem_windows_web_app に変わったけど、マネージド証明書を使う方法はさほど変わっていなかった。 provider "azurerm" { features {} } resource "azu…

tfenv 導入してみた

Terraform 使って IaC やっているけど、そろそろ Terraform のバージョンを上げる頃合い。今回は安全策として、tfenv 使って新旧 2 つのバージョンを入れて、少しずつ移行作業進めていきたい。 ただ、Terraform 実行するマシンは OS が Windows なんだよね。…

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

frontend_ip_configuration で public_ip_address_id を設定しなかったら、内部ロードバランサーになった。 resource "azurerm_resource_group" "example" { name = "rg-example" location = "japaneast" } resource "azurerm_virtual_network" "example" { …

Terraform を v1.0 にアップグレードした

v1.0 が出たことだし、仕事で使っている Terraform のバージョンをそろそろ上げようかな、と。思い立ったが吉日だ。 まず、Terraform v1.0.7 をダウンロードしてインストールする。Windows かつ PowerShell なので tfenv が使えないのは、まぁしゃーない。Gi…

CustomScriptExtension の commandToExecute で複数のコマンドを実行したメモ

CustomScriptExtension を使ってタイムゾーンを変更しても、既に実行中の Windows サービスには反映されなかった。反映するには Windows サービスの再起動が必要とはね。 commandToExec で powershell.exe を使い、-Command に複数コマンドを指定するハック…

Terraform で仮想マシンスケールセットのインスタンスのタイムゾーンを変更する方法

仮想マシンスケールセットのインスタンスのタイムゾーンを日本時間に変更したいのに、仮想マシンスケールセットで動かすためのイメージを作るとき Sysprep で一般化したら、タイムゾーンが UTC になってしまう。 応答ファイルでタイムゾーンを設定できたはず…

可用性セットを組んだ仮想マシンをバックエンドプールに使うロードバランサーを構築する Terraform サンプル

Azure にて、仮想マシンスケールセットではなく、可用性セットを組んだ仮想マシン 2 台を、ロードバランサーのバックエンドプールにしてみた。 まぁ、最終的には仮想マシンスケールセットを使ったけどね。せっかく試したんでメモを残しておく。 resource "az…

Azure App Service で Managed Certificate を使う Terraform サンプル

カスタムドメインは Azure DNS ゾーンに登録してある前提。 resource "azurerm_resource_group" "example" { name = "rg-example" location = "japaneast" } resource "azurerm_app_service_plan" "example" { name = "plan-example" location = azurerm_res…