Magento on AWS
Quick Start Reference Deployment Guide


This Quick Start provides two deployment options. Depending on which option you choose, it creates and configures the necessary AWS components in the AWS Cloud.

Deploying this Quick Start with default parameters for end-to-end deployment (which creates a new VPC) builds the following Magento environment in the AWS Cloud.

      Quick Start architecture for Magento

Figure 1: Quick Start architecture for Magento

AWS Components

Running this Quick Start with default parameters for a new VPC deploys and configures the following AWS components in the AWS Cloud:

  • A VPC configured with two subnets in multiple Availability Zones. Each subnet is configured with a private and public subnet. The public subnets are called PublicSubnet1 and PublicSubnet2. The private subnets are called PrivateSubnet1 and PrivateSubnet2.

  • A network address translation (NAT) gateway deployed into the public subnets and configured with an Elastic IP address for outbound Internet connectivity. The NAT gateway is used for Internet access for all EC2 instances launched within the private network. If you deploy the Quick Start in a region that doesn’t support NAT gateways, NAT instances are deployed instead.

  • A MySQL database engine deployed via Amazon RDS in PrivateSubnet1. If you choose Multi-AZ deployment, a synchronously replicated secondary database is deployed in PrivateSubnet2. This provides high availability and built-in automated failover from the primary database.

  • An Amazon ElastiCache cluster with the Redis cache engine launched in the private subnets.

  • EC2 web server instances launched in the private subnets. Elastic Load Balancing deployed to automatically distribute traffic across the multiple web server instances.

  • Elastic Load Balancing deployed to automatically distribute traffic across the multiple web server instances.

  • Amazon EFS created and automatically mounted on web server instances to store shared media files.

  • Auto Scaling enabled to automatically increase capacity if there is a demand spike, and to reduce capacity during low traffic times. The default installation sets up low and high CPU-based thresholds for scaling the instance capacity up or down. You can modify these thresholds during launch and after deployment.

  • An IAM instance role with fine-grained permissions for access to AWS services necessary for the deployment process.

  • Appropriate security groups for each instance or function to restrict access to only necessary protocols and ports. For example, access to HTTP server ports on Amazon EC2 web servers is limited to Elastic Load Balancing. The security groups also restrict access to Amazon RDS MySQL DB instances by web server instances.

Magento Components

This Quick Start deploys Magento Community Edition with the following prerequisite software:

  • Operating system: Amazon Linux x86-64

  • Web server: NGINX

  • Database: MySQL 5.6 through Amazon RDS

  • Programming language: PHP 7, including the required extensions

This Quick Start also optionally deploys Magento sample data, which lets you experiment with custom themes and view the web store. If you choose to install Magento software with sample data, the Quick Start mounts an Amazon EFS file system as a drive within the web server nodes and installs common media assets in the Amazon EFS file system.

For more information about these utilities, see Install the Magento archive on your server on the Magento website.