The Red Hat Enterprise Linux High Availability (RHEL w/ HA) Add-On is now available as an Amazon Machine Image (AMI) in the AWS console for RHEL 8.3 and 7.9. RHEL customers can now combine the scale, performance, and elasticity of Amazon Elastic Compute Cloud (Amazon EC2) with RHEL w/ HA to build highly available compute clusters. 

Introduction

Many applications exist among the key components in high-availability architectural designs. Some of those applications don’t have the simple face of a fully decoupled 12-factor application but still need to be a part of typical cloud migration plan. Keeping web services that are not yet ready for deploying into containers should not be a challenge, no matter what the platform. On virtualized platforms, many convenient tools help address requirements for ensuring the availability, the reliability, and the performance of an application using various mechanisms, from containers and load balancers to auto-scaling groups of many different types. However, some applications depend on complex business and transactional requirements and don’t benefit from standard cloud load-balancing techniques. Instead, these applications benefit from the use of a robust high-availability engine, such as the open source Corosync.

Servers that require a persistent single point of access, stability in networking, and other unpredictable complications, such as consistency across specific availability zones or for control of applications, are prone to memory leaks or other performance concerns in applications that aren’t using simple scalability or stateless techniques. Whether you require shared resources or a self-managed replication system in an application that needs to be more consistently reliable, a high-availability cluster can make all of the difference.

HA software is necessary to make certain that the results are consistent. Almost 10 years ago, members of the greater AWS developer community began working on the fence_ec2 agent in the community supporting Linux-HA as a project to support fencing on Amazon EC2, and later that was improved to use Boto3 instead of the AWS Command Line Interface (AWS CLI) in the fence_aws project. AWS developers contributed to this thriving open source community of the ClusterLabs project for integration with the open source cluster resource manager known as Pacemaker.

Over the years, many modifications have been made in the cluster resource manager components. As an open source suite, the Pacemaker/Corosync combination has evolved, but the management of those elements has remained well-defined and consistent in the context of the Linux-based distributions from AWS Partner Network (APN) Premier Partners, such as Red Hat, for so long that many users have grown to rely on them for a number of large-scale workloads that are highly performant within the Amazon EC2 environment.

Before this release, the only way to deploy a fully supported RHEL w/HA cluster was through an annual support subscription purchased in advance (BYOS) through the Red Hat Cloud Access program. With the release of RHEL w/HA license-included AMIs, our customers have another option to build highly available compute clusters for their workloads, such as database servers, gaming clusters, or any other mission-critical application.

AWS and Red Hat have worked together for more than a decade to provide our joint customers with many different solutions with services and features that customers can leverage to reduce the burden of updates and preliminary configuration commonly refer to as undifferentiated heavy-lifting. These images come with the components necessary for configuring high availability already installed and ready for use with no requirement to pre-purchase or manage subscriptions.

Customers who are still using the Red Hat Cloud Access Program should look at the open source options for configuration in the Linux System Roles and use the system role for an HA cluster configuration to bootstrap the configuration of the individual instances.

Diagram illustrating AMI fencing agent.

To ensure that services maintain that high availability, the fencing agent included in the AMI is designed to be used in a single AWS region across multiple availability zones. The AWS region availability zones (AZs) are located in different data centers and are typically 10 to 50 kilometers apart. These AZs have independent flood levels, electricity sources, and network hook-ups and are designed to function independently. The expected AWS architectural configuration for redundant cluster nodes includes spreading them across these AZs to overcome any individual zone failure. This setup allows applications that require this type of active-passive high availability to be built in simple-to-complex systems on the AWS infrastructure and, now, built in a way that is fully supported in hourly/on-demand pricing with RHEL w/HA.

Deploying RHEL w/HA cluster

Setting up HA clusters requires a significant amount of configuration beyond the instance start. We at AWS have created open source content that provides guidance on how to automate configuration through tools like the AWS Quick Start program and more recently through the use of the AWS Launch Wizard. These tools help customers size and deploy complex applications, including third-party applications with an open source side, such as HANA-based SAP systems, and others, such as Microsoft SQL Server.

We are pleased to announce that the documentation and deployment process for RHEL w/HA is available as an APN Quick Start for your use in AWS CloudFormation templates. Moreover, APN Quick Starts are available in our AWS Quick Start organization, and this one is available in the RHEL with HA Quick Start repository, and pull requests are encouraged. You can use the RHEL with HA Quick Start as a Quick Start submodule to support your own product deployments on Amazon EC2.

Conclusion

We are excited to share this release with the community and hope that you will benefit from this information about deploying RHEL w/HA as an operating system for your highly available compute clusters.