본문 바로가기
Terrform

AWS Terraform tfstate 파일 원격 관리(S3, DynamoDB)

by aws-evan 2024. 11. 11.
반응형

 

 

 

 

 

 

 

  • tfstate 저장할 S3 생성 및 dynamoDB 테이블 생성
resource "aws_s3_bucket" "test-tfstate" {
  bucket = "evan-s3-bucket-tfstate"
}

resource "aws_s3_bucket_versioning" "test-versioning" {
  bucket = aws_s3_bucket.test-tfstate.id
  versioning_configuration {
    status = "Enabled"
  }
}

resource "aws_dynamodb_table" "terraform_state_lock" {
  name           = "terraform-tfstate-lock"
  hash_key       = "LockID"
  billing_mode   = "PAY_PER_REQUEST"

  attribute {
    name = "LockID"
    type = "S"
  }
}

 

 

  • backend를 통하여 tfstate 저장
    • 버킷명, 버킷 경로, 리전
    • dynamodb table 이름
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.0"
    }
  }
  backend s3 {
    bucket         = "evan-s3-bucket-tfstate" # S3 버킷 이름
    key            = "terraform/terraform.tfstate" # S3 tfstate 저장 경로
    region         = "ap-northeast-2"   # 리전
    dynamodb_table = "terraform-tfstate-lock" # dynamodb table 이름
  }
}

 

  • tfstate값은 로컬에서는 없어지고 AWS S3 버킷에 정의됨

 

반응형

'Terrform' 카테고리의 다른 글

[terraform] terraform module( VPC) 사용  (0) 2024.11.13
Terraform VPC 생성  (0) 2021.08.03
Terraform Application Load Balancer(ALB)생성  (0) 2021.08.02
Terraform EC2 생성  (0) 2021.08.02
Terraform 정의  (0) 2021.07.28