reference deployment

SQL Server with Always-on Replication on AWS

Using always-on availability groups and Windows Server Failover Clustering

This Quick Start builds a highly available Microsoft SQL Server environment, which includes Microsoft Windows Server and SQL Server running on Amazon Elastic Compute Cloud (Amazon EC2), on the Amazon Web Services (AWS) Cloud. It uses AWS Systems Manager Automation, AWS CloudFormation, and Windows PowerShell Desired State Configuration (DSC) to deploy a multi-node SQL Always On availability group with database replication.

This architecture uses Windows Server Failover Clustering (WSFC) to increase application availability. WSFC provides infrastructure features that complement the high availability and disaster recovery scenarios supported in the AWS Cloud.

This automated deployment supports SQL Server 2016, SQL Server 2017, and SQL Server 2019 Enterprise edition running on Windows Server 2019.

This Quick Start is for IT infrastructure architects, administrators, and DevOps professionals who want to deploy and customize their own SQL Server environment. If you want a more guided deployment option, consider AWS Launch Wizard.

For a similar architecture that requires only one SQL Server license, see the Quick Start for SQL Server Failover Cluster Instance. You can use that Quick Start if Amazon FSx is supported in the AWS Region you want to launch into and if you are using the Bring Your Own License model for Microsoft SQL.

This Quick Start was developed by AWS. If you have questions about this Quick Start, contact Datavail, an Advanced AWS Partner.

  •  What you'll build
  • Use this Quick Start to automatically set up the following SQL Server environment on AWS:

    • A virtual private cloud (VPC) configured with public and private subnets across two Availability Zones. This provides the network infrastructure for your SQL Server deployment. You can optionally choose a third Availability Zone for the file-share witness or for an additional SQL Server cluster node.*
    • In the public subnets, Windows Server–based Remote Desktop Gateway (RD Gateway) instances and network address translation (NAT) gateways for outbound internet access.*
    • In the private subnets, Active Directory Domain Services (AD DS) domain controllers, which are configured by AWS Systems Manager Automation documents. The Quick Start uses AWS Directory Service to provision AD DS and to manage tasks such as monitoring domain controllers, and configuring backups and snapshots. You can also choose to add AD DS domain controllers as EC2 instances to the architecture and manage these yourself.*
    • In the private subnets, Windows Server-based instances as WSFC nodes and SQL Server Enterprise edition with SQL Server Always On availability groups on each node. This architecture provides redundant databases along with a witness server. The default architecture mirrors an on-premises architecture of two SQL Server instances spanning two subnets placed in two different Availability Zones.
    • AWS Secrets Manager for password storage.
    • Security groups to ensure the secure flow of traffic between the instances deployed in the VPC.

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

  •  How to deploy
  • To build your SQL Server environment on AWS, follow the instructions in the deployment guide. The deployment process 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 Quick Start. Each deployment takes about 2.25 hours. Choose the Region from the top toolbar before creating the stack. You can choose from two options:
    3. Test the deployment.

    To customize your deployment, you can choose different instance types for your resources, configure CIDR blocks and IP addresses, and customize your Active Directory and SQL Server configuration.

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

  •  Cost and licenses
  • You are responsible for the cost of the AWS services and any third-party licenses used while running this Quick Start reference deployment. There is no additional cost for using this Quick Start.

    The AWS CloudFormation template for this Quick Start includes configuration parameters that you can customize. Some of these settings, such as instance type, volume size, or opting to use the Amazon-provided image for SQL Server, affect the cost of deployment. For cost estimates, see the pricing pages for each AWS service you use. Prices are subject to change.

    Tip: After you deploy the Quick Start, create AWS Cost and Usage Reports to track costs associated with the Quick Start. 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, see What are AWS Cost and Usage Reports?

    The Quick Start provides three licensing options for SQL Server Enterprise edition:

    • Install a trial version of SQL Server 2016, 2017, or 2019 Enterprise edition from the Microsoft Evaluation Center.
    • Use the Amazon Machine Image (AMI) for Windows Server with license costs and SQL Server Enterprise edition included. When using AWS-provided SQL licensing, you don't need a copy of SQL Server 2019.
    • Use your volume licensing software and mobilize the license. For development and test environments, you can leverage your existing MSDN licenses for SQL Server by using Amazon EC2 Dedicated Instances. When using your own SQL license, you need a copy of SQL Server 2019.

    For more information about these options, see the Microsoft Licensing on AWS webpage. For information about which Windows Server AMIs go with which parameter settings, see the "Software licenses" section of the Quick Start deployment guide.