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:
- Backup and restore
- Scaling
- Patching
- Upgrading binaries
- High availability
- 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
- 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.
- Scale storage requires a single Elastic Block Storage (EBS) volume. Older instances may have been created with more than one EBS volume.
- 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:
- License Included Model is held by AWS and is included in the Amazon RDS instance price.
- 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:
- 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
- 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.