Deploy a high availability pair on AWS

You can configure two Citrix ADC VPX instances on AWS as a high-availability (HA)pair, in the same AWS zone where both VPX instances are on the same subnet. HA is achieved by migrating secondary private IP addresses attached to the NICs (client and server-side NICs) of the primary HA node to the secondary HA node after failover.

The following illustration an HA failover scenario by using by migrating secondary private IP addresses.

Figure 1. A Citrix ADC VPX HA Pair on AWS, using private IP migration

HA-pip-migration

Before you start your document,read the following docs:

How to deploy a VPX HA pair in the same zone

Here is the summary of the steps to to deploy a VPX HA pair in the same zone:

  1. Create two VPX instances on AWS, each with three NICs
  2. Assign AWS secondary private IP address to VIP and SNIP of primary node
  3. Configure VIP and SNIP on primary node using AWS secondary private IP addresses
  4. Configure HA on both nodes

Step 1. Create two VPX instances (primary and secondary nodes) by using the same VPC, each with three NICs (eth 0, eth 1, eth 2)

Follow the steps given in Deploy a Citrix ADC VPX instance on AWS by using the AWS web console.

Step 2. On the primary node, assign secondary private IP addresses for eth 1 (client IP or VIP) and eth 2 (back-end server IP or SNIP)

The AWS console automatically assigns primary private IP addresses to the configured NICs. You must assign additional private IP addresses to VIP and SNIP, known as secondary private IP addresses.

To assign a secondary private IPv4 address to a network interface, follow these steps:

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.
  2. In the navigation pane, choose Network Interfaces, and then select the network interface attached to the instance.
  3. Choose Actions, Manage IP Addresses.
  4. Under IPv4 Addresses, choose Assign new IP.
  5. Enter a specific IPv4 address that’s within the subnet range for the instance, or leave the field blank to let Amazon select an IP address for you.
  6. (Optional) Choose Allow reassignment to allow the secondary private IP address to be reassigned if it is already assigned to another network interface.
  7. Choose Yes, Update.

Under instance description, the assiged secondary private IP addresses appear.

Step 3. Configure VIP and SNIP on the primary node, using secondary private IP addresses

Access the primary node using SSH. Open an ssh client and type:

ssh -i <location of your private key> nsroot@<public DNS of the instance>

Next, configure VIP and SNIP.

For VIP, type:

add ns ip <IPAddress> <netmask> -type <type>

For SNIP, type:

add ns ip <IPAddress> <netmask> -type SNIP

Type save config to save.

To see the configured IP addresses, type the following command:

show ns ip

For more information, see the following topics:

Step 4: Configure HA on both instances

On the primary node, open a Shell client and type the following command:

add ha node <id> <private IP address of the management NIC of the secondary node>

On the secondary node, type the following command:

add ha node <id> < private IP address of the management NIC of the primary node >

Type save config to save the configuration.

To see the configured HA nodes, type show ha node.

Upon failover, the secondary private IP addresses configured as VIP and SNIP on the previous primary node are migrated to the new primary node.

To force failover on a node, type force HAfailover.

Legacy method for deploying a VPX HA pair

Prior to 13.0 41.x release, HA within same zone was achieved through AWS elastic network interface (ENI) migration. However, this method will be slowly deprecated.

The following figure shows an example of the HA deployment architecture for Citrix ADC VPX instances on AWS.

Figure 1. A Citrix ADC VPX HA Pair on AWS, using ENI migration

ha image

You can deploy two VPX instances on AWS as an HA pair by using one of the following options:

  • Create the instances with IAM Role manually by using the AWS Management Console and then configure HA on them.
  • Or automate the high availability deployment by using the Citrix CloudFormation template.

The CloudFormation template significantly decreases the number of steps involved for creating an HA pair, and it automatically creates an IAM Role. This section shows how to deploy a Citrix ADC VPX HA (active-passive) pair by using the Citrix CloudFormation template.

Keep the following points in mind while deploying two Citrix ADC VPX instances as an HA pair.

Points to note

  • HA on AWS requires the primary node to have at least two ENIs (one for management and the other for data traffic), and the secondary node to have one management ENI. However, for security purposes, create three ENIs on the primary node, because this setup allows you to segregate private and public network (recommended).
  • The secondary node always has one ENI interface (for management) and the primary node can have up to four ENIs.
  • The NSIP addresses for each VPX instance in a high availability pair must be configured on the default ENI of the instance.
  • Amazon does not allow any broadcast/multicast packets in AWS. As a result, in a HA setup, data-plane ENIs are migrated from the primary to the secondary VPX instance when the primary VPX instance fails.
  • Because the default (management) ENI cannot be moved to another VPX instance, do not use the default ENI for client and server traffic (data-plane traffic).
  • The message AWSCONFIG IOCTL NSAPI_HOTPLUG_INTF success output 0 in the /var/log/ns.log indicates that the two data ENIs have successfully attached to the secondary instance (the new primary).
  • Failover might take up to 20 seconds due to the AWS detach/attach ENI mechanism.
  • Upon failover, the failed instance always restarts.
  • The heartbeat packets are received only on the management interface.
  • The configuration file of the primary and secondary VPX instances is synchronized, including the nsroot password. The nsroot password of the secondary node is set to that of the primary node after the HA configuration synchronization.
  • To have access to the AWS API servers, either the VPX instance must have a public IP address assigned or routing must be set up correctly at VPC subnet level pointing to internet gateway of the VPC.
  • Nameservers/DNS servers are configured at VPC level using DHCP options.
  • The Citrix CloudFormation template does not create an HA setup between different availability zones.
  • The Citrix CloudFormation template does not create an INC mode.
  • The AWS debug messages are available in the log file, /var/log/ns.log, on the VPX instance.

