Always On Failover Cluster Instances - AWS Prescriptive Guidance

Always On Failover Cluster Instances

SQL Server Always On Failover Cluster Instances (FCIs) use Windows Server Failover Clustering (WSFC) to provide high availability at the server instance level. An FCI is a single instance of SQL Server that is installed across WSFC nodes to provide high availability for the entire installation of SQL Server. If the underlying node experiences hardware, operating system, application, or service failures, everything inside the SQL Server instance is moved to another WSFC node. This includes system databases, SQL Server logins, SQL Server Agent jobs, and certificates.

An FCI is generally preferable over an Always On availability group when:

  • You’re using SQL Server Standard edition instead of Enterprise edition.

  • You have a large number of small databases per instance.

  • You’re constantly modifying instance-level objects such as SQL Server Agent jobs, logins, and so on.

There are four options for deploying FCIs on AWS:

  • Amazon EBS Multi-Attach with persistent reservations

  • Amazon FSx for Windows File Server

  • Amazon FSx for NetApp ONTAP

  • Solutions from AWS Partners

Using Amazon EBS Multi-Attach with persistent reservations

Amazon EBS Multi-Attach with NVMe reservations supports the creation of SQL Server FCIs with Amazon EBS io2 volumes as the shared storage on Windows Server failover clusters. This feature simplifies the failover cluster setup process by enabling you to build a failover cluster by using Amazon EBS io2 volumes. These volumes can be attached only to instances that are in the same Availability Zone. To deploy Windows Server failover clusters by using Amazon EBS io2 volumes, you must use the latest AWS NVMe drivers.

Amazon EBS volumes and instance store volumes are exposed as NVMe block devices on Nitro-based instances. You must have the AWS NVMe driver installed with the SCSI persistent reservation feature configured when you use Amazon EBS io2 volumes to form WSFC and SQL Server FCIs.

For more information about this feature, see the AWS blog post How to deploy a SQL Server failover cluster with Amazon EBS Multi-Attach on Windows Server.

Using Amazon FSx for Windows File Server

Amazon FSx for Windows File Server provides fully managed shared file storage. It automatically replicates the storage synchronously across two Availability Zones to provide high availability. Using FSx for Windows File Server for file storage helps simplify and optimize SQL Server high availability deployments on Amazon EC2.

With Microsoft SQL Server, high availability is typically deployed across multiple database nodes in an WSFC, and each node has access to shared file storage. You can use FSx for Windows File Server as shared storage for SQL Server high availability deployments in two ways: as storage for active data files and as an SMB file share witness.

For information about how you can reduce the complexity and cost of running SQL Server FCI deployments by using FSx for Windows File Server, see the blog post Simplify your Microsoft SQL Server high availability deployments using Amazon FSx for Windows File Server. The blog post also provides step-by-step instructions for deploying SQL Server FCIs by using an Amazon FSx Multi-AZ file system as the shared storage solution. For more information, see the Amazon FSx for Windows File Server documentation.

Using Amazon FSx for NetApp ONTAP

Amazon FSx for NetApp ONTAP is a fully managed service that provides highly reliable, scalable, high-performing, and feature-rich file storage that's built on the NetApp ONTAP file system. FSx for ONTAP combines the familiar features, performance, capabilities, and API operations of NetApp file systems with the agility, scalability, and simplicity of a fully managed AWS service.

FSx for ONTAP provides multi-protocol access to data over the NFS, SMB, and iSCSI protocols for Windows and Linux systems. You can build a highly available SQL Server Always On FCI architecture, as explained in detail in the blog post SQL Server High Availability Deployments Using Amazon FSx for NetApp ONTAP. FSx for ONTAP can also provide a quick way to fail over your SQL Server environment to a different AWS Region in order to meet recovery time objective (RTO) and recovery point objective (RPO) requirements. For more information, see the blog post Implementing HA and DR for SQL Server Always-On Failover Cluster Instance using FSx for ONTAP.

You can also use AWS Launch Wizard to deploy SQL Server solutions on AWS, with support for Always On Availability Groups and single-node deployments. Launch Wizard supports the deployment for SQL Server Always on FCIs on Amazon EC2 with FSx for ONTAP as the shared storage. This service saves you time and effort by replacing a complex manual deployment process with a guided, console-based wizard that accelerates the migration of your on-premises SQL Server workloads that rely on shared storage. For more information about how Launch Wizard can help you provision and configure SQL Server FCIs in hours, see the blog post Simplify SQL Server Always On deployments with AWS Launch Wizard and Amazon FSx. Launch Wizard also supports deployment for SQL Server Always On FCIs by using Amazon FSx for Windows File Server as the shared storage solution.

Using solutions from AWS Partners

  • SIOS DataKeeper provides high availability cluster failover support across AWS Regions and Availability Zones. SIOS DataKeeper is available in AWS Marketplace.

  • DxEnterprise from DH2i enables fully automatic failover of SQL Server Availability Groups in Kubernetes and unified instance failover for Windows and Linux. D2HI is available in AWS Marketplace.