reference deployment

Amazon Aurora MySQL Database on AWS

Deploy an Aurora MySQL database with high availability and failover support

This solution automatically deploys an environment for an Amazon Aurora MySQL database to the Amazon Web Services (AWS) Cloud. This solution is for users who are looking for a repeatable, customizable reference architecture for Aurora MySQL using AWS CloudFormation.

You can also use this solution as a building block for other automated deployments. To do this, use the existing-VPC deployment option, which creates only the Aurora database components. The template for this option plugs in to your existing AWS CloudFormation templates and replaces your MySQL database.

Amazon Aurora is a fully managed relational database engine that's compatible with MySQL and PostgreSQL. With Aurora, you can use the code, tools, and applications you use today with your existing MySQL and PostgreSQL databases.  For some workloads, Aurora can deliver up to five times the throughput of MySQL without requiring changes to most of your existing applications.

As part of Amazon Relational Database Service (Amazon RDS), Aurora takes advantage of Amazon RDS features for database management and administration. It eliminates the need to maintain database infrastructure: servers, replication, backups, and so on.

portworx logo

This solution was developed by AWS.

  •  What you'll build
  • This solution sets up the following:

    • A highly available architecture that spans two Availability Zones.*
    • A virtual private cloud (VPC) configured with public and private subnets, according to AWS best practices, to provide you with your own virtual network on AWS.*
    • In the public subnets:
      • Managed network address translation (NAT) gateways to allow outbound internet access for resources in the private subnets.*
      • A Linux bastion host in an Auto Scaling group to allow inbound Secure Shell (SSH) access to resources in the private subnets.*
    • In the private subnets, an Aurora database (DB) cluster that includes one DB reader and one DB writer.
    • An Amazon CloudWatch alarm to monitor the CPU on the bastion host and send an Amazon Simple Notification Service (Amazon SNS) notification when the alarm is triggered.
    • An encryption key using AWS Key Management Service (AWS KMS). The solution uses the key to enable encryption at rest for the Aurora DB cluster.

    The template that deploys the solution into an existing VPC skips the components marked by asterisks and prompts you for your existing VPC configuration.

  •  How to deploy
  • To deploy the Aurora MySQL environment in your AWS account, follow the instructions in the deployment guide. The deployment process takes about 30 minutes and includes these steps:

    1. If you don't already have an AWS account, sign up at, and sign in to your account.
    2. Launch the solution, choosing from the following options. Before you create the stack, choose the AWS Region from the top toolbar.
    3. Test the deployment and confirm that the MySQL database is accepting connections.

    Amazon may share user-deployment information with the AWS Partner that collaborated with AWS on this solution.  

  •  Costs and licenses
  • You are responsible for the cost of the AWS services and any third-party licenses used while running this solution. There is no additional cost for using the solution.

    This solution includes configuration parameters that you can customize. Some of these settings, such as instance type, affect the cost of deployment. For cost estimates, refer to the pricing pages for each AWS service you use. Prices are subject to change.

    Tip: After you deploy a solution, create AWS Cost and Usage Reports to track associated costs. These reports deliver billing metrics to an Amazon Simple Storage Service (Amazon S3) bucket in your account. They provide cost estimates based on usage throughout each month and aggregate the data at the end of the month. For more information, refer to What are AWS Cost and Usage Reports?