Skip to content

Latest commit

 

History

History
40 lines (32 loc) · 1.22 KB

File metadata and controls

40 lines (32 loc) · 1.22 KB

This is a Terraform remote state using AWS S3 & DynamoDB.

Deploy

  • Deploy the cloudformation stack in your region (e.g. ap-southeast-2)
    • Deploy the stack make deploy
    • Deploy a managed policy to attach to IAM roles make deploy-policy

Usage

  • Initialise your terraform project to reference the state resources
export accountId=$(aws sts get-caller-identity --query Account --output text)
terraform init \
    -backend-config="region=ap-southeast-2" \
    -backend-config="bucket=terraform-state-${accountId}" \
    -backend-config="key=terraform.tfstate" \
    -backend-config="dynamodb_table=terraform-state"
  • Ensure you reference the state in the terraform project. You can use the workspace_key_prefix to differentiate each project in the state store.
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.0"
    }
  }
  backend "s3" {
    workspace_key_prefix = "my-project"
  }
}

provider "aws" {
  region = "ap-southeast-2"
}