Terraformのbackend機能でterraform.tfstateをS3にアップロードする
terraform applyするとtfstateファイルができますが、backend機能でS3にアップロードします。
デフォルトはlocalになっておりプロジェクト直下にファイルが作成されます。S3に変更することによりローカルにtfstateファイルが作成されないようになります。
main.tf
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.16"
}
random = {
source = "hashicorp/random"
version = ">= 3.1.0"
}
}
required_version = ">= 1.2.0"
backend "s3" {
bucket = "deploy-bucket19993"
key = "terraform.tfstate"
region = "ap-northeast-1"
profile = "default"
}
}
provider "aws" {
region = "ap-northeast-1"
}
resource "aws_s3_bucket" "example" {
for_each = toset(["bucketname1", "bucketname2"])
bucket = each.key
}
| 項目 | 意味 |
|---|---|
| bucket | バケット名 |
| key | オブジェクトキー |
| region | リージョン |
| profile | プロファイル |
初期化し、適用します。
$ terraform init $ terraform apply
バケット直下にtfstateファイルが作成されました。
破棄します。
$ terraform destroy
破棄するとterraform.tfstateファイルが更新されます。

Backend Type: s3 | Terraform | HashiCorp Developer
Terraform can store and lock state remotely in Amazon S3.

Backend block configuration overview | Terraform | HashiCorp Developer
Use the `backend` block to control where Terraform stores state. Learn about the available state backends, the backend b...

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント