How to bring HA and DR to SQL Server on Amazon EC2


The successful migration from purely private to public and hybrid cloud arrangements has substantially increased the level of confidence IT administrators have in the cloud. And among the top cloud service providers chosen by administrators is Amazon Web Services, based on its proven track record of security and reliability. But challenges remain to providing adequate high availability and disaster recovery protections for mission-critical SQL Server databases.

This article provides some practical guidance for system and database administrators tasked with protecting mission-critical SQL Server running in the Amazon Elastic Compute Cloud (EC2), beginning with how those databases are normally configured.

Amazon EC2 Instance Store vs. EBS

At the risk of oversimplification, AWS has two EC2 storage options that are normally used for SQL Server databases: Instance Store and Elastic Block Storage. Instance Store is a form of ephemeral or non-persistent storage that uses locally attached media (SSD or HDD). The data store is, by default, not replicated, and this option lacks support for snapshots. Instance Store is a good choice for temporary databases, and, when supplemented with separate provisions for persisting and protecting the data, it is also a good choice for very large databases or databases requiring high transactional throughput.