Skip to content

puybr/terraform-aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

494 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚜 AWS ECS and CodePipeline Infrastructure-as-Code

Terraform Modules:

  1. app
  2. cicd
  3. network
  4. repo
  5. routing
  6. security

✏️ Check out the tutorial here

How to setup:

  • Create the IAM user and apply the required permissions
  • Generate the AWS CLI access keys in the IAM console or Identity Center (SSO)
  • Install and configure the AWS CLI
  • Configure the Codestar Connection
  • Clone this repository
  • Fork the nodejs-express-boilerplate repository

Modify the AWS provider block

  • Located in the "main.tf" file in each module
  • Configure an additional AWS CLI profile:
  • aws configure --profile profile-name
  • aws configure sso --profile profile-name
# provider "aws" {
    profile = "profile-name"   <--- optional
# }
  • Or use the [default] AWS CLI profile

Set the variables

  • Option 1 - Add a "terraform.tfvars" file in each module directory
  • Option 2 - Set the default variables directly in the module block in the "main.tf" file

πŸš€ How to run the module:

terraform init
terraform plan
terraform apply

☁️ AWS Resources:

  • Virtual Private Cloud (VPC)
    • Subnets
    • Internet Gateway
    • Route Tables
    • NAT Gateway
  • Application Load Balancer (ALB)
    • ALB HTTP Listener
    • ALB Listener Rules
    • Target Groups
    • Target Group Health Checks
  • IAM Roles & Policies
  • Security Groups
  • Systems Manager Parameter Store (SSM)
  • Elastic Container Registry (ECR)
  • Elastic Container Service (ECS)
    • ECS Cluster
    • ECS Task Definition
    • ECS Service
  • CodePipeline
  • CodeBuild
  • CodeDeploy
  • S3 Bucket Artifacts

βœ…οΈ To-do

Releases

No releases published

Packages

 
 
 

Contributors