Magento on AWS
Magento Quick Start


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 that spans two Availability Zones. Each Availability Zone is configured with a private and a public subnet.

  • In a public subnet, a bastion host to provide Secure Shell (SSH) access to the Magento web servers. The bastion host is maintained by an Auto Scaling group that spans multiple Availability Zones, and is configured to ensure there is always one bastion host available.

  • AWS-managed network address translation (NAT) gateways deployed into the public subnets and configured with an Elastic IP address for outbound Internet connectivity. The NAT gateways are used for Internet access for all EC2 instances launched within the private network.

  • Either an Amazon RDS for MySQL or an Amazon Aurora database engine deployed via Amazon RDS in the first private subnet. If you choose Multi-AZ deployment, a synchronously replicated secondary database is deployed in the second private subnet. 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 DB instances by web server instances.

Magento Components

This Quick Start deploys Magento Open Source 2.1.9 with the following prerequisite software:

  • Operating system: Amazon Linux x86-64

  • Web server: NGINX

  • Database: Amazon RDS for MySQL 5.6 or Amazon Aurora

  • 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.