Skip to content
A reference architecture to deploy Laravel on a highly available ECS cluster using CloudFormation
Branch: master
Clone or download
Latest commit 1b66b65 Dec 12, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images updated arch overview Dec 12, 2017
infrastructure cloudwatch alarms Dec 12, 2017
README.md image update Dec 11, 2017
master.yaml cloudwatch alarms Dec 12, 2017

README.md

Deploying Laravel with Amazon ECS, AWS CloudFormation and an Application Load Balancer

This reference architecture provides a set of YAML templates for deploying a Laravel application (with its crons and workers) to Amazon EC2 Container Service (Amazon ECS) with AWS CloudFormation.

The architecture features high security and high availability, and can be adjusted based on your hosting budget. All details on Medium here

Overview

infrastructure-overview

The repository consists of a set of nested templates that deploy the following:

  • A tiered VPC with public and private subnets, spanning an AWS region.
  • A highly available ECS cluster deployed across two Availability Zones in an Auto Scaling group.
  • (optional) A pair of NAT gateways (one in each zone) to handle outbound traffic.
  • The Laravel application and its crons and workers deployed as ECS services (Dockerfiles for Laravel and Nginx provided).
  • An Application Load Balancer (ALB) to the public subnets to handle inbound traffic.
  • A S3 Bucket and a corresponding CloudFront distribution
  • SSL certificates for the CloudFront Distribution and the ALB
  • SSL offloading on the ALB so you don't have to manage certificates in your Nginx containers
  • All traffic is forced to HTTPS, and traffic to the www subdomain is redirected to the apex domain.
  • Centralized container logging with Amazon CloudWatch Logs.
  • CloudWatch monitoring alarms for the database and web instances
You can’t perform that action at this time.