BLOG | NGINX

High Availability for NGINX Plus on AWS with keepalived and Elastic IP Address

NGINX-Part-of-F5-horiz-black-type-RGB
 축소판
Published June 02, 2017

Part of the appeal of cloud computing is the promise of greater uptime. To achieve that, all parts of your architecture must be highly available, including the load balancer. Now you can achieve high availability (HA) for NGINX Plus on AWS with a new solution that combines keepalived and the AWS Elastic IP address feature.

[Editor – For details about our other solution for highly available NGINX Plus on AWS in combination with the AWS Network Load Balancer (NLB), see our deployment guide.]

One widely used approach for HA on AWS is to put Elastic Load Balancer (ELB) in front of NGINX Plus instances. While this approach can be a good starting point, using ELB not only increases complexity and cost, but also imposes the following limitations:

  • ELB does not expose a static IP address, which is critical requirement for some applications.
  • ELB IP addresses are published using a DNS CNAME record; you cannot map a root domain (for example, example.com) to a CNAME unless you delegate all DNS to Route 53.
  • ELB does not support UDP, so you cannot take advantage of NGINX Plus’ UDP load balancing.
  • ELB doesn’t scale quickly, so large traffic spikes can result in dropped traffic.

To avoid these limitations, our solution eliminates ELB in favor of a combination of keepalived and an AWS Elastic IP address. An Elastic IP address is a single static IP address assigned to an active‑passive pair of NGINX Plus instances. If the primary NGINX Plus instance goes out of service, keeaplived automatically promotes the backup instance to primary and transfers the Elastic IP address to it as shown in the figure.

When two NGINX Plus nodes hosted in AWS share an elastic IP address, the address switches to the backup automatically when the primary goes down, preserving high availability

For more information, including step‑by‑step instructions, see our deployment guide. For information about on‑premises high availability of NGINX Plus, including a solution based on keepalived, see the NGINX Plus Admin Guide.

[Editor – For details about our other solution for highly available NGINX Plus on AWS in combination with AWS NLB, see our deployment guide.]

New to NGINX Plus on AWS? Try it free for 30 days. For links to the available AMIs, see Installing NGINX Plus AMIs on Amazon EC2.


"This blog post may reference products that are no longer available and/or no longer supported. For the most current information about available F5 NGINX products and solutions, explore our NGINX product family. NGINX is now part of F5. All previous NGINX.com links will redirect to similar NGINX content on F5.com."