~~NOCACHE~~
## 10.ファイル構成
### ファイル構成
現時点で必要最低限のファイル構成を記載しています。
他にも便利な定義ファイルがあるようですが、いったん入門編ということで。
^ ファイル名 ^ 説明 ^ 備考 ^
| backend.tf | 実行結果の状態を記録先(stateファイル)を定義する。\\ stateファイルの出力先はlocalやS3が選べる。 | 複数人で共有する場合はS3としておくと容易に共有可能。 |
| main.tf | リソースの定義ファイル | リソースが大量な場合は、別途.tfファイルに分割できるので\\ 主要リソースはmain.tfに記載 |
| output.tf | Terraformが作成したリソース情報を指定して出力する。 | terraform outputで出力結果を読み込んだり\\ terraform_remote_stateで別プロジェクトから読み込み可能 |
| 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プロファイル名"
}
{{tag>AWS Terraform}}