SQL Server Migrations & Upgrades

Migrating Microsoft SQL Server To Amazon AWS RDS

Updated
9 min read
Written by
Mark Varnas

What is Amazon AWS RDS SQL Server and What is it for?

Amazon Relational Database Service (RDS) is a managed database service that does lots of administrative heavy lifting you or your DBA would normally have to do.

AWS RDS automates everyday database administration tasks such as:

  1. Backup and restore
  2. Scaling
  3. Patching
  4. Upgrading binaries
  5. High availability
  6. Failover support for DB instances through multi-AZ deployments, provisioning, and maintaining a synchronous standby replica in a different Availability Zone (AZ).

The RDS service is designed to free up database administration time, allowing you to focus on activities that bring more value to your end customers, such as innovation.

Amazon RDS has multi-engine support, which means that you can run Microsoft SQL Server, Oracle, Amazon Aurora, MySQL, MariaDB, and PostgreSQL.

Licensing AWS Microsoft SQL Server for RDS

For MS SQL Server specifically, RDS supports different editions along with a couple of different license types.

The service supports the License Included licensing model. If you have license mobility, you’re able to bring your license to RDS.

Amazon RDS for SQL Server

Amazon RDS for SQL Server allows the use of CloudFormation templates to launch new SQL Server instances, scaling up or down between various instance types and offering storage ranging from 100GB to 16TB.

There’s a wide range of things that Amazon does within RDS for SQL Server that will make your life simpler.

These include adding high availability with AWS database mirroring, encryption, syncing to Active Directory (AD), and enabling Windows Authentication.

Storage Scaling

Microsoft collaborated with customers and found that the most common request was for storage scaling on RDS for SQL Server.

In the past, you had to determine the amount of storage needed, provision that amount, and were unable to modify it.

Recently, online storage scaling has been introduced but with a few limitations.

AWS RDS storage scaling limitations

  1. When you issue a scale storage command to RDS SQL Server, the instance will go into a state called “storage optimizing”. During that period, you’re not allowed to do another scale storage operation until the last one is completed.
  2. Scale storage requires a single Elastic Block Storage (EBS) volume. Older instances may have been created with more than one EBS volume.
  3. Magnetic storage uses more than one volume, so it doesn’t allow you to scale.

RDS Instance Types

RDS provides a selection of instance types optimized to fit different relational database use cases.

Instance types offer different combinations of CPU, memory, storage, and networking, allowing you to choose the right mix for your Amazon database.

Each instance type includes one or more instance sizes, allowing you to scale your resources to the requirements of your target workload.

The newest AWS M5 instance type

The newest M5 instance type represents the next generation of Amazon EC2 general-purpose compute instances.

RDS M5 instance type offers a balance of computing, memory, and networking resources for a broad range of AWS database workloads.

The M5 instances are powered by 2.5 GHz Intel Xeon Scalable CPUs and deliver improved price/performance compared to M4 instances.

The larger-sized model: m5.24xlarge

M5 instances introduce a new larger-sized model: m5.24xlarge.

Here you get:

  • A whopping 96 vCPUs
  • 384 GB of RAM
  • Next-generation Elastic Network Adapter (ENA), and
  • NVM Express (NVMe) technology, offers up to 25 Gbps of network bandwidth and up to 10 Gbps of dedicated bandwidth for database storage.

More info here.

Two types of Amazon RDS licensing for SQL Server

You can choose from two licensing models:

  1. License Included Model is held by AWS and is included in the Amazon RDS instance price.
  2. Bring Your Own License (BYOL) model where you provide your own license under the Microsoft License Mobility program.

Amazon offers SQL Server Enterprise Edition License Included in all AWS commercial regions (non-governmental regions) and on additional instance types:

  • R3,
  • M4 and
  • M5 with a minimum of 4 vCPUs.

You don’t need SQL Server licenses separately.

Pricing includes the software license, the underlying hardware resources, and all database management capabilities.

Simply launch a SQL Server Enterprise Edition instance in the AWS Management Console and select the License Included option.

For more information about AWS RDS pricing, see this: Amazon RDS for SQL Server Pricing.

