Files
sidpalas 9949d314f3 Updates from bitrot livestream (#16)
- Remove minor version pin for postgres versions (i.e. 12.5 -> 12)
- Update s3 config to use separate versioning and encryption terraform resources
- Use bucket_prefix instead of bucket for bucket naming to avoid name conflicts

Stream: https://youtu.be/KWwKPYuOGBw
2023-01-13 12:43:41 -05:00
..
2021-06-27 22:07:31 -07:00

03 - Basics

Remote Backends

Remote backends enable storage of TF state in a remote, location to enable secure collaboration.

Terraform Cloud

https://www.terraform.io/cloud

./terraform-cloud-backend/main.tf

AWS S3 + Dynamo DB

Steps to initialize backend in AWS and manage it with Terraform:

  1. Use config from ./aws-backend/ (init, plan, apply) to provision s3 bucket and dynamoDB table with local state
  2. Uncomment the remote backend configuration
  3. Reinitialize with terraform init:
Do you want to copy existing state to the new backend?
  Pre-existing state was found while migrating the previous "local" backend to the
  newly configured "s3" backend. No existing state was found in the newly
  configured "s3" backend. Do you want to copy this state to the new "s3"
  backend? Enter "yes" to copy and "no" to start with an empty state.

  Enter a value: yes 

Now the S3 bucket and dynamoDB table are mam and are able to be used as the state backend!

Web-App

Generic web application architecture including:

  • EC2 instances
  • S3 bucket
  • RDS instance
  • Load balancer
  • Route 53 DNS config

This example will be refined and improved in later modules.

Architecture