Deploy a high availability pair by using the Citrix CloudFormation template

Before start the CloudFormation template, ensure that you complete the following requirements:

  • A VPC
  • Three subnets within the VPC
  • A security group with UDP 3003, TCP 3009–3010, HTTP, SSH ports open
  • A key pair
  • Create an internet gateway
  • Edit route tables for client and management networks to point to the internet gateway

Note

The Citrix CloudFormation template automatically creates an IAM Role. Existing IAM Roles do not appear in the template.

To launch the Citrix CloudFormation template:

  1. Log on to the AWS marketplace by using your AWS credentials.
  2. In the search field, type NetScaler ADC VPX to search for the Citrix ADC AMI, and click Go.
  3. On the search result page, click the desired Citrix ADC VPX offering.
  4. Click the Pricing tab, to go to Pricing Information.
  5. Select the region and Fulfillment Option as Netscaler AWS-VPX Cluster.
  6. Click Continue to Subscribe.
  7. Check the details in the Subscribe page and click Continue to Subscribe.
  8. Select Fulfillment Option as CloudFormation Template.

Localized image

6. Select Software Version and click Continue to Launch.

7. Under Choose Action, select Launch CloudFormation, and click Launch.

8. The Select Template page appears.  Click Next.

9. The Specify Details appears. Enter the following details.

   a. Type a Stack name. The name must be within 25 characters.

   b. Under High Availability Configuration

  Select Yes from the menu for Create HA pair?.

   c. Under Virtual Private Network Configuration

Select the VPC that you’ve already created for VPC ID.

Type Remote SSH CIDR IP.

Type Remote HTTP CIDR IP.

Type Remote HTTPS CIDR IP.

Select the key pair that you’ve already created from the menu for Key Pair.

   d. Under Network Interface Configuration

Select Management Subnetwork, Client Subnetwork, and Server Subnetwork. Ensure that you select the correct subnetworks you created within the VPC that you selected under VPC ID in step c.

Add Primary Management IP, Secondary Management IP, Client IP, and Server IP. The IP addresses must belong to the same subnets of the respective subnetworks.  Alternatively, you can let the template assign the IP addresses automatically.

   e. Under Other Parameters

Select m4.large for Instant Type.

Select default for Tenancy Type.

By default, the AWS CloudWatch metric option is set to Yes. If you want to disable this option, select No.

Localized image

For more information about CloudWatch metrics, see Monitor your instances using Amazon CloudWatch.

   f. Click Next.

8.  The Options page appears. (This is an optional page.). Click Next.

9. The Review page appears. Take a moment to review the settings and make necessary changes if necessary.

10. Select the I acknowledge that AWS CloudFormation might create IAM resources. check box, and then click Create.

11.  The CREATE-IN-PROGRESS status appears. Wait until the status is CREATE-COMPLETE. If the status does not change to “COMPLETE,” check the Events tab for the reason of failure and recreate the instance with proper configurations.

Localized image

11. After an IAM resource is created, go to EC2 Management Console > Instances. You will find two VPX instances created with IAM role. The primary node is created with three private IP addresses and three network interfaces.

AWS ha

The secondary node is created with one private IP address and one network interface.

Note

The secondary node is created with one interface by default in AWS. During failover, the interface from the primary node gets attached to the secondary node (the new primary node) and gets detached from the original primary node (the new secondary node).

13. Log on to the primary node with user name nsroot and the instance ID as the password. From the GUI, go to System > High Availability.  The Citrix ADC VPX HA pair appears.

Next, configure the HA pairing on both the instances. Configure the instance with three ENIs before configuring HA on the instance with one ENI). Use the add HA node command, from within the VPX CLI, or from the GUI.

add HA node <private IP of the first instance>

add HA node <private IP of the second instance>

After you run the “add HA node” commands, the two nodes form an HA pair, and configuration information is synchronized between the two VPX instances.

Monitor your instances using Amazon CloudWatch

You can use the Amazon CloudWatch service to monitor a set of Citrix ADC VPX metrics such as CPU and memory utilization, and throughput. CloudWatch monitors resources and applications that run on AWS, in real time. You can access the Amazon CloudWatch dashboard by using the AWS Management console. For more information, see Amazon CloudWatch.

Points to note

  • If you deploy a Citrix ADC VPX instance on AWS by using the AWS web console, CloudWatch service is enabled by default.
  • If you deploy a Citrix ADC VPX instance by using the Citrix CloudFormation template, the default option is “Yes.” If you want to disable the CloudWatch service, select “No.”
  • The CloudWatch service is not supported in AWS CLI.
  • Metrics are available for CPU (management and packet CPU usage), memory, and throughput (inbound and outbound).

How to view CloudWatch metrics

To view CloudWatch metrics for your instance, follow these steps:

  1. Log on to AWS Management console > EC2 > Instances.
  2. Select the instance.
  3. Click Monitoring.
  4. Click View all CloudWatch metrics.

Localized image

  1. Under All metrics, click your instance ID.

Localized image

  1. Click the metrics you want to view, set the duration (by minutes, hours, days, weeks, months).
  2. Click Graphed metrics to view the statistics of usage. Use the Graph options to customize your graph.

Figure. Graphed metrics for CPU usage

Localized image

Configuring SR-IOV on a high availability setup

Support for SR-IOV interfaces in a high availability setup is available from Citrix ADC release 12.0 57.19 onwards. For more information about how to configure SR-IOV, see Configuring Citrix ADC VPX instances to Use SR-IOV Network Interface.

How high availability on AWS works