SQL Server High Availability

SQL Server DB instances use SQL Server mirroring to provide high availability and failover support for DB instances using multi-AZ deployments.

The primary DB instance is synchronously replicated across Availability Zones to a standby replica to provide data redundancy, eliminate I/O freezes, and minimize latency spikes during system backups.

Running a DB instance with high availability can enhance availability during planned system maintenance and help protect your databases against DB instance failure and Availability Zone disruption.

More about AWS AZ: Regions, Availability Zones, and Local Zones – Amazon RDS

Windows Authentication Support

You can enable Windows Authentication when creating a new database or adding it to an existing one.

Credential information should be stored in the AWS Directory Service for Microsoft Active Directory (AD).

Amazon RDS, SQL Server, and Secure Sockets Layer (SSL)

You can use Secure Sockets Layer (SSL) to encrypt connections between your client applications and your Amazon RDS DB instances running Microsoft SQL Server.

SSL support is available in all AWS regions for all supported SQL Server editions.

When you create a SQL Server DB instance, Amazon RDS creates an SSL certificate for it.

The SSL certificate includes the DB instance endpoint as the Common Name (CN) for the SSL certificate to guard against spoofing attacks.

There are two ways to use SSL to connect to your SQL Server DB instance:

  1. Use force SSL for all connections (this happens transparently to the client, and the client doesn’t have to do any work to use SSL) or
  2. Encrypt specific connections (this sets up an SSL connection from a specific client computer, and you must do work on the client to encrypt connections).

HIPAA Eligibility for Amazon RDS for SQL Server

The AWS Health Insurance Portability and Accountability Act (HIPAA) compliance program has been expanded to include Amazon RDS for SQL Server.

All Amazon RDS database engines are now HIPAA-eligible.

RDS can be used to build HIPAA-compliant applications and store healthcare-related information, including protected health information (PHI) under an executed Business Associate Agreement (BAA).

Stop/Start Feature

The stop/start feature is available for database instances running in a Single-AZ deployment, which are not part of a read replica (both source and replica) configuration.

Amazon RDS for SQL Server allows you to quickly stop and start your DB instances that are not required to be running all of the time (DBS for test and dev).

While your database instance is stopped, you are charged for provisioned storage, manual snapshots, and automated backup storage within your specified retention window, but not for DB instance hours.

You can stop an instance for up to 7 days at a time. After 7 days, it will be automatically started.

That’s what Amazon AWS RDS for Microsoft SQL Server options look like today.

Additional Information

Article by
Mark Varnas
Founder | CEO | SQL Veteran
Hey, I'm Mark, one of the guys behind Red9. I make a living performance tuning SQL Servers and making them more stable.

Leave a Comment

Managed SQL Server services, consulting, and emergency support from expert DBAs to improve performance, predictability, and cost.

Get started with Red9 today.

Contact us

Discover More

SQL Server Health Check SQL Server Migrations & Upgrades SQL Server Performance Tuning SQL Server Security SQL Server Tips

Discover what clients are saying about Red9

Red9 has incredible expertise both in SQL migration and performance tuning.

The biggest benefit has been performance gains and tuning associated with migrating to AWS and a newer version of SQL Server with Always On clustering. Red9 was integral to this process. The deep knowledge of MSSQL and combined experience of Red9 have been a huge asset during a difficult migration. Red9 found inefficient indexes and performance bottlenecks that improved latency by over 400%.

Rich Staats 5 stars
Rich Staats
Cloud Engineer
MetalToad

Always willing to go an extra mile

Working with Red9 DBAs has been a pleasure. They are great team players and have an expert knowledge of SQL Server database administration. And are always willing to go the extra mile to get the project done.
5 stars
Evelyn A.
Sr. Database Administrator

Boosts server health and efficiency for enhanced customer satisfaction

Since adding Red9 to the reporting and DataWarehousing team, Red9 has done a good job coming up to speed on our environments and helping ensure we continue to meet our customer's needs. Red9 has taken ownership of our servers ensuring they remain healthy by monitoring and tuning inefficient queries.
5 stars
Andrew F.
Datawarehousing Manager
See more testimonials