目次

10.ファイル構成

ファイル構成

現時点で必要最低限のファイル構成を記載しています。
他にも便利な定義ファイルがあるようですが、いったん入門編ということで。

ファイル名 説明 備考
backend.tf 実行結果の状態を記録先(stateファイル)を定義する。
stateファイルの出力先はlocalやS3が選べる。
複数人で共有する場合はS3としておくと容易に共有可能。
main.tf リソースの定義ファイル リソースが大量な場合は、別途.tfファイルに分割できるので
主要リソースはmain.tfに記載
output.tf Terraformが作成したリソース情報を指定して出力する。 terraform outputで出力結果を読み込んだり
terraformremotestateで別プロジェクトから読み込み可能
provider.tf 構築するリソースのプロバイダー情報を記載します。 AWSならprovider “aws”といった記載
profileを指定することで、利用するAWSCLIのprofileも指定可能。
variables.tf main.tfで利用する変数を定義する。

サンプル

backend.tf、provider.tfのサンプルです。
main.tf、output.tf、variables.tfは関連性が強いので別ページに記載します。

backend.tf

terraform {
  backend "s3" {
    bucket = "s3バケット名"
    region = "s3バケットのリージョン名"

    key = "プロジェクト/環境/リソース名/tfstate"

    encrypt = true
    profile = "AWSCLIプロファイル名"
  }
}

provider.tf

provider "aws" {
  region  = "main.tfのリソース作成先のリージョン名"
  profile = "AWSCLIプロファイル名"
}