Citrix ADC

Deploy a VPX high-availability pair with private IP addresses across different AWS zones

You can configure two Citrix ADC VPX instances on two different subnets or two different AWS availability zones using private IP addresses in the INC mode. This solution can be easily integrated with the existing multizone VPX high-availability pair with elastic IP addresses. Therefore, you can use both the solutions together.

For more information about high availability, see High availability. For more information about INC, see Configuring high availability nodes in different subnets.

Note:

This deployment is supported from Citrix ADC release 13.0 build 67.39 onwards. This deployment is compatible with AWS Transit Gateway and VPC peering.

Prerequisites

Ensure that the IAM role associated with your AWS account has the following IAM permissions:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeAddresses",
                "ec2:AssociateAddress",
                "ec2:DisassociateAddress",
                "ec2:DescribeRouteTables",
                "ec2:DeleteRoute",
                "ec2:CreateRoute",
                "ec2:ModifyNetworkInterfaceAttribute",
                "iam:SimulatePrincipalPolicy",
                "iam:GetRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

How to deploy a VPX high-availability pair with private IP addresses across different AWS zones

The following is the summary of steps for deploying a VPX pair on two different subnets or two different AWS availability zones using private IP addresses.

  1. Create an Amazon virtual private cloud.
  2. Deploy two VPX instances in two different availability zones.
  3. Configure high availability
    1. Set up high availability in INC mode in both the instances.
    2. Add the respective route tables in the VPC that points to the client interface.
    3. Add a virtual server in the primary instance.

For steps 1 and 2, use the AWS console. For step 3, use the Citrix ADC VPX GUI or the CLI.

Step 1. Create an Amazon virtual private cloud (VPC).

Step 2. Deploy two VPX instance in two different availability zones with the same number of ENI (Network Interface).

For more information about how to create a VPC and deploy a VPX instance on AWS, see Deploy a Citrix ADC VPX standalone instance on AWS and Scenario: standalone instance

Step 3. Configure the ADC VIP addresses by choosing a subnet that does not overlap with the Amazon VPC subnets. If your VPC is 192.168.0.0/16, then to configure ADC VIP addresses, you can choose any subnet from these IP address ranges:

  • 0.0.0.0 - 192.167.0.0
  • 192.169.0.0 - 254.255.255.0

In this example, the chosen 10.10.10.0/24 subnet and created VIPs in this subnet. You can choose any subnet other than the VPC subnet (192.168.0.0/16).

Step 4. Add a route that points to the client interface (VIP) of the primary node from the VPC route table.

From the AWS CLI, type the following command:

aws ec2 create-route --route-table-id rtb-2272532 --destination-cidr-block 10.10.10.0/24 --gateway-id <eni-client-primary>

From the AWS GUI, perform the following steps to add a route:

  1. Open the Amazon EC2 console.
  2. In the navigation pane, choose Route Tables, and select the route table.
  3. Choose Actions, and click Edit routes.
  4. To add a route, choose Add route. For Destination, enter the destination CIDR block, a single IP address, or the ID of a prefix list. For gateway ID, select the ENI of a client interface of the primary node.

Route Tables-edit routes

Note

You must disable Source/Dest Check on the client ENI of the primary instance.

To disable the source/destination checking for a network interface using the console, perform the following steps:

  1. Open the Amazon EC2 console.
  2. In the navigation pane, choose Network Interfaces.
  3. Select the network interface of a primary client interface, and choose Actions, and click Change Source/Dest. Check.
  4. In the dialog box, choose Disabled, click Save.

Change Source-Destination Check

Step 5. Configure high availability. You can use the Citrix ADC VPX CLI or the GUI to set up high availability.

Configure high availability by using the CLI

  1. Set up high availability in INC mode in both the instances.

    On the primary node:

    add ha node 1 \<sec\_ip\> -inc ENABLED
    

    On the secondary node:

    add ha node 1 \<prim\_ip\> -inc ENABLED
    

    <sec_ip> refers to the private IP address of the management NIC of the secondary node.

    <prim_ip> refers to the private IP address of the management NIC of the primary node.

  2. Add a virtual server on the primary instance. You must add it from the chosen subnet, for example, 10.10.10.0/24.

    Type the following command:

    add \<server\_type\> vserver \<vserver\_name\> \<protocol\> \<primary\_vip\> \<port\>
    

Configure high availability by using the GUI

  1. Set up high availability in INC mode on both the instances

  2. Log on to the primary node with user name nsroot and instance ID as password.

  3. Navigate to Configuration > System > High Availability, and click Add.

  4. At the Remote Node IP address field, add the private IP address of the management NIC of the secondary node.

  5. Select Turn on NIC (Independent Network Configuration) mode on self-node.

  6. Under Remote System Login Credential, add the user name and password for the secondary node and click Create.

  7. Repeat the steps in the secondary node.

  8. Add a virtual server in the primary instance

    Navigate to Configuration > Traffic Management > Virtual Servers > Add.

    Add a virtual server

Scenario

In this scenario, a single VPC is created. In that VPC, two VPX instances are created in two availability zones. Each instance has three subnets - one for management, one for client, and one for back-end server.

The following diagrams illustrate the Citrix ADC VPX high availability setup in INC mode, on AWS. The custom subnet 10.10.10.10, which is not part of the VPC is used as VIP. Therefore, the 10.10.10.10 subnet can be used across availability zones.

Before failover high availability setup in INC mode

After failover high availability setup in INC mode

For this scenario, use CLI to configure high availability.

  1. Set up high availability in INC mode on both the instances.

    Type the following commands on the primary and the secondary nodes.

    On the primary node:

    add ha node 1 192.168.4.10 -inc enabled
    

    Here, 192.168.4.10 refers to the private IP address of the management NIC of the secondary node.

    On the secondary node:

    add ha node 1 192.168.1.10 -inc enabled
    

    Here, 192.168.1.10 refers to the private IP address of the management NIC of the primary node.

  2. Add a virtual server on the primary instance.

    Type the following command:

    add lbvserver vserver1 http 10.10.10.10 80
    
  3. Save the configuration.

  4. After a forced failover:

    • The secondary instance becomes the new primary instance.
    • The VPC route pointing to the primary ENI migrates to the secondary client ENI.
    • Client traffic resumes to the new primary instance.
Deploy a VPX high-availability pair with private IP addresses across different AWS zones