Skip to content

Latest commit

 

History

History

fargate-alb-proxy-pattern

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

cfn-modules: Fargate ALB with proxy pattern example

This example project demonstrates how an ALB can be placed in front of two Docker containers running on Fargate. The following diagram illustrates the high-level architecture.

              ┌────────────┐               
              │            │               
              │            │               
              │    ALB     │               
              │            │               
              │            │               
              └────────────┘               
                     │                     
          ┌──────────┘                     
┌─Service─▼───────────────────────────────┐
│ ┌──────────────┐       ┌──────────────┐ │
│ │              │       │              │ │
│ │              │       │              │ │
│ │  proxy       │       │  app         │ │
│ │  container   │──────▶│  container   │ │
│ │              │       │              │ │
│ │              │       │              │ │
│ └──────────────┘       └──────────────┘ │
└─────────────────────────────────────────┘

Prerequisites

  1. Install Node.js 10.x
  2. Create an S3 bucket where aws cloudformation package uploads the artifacts.
    1. Choose a unique bucket name, e.g. BucketName=cfn-modules-$Name-$Region
    2. Replace $Name with a unique name (e.g. your initials or company name)
    3. Replace $Region with your AWS default region (e.g. us-east-1)
    4. Create the bucket aws s3 mb s3://$BucketName

Usage

npm i
aws cloudformation package --template-file example.yml --s3-bucket $BucketName --output-template-file packaged.yml
aws cloudformation deploy --template-file packaged.yml --stack-name fargate-alb-proxy-pattern-example --capabilities CAPABILITY_IAM
aws cloudformation describe-stacks --stack-name fargate-alb-proxy-pattern-example --query "Stacks[0].Outputs[?OutputKey=='Url'].OutputValue" --output text

Open the URL in your web browser.

Don't forget to delete the stack once you are done with the demo:

aws cloudformation delete-stack --stack-name fargate-alb-proxy-pattern-example

Modules

Find all modules here: https://www.npmjs.com/org/cfn-modules