March 26, 2018

AzureのAvailability Zonesへ分散するVMSSをTerraformで作る

動機 Terraform Azure Provider 1.3.0で、VMSSを作る際にAvailability Zonesを指定できるようになりました。Availability Zonesはインフラの根っこの仕組みなので、現在(2018⁄3)限定されたリージョンで長めのプレビュー期間がとられています。ですが、GAやグローバル展開を見据え、素振りしておきましょう。 前提条件 Availability Zones対応リージョンを選びます。現在は5リージョンです。この記事ではEast US 2とします。 Availability Zonesのプレビューにサインアップ済みとします。 bashでsshの公開鍵が~/.ssh/id_rsa.pubにあると想定します。 動作確認した環境は以下です。 Terraform 0.11.2 Terraform Azure Provider 1.3.0 WSL (ubuntu 16.04) macos (High Sierra 10.13.3) コード 以下のファイルを同じディレクトリに作成します。 Terraform メインコード VMSSと周辺リソースを作ります。 最終行近くの “zones = [1, 2, 3]” がポイントです。これだけで、インスタンスを散らす先のゾーンを指定できます。 クロスゾーン負荷分散、冗長化するため、Load BalancerとパブリックIPのSKUをStandardにします。 [main.tf] resource "azurerm_resource_group" "poc" { name = "${var.resource_group_name}" location = "East US 2" } resource "azurerm_virtual_network" "poc" { name = "vnet01" resource_group_name = "${azurerm_resource_group. Read more

© Copyright 2019 Toru Makabe

Powered by Hugo & Kiss.