How to Build SQL Server FCIs in AWS with Multi-Attach EBS Volumes
Need to build a SQL Server FCI in AWS but prefer not to use FSx for Windows File Server? Good news, you have other options. One option that more closely aligns with traditional FCIs that use shared disks is Multi-Attach EBS volumes.
Multi-Attach EBS volumes in AWS enable organizations to use Windows Server Failover Clusters with shared storage. Attaching a single EBS (Elastic Block Store) to multiple EC2 instances simultaneously makes them ideal for SQL Server FCIs.
What are Multi-Attach EBS Volumes?
These EBS volumes are single Elastic Block Store volumes that can be attached to multiple EC2 instances. The feature is available for io1 and io2 Block Express volumes. However, Windows instances only support io2 Block Express volumes. Multi-Attach facilitates high availability and seamless failover for SQL Server FCIs (similar to how they operate on-premises).
Prerequisites
Before setting up these volumes for SQL Server FCIs, ensure the following prerequisites are met:
1. EC2 Instances in the same Availability Zone
All EC2 instances that will attach to the EBS volume must reside within the same AZ. This ensures low latency and high throughput between the instances and the EBS volume. This is critical for maintaining performance and reliability in a failover scenario.
2. Supported EBS Volume Types
While both io1 and io2 Block Express volumes support the Multi-Attach option, Windows instances only support io2 Block Express volumes. This limitation is due to the enhanced performance and features that io2 Block Express provides.
3. Regional Availability of io2 Block Express Volumes
Verify that io2 Block Express Volumes are available in your AWS region. Not all regions may support this volume type, so review the Amazon EBS Provisioned IOPS SSD volumes user guide to confirm availability.
4. Additional Networking and VPC Configurations
While this post focuses on EBS Multi-Attach, ensure that your networking and VPC configurations meet the requirements for setting up a Windows Server Failover Cluster. See this link to review the full list of prerequisites for WSFC.
io2 Block Express Volumes
These volumes offer the highest-performance block storage. Key features include:
- Capacity: Ranges from 4 GB to 64 TB, accommodating various workloads.
- Performance:
- IOPS: Up to 256,000 IOPS per volume.
- Throughput: Maximum throughput of 4 GB/s per volume
These high-performance metrics make io2 Block Express volumes ideal for demanding SQL Server workloads, especially those requiring rapid data access and high transaction rates.
Compatibility
io2 Block Express volumes are available on all Nitro-based EC2 instances. The AWS Nitro system is a collection of hardware and software components designed to provide enhanced security, performance, and flexibility for EC2 instances.
Enabling Multi-Attach for EBS Volumes
By default, this option is disabled but simple to enable. See this link for instructions on using the AWS Console or Command-Line.
Want to work with The SERO Group?
Want to learn more about how The SERO Group helps organizations take the guesswork out of managing their SQL Servers? Schedule a no-obligation discovery call with us to get started.