公式モジュール(Terraform Registry)の使い方 - Terraformのきほんと応用

3483 ワード

Terraformコードを書く上での小さなTIPSです。
Terraform関連の他の記事は「Terraformのきほんと応用」からどうぞ。

概要

Terraformのモジュール機能を活用した様々なモジュールがTerraform公式サイトにて配布されており簡単に使用できます。
この中からsubnetsモジュールというIPv4ネットワークアドレスの生成に使用できるモジュールを使ってみます。クラウドリソースは作成しませんが、インターネット接続は必要になります。

公式モジュールの使い方

公式モジュールといっても、使い方は通常のモジュールと同じです。sourceで指定するパスにTerraform公式サイトの値を使います。
subnetsモジュールは、ベースとなるcidrから指定したアドレス帯のciderを作るモジュールです。

module "subnets" {
  source = "hashicorp/subnets/cidr"
  base_cidr_block = "10.0.0.0/8"
  networks = [
    { name = "subnet-1a", new_bits = 4 },
    { name = "subnet-1c", new_bits = 4 },
    { name = "subnet-1d", new_bits = 4 },
  ]
}

output all {
  value = module.subnets
}

output ciders {
  value = module.subnets.networks[*].cidr_block
}

動かしてみる

リソース作成ではないのでplanで結果が確認できます。10.0.0.0/8をベースとして12bitのネットワークアドレスを3つ生成しています。
run sample

サンプルコード

この記事で作成したコードはgithub上に公開しています。