Merge branch 'master' into aws-localstack

This commit is contained in:
Tom Hombergs
2020-07-22 06:57:30 +10:00
committed by GitHub
51 changed files with 2723 additions and 6 deletions

View File

@@ -1,8 +1,8 @@
# Overview
![ECS in two public subnets](ecs-in-two-public-subnets.svg)
![ECS Zero Downtime Deployment](ecs-in-two-public-subnets.svg)
# Companion Blog Post
[The AWS Journey Part 2: Deploying a Docker image from the Command Line with CloudFormation](https://reflectoring.io/aws-cloudformation-deploy-docker-image/)
[The AWS Journey Part 4: Zero-Downtime Deployment with CloudFormation and ECS](https://reflectoring.io/aws-cloudformation-ecs-deployment/)

View File

@@ -0,0 +1,18 @@
# Turning off the AWS pager so that the CLI doesn't open an editor for each command result
export AWS_PAGER=""
aws cloudformation create-change-set \
--change-set-name update-reflectoring-ecs-zero-downtime-deployment-service \
--stack-name reflectoring-ecs-zero-downtime-deployment-service \
--use-previous-template \
--parameters \
ParameterKey=StackName,ParameterValue=reflectoring-ecs-zero-downtime-deployment-network \
ParameterKey=ServiceName,ParameterValue=reflectoring-hello-world \
ParameterKey=ImageUrl,ParameterValue=docker.io/reflectoring/aws-hello-world:v4 \
ParameterKey=ContainerPort,ParameterValue=8080 \
ParameterKey=HealthCheckPath,ParameterValue=/hello \
ParameterKey=HealthCheckIntervalSeconds,ParameterValue=90
aws cloudformation describe-change-set \
--stack-name reflectoring-ecs-zero-downtime-deployment-service \
--change-set-name update-reflectoring-ecs-zero-downtime-deployment-service

View File

@@ -14,7 +14,7 @@ aws cloudformation create-stack \
--parameters \
ParameterKey=StackName,ParameterValue=reflectoring-ecs-zero-downtime-deployment-network \
ParameterKey=ServiceName,ParameterValue=reflectoring-hello-world \
ParameterKey=ImageUrl,ParameterValue=docker.io/reflectoring/aws-hello-world:latest \
ParameterKey=ImageUrl,ParameterValue=docker.io/reflectoring/aws-hello-world:v3 \
ParameterKey=ContainerPort,ParameterValue=8080 \
ParameterKey=HealthCheckPath,ParameterValue=/hello \
ParameterKey=HealthCheckIntervalSeconds,ParameterValue=90

View File

View File

@@ -0,0 +1,8 @@
# Turning off the AWS pager so that the CLI doesn't open an editor for each command result
export AWS_PAGER=""
aws cloudformation execute-change-set \
--stack-name reflectoring-ecs-zero-downtime-deployment-service \
--change-set-name update-reflectoring-ecs-zero-downtime-deployment-service
aws cloudformation wait stack-update-complete --stack-name reflectoring-ecs-zero-downtime-deployment-service

View File

@@ -100,7 +100,7 @@ Resources:
Memory: !Ref 'ContainerMemory'
Image: !Ref 'ImageUrl'
PortMappings:
- ContainerPort: !Ref 'ContainerPort' serve
- ContainerPort: !Ref 'ContainerPort'
LogConfiguration:
LogDriver: 'awslogs'
Options:

View File

@@ -0,0 +1,17 @@
# Turning off the AWS pager so that the CLI doesn't open an editor for each command result
export AWS_PAGER=""
IMAGE_URL=$1
aws cloudformation update-stack \
--stack-name reflectoring-ecs-zero-downtime-deployment-service \
--use-previous-template \
--parameters \
ParameterKey=StackName,ParameterValue=reflectoring-ecs-zero-downtime-deployment-network \
ParameterKey=ServiceName,ParameterValue=reflectoring-hello-world \
ParameterKey=ImageUrl,ParameterValue=$IMAGE_URL \
ParameterKey=ContainerPort,ParameterValue=8080 \
ParameterKey=HealthCheckPath,ParameterValue=/hello \
ParameterKey=HealthCheckIntervalSeconds,ParameterValue=90
aws cloudformation wait stack-update-complete --stack-name reflectoring-ecs-zero-downtime-deployment-service