はじめに システムを構築するにあたって開発、検証、本番環境をそれぞれ用意することが多いですが、Terraformで作成する場合にModuleを使った環境毎のデプロイが便利だったので紹介します。 Terraform Moduleとは 複数のresourceブロックで構成されたファイル群(.tf)をテンプレート化したものです。Moduleブロックで呼び出す時に変数を渡すだけで一貫性ある構成を作成できます。 Modules Overview - Configuration Language - Terraform by HashiCorp 例えば、開発と本番環境それぞれ異なるネットワークのVPCとサブネットを作成する場合、以下のようなModuleを作成します。 module/vpc/mainf.tf resource "aws_vpc" "vpc" { cidr_block = var.cidr
![[Terraform]Moduleを作ると環境毎のデプロイが便利 | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/8a77b081e14c8d61a2e80498092f8ffb9b60da03/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2019%2F05%2Fterraform-eyecatch.png)