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 state remotely in S3 and lock that state with DynamoDB.
Backend Configuration - Configuration Language | 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(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント