Skip to content

A reference architecture to deploy Laravel on a highly available ECS cluster using CloudFormation

Notifications You must be signed in to change notification settings

li0nel/laravelaws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A reference architecture to deploy Laravel on a highly available ECS cluster using CloudFormation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published