Deploy a Citrix ADC VPX instance on Microsoft Azure

When you deploy a Citrix ADC VPX instance on Microsoft Azure Resource Manager (ARM), you can leverage the Azure cloud computing capabilities and use Citrix ADC load balancing and traffic management features for your business needs. You can deploy Citrix ADC VPX instances on Azure Resource Manager either as standalone instances or as high availability pairs in active-standby modes.

You can deploy a Citrix ADC VPX instance on Microsoft Azure in two ways:

  • Through Azure Marketplace. The Citrix ADC VPX virtual appliance is available as an image in the Microsoft Azure Marketplace.

  • Using the Citrix ADC Azure Resource Manager (ARM) json template available on GitHub.For more information, see the GitHub repository for Citrix NetScaler solution templates.

Prerequisite

You need some prerequisite knowledge before deploying a Citrix VPX instance on Azure.

  • Familiarity with Azure terminology and network details. For information, see Azure terminology.

  • Knowledge of a Citrix ADC appliance. For detailed information the Citrix ADC appliance, see Citrix ADC

  • Knowledge of Citrix ADC networking. See the Networking topic.

Network architecture

In ARM, a Citrix ADC VPX virtual machine (VM) resides in a virtual network. A single network interface can be created in a given subnet of the Virtual Network and can be attached to the VPX instance. You can filter network traffic to and from a VPX instance in an Azure virtual network with a network security group. A network security group contains security rules that allow or deny inbound network traffic to or outbound network traffic from a VPX instance. For more information, see Security groups.

Network security group filters the requests to the Citrix ADC VPX instance, and the VPX instance sends them to the servers. The response from a server follows the same path in reverse. The Network security group can be configured to filter a single VPX VM, or, with subnets and virtual networks, can filter traffic in multiple VPX instances deployment.

How a Citrix ADC VPX instance works on Azure

In an on-premises deployment, a Citrix ADC VPX instance requires at least three IP addresses:

  • Management IP address, called NSIP address
  • Subnet IP (SNIP) address for communicating with the server farm
  • Virtual server IP (VIP) address for accepting client requests

Note

VPX virtual appliances can be deployed on any instance type that has two or more cores and more than 2 GB memory.

In an Azure deployment, you can provision a Citrix ADC VPX instance on Azure in two ways:

  • Multi-NIC, multi-IP architecture
  • Single NIC, multi IP architecture
  • Single NIC, single IP architecture

Depending on your need, ou can use any of these supported architecture types.

Multi-NIC, multi-IP architecture

In this deployment type, you can have more than one network interfaces (NICs) attached to a VPX instance. Any NIC can have one or more IP configurations - static or dynamic public and private IP addresses assigned to it.

For more information, see the following use cases:

Single NIC, multi IP architecture

In this deployment type, one network interfaces (NIC) associated with multiple IP configurations - static or dynamic public and private IP addresses assigned to it. For more information, see the following use cases:

Single NIC, single IP

In this deployment type, one network interfaces (NIC) associated with a single IP address, which is used to perform the functions of NSIP, SNIP, and VIP.

For more information, see the following use case:

Note

The single IP mode is available only in Azure deployments. This mode is not available for a Citrix ADC VPX instance on your premises, on AWS, or in other type of deployment.

Traffic flow through port address translation

In an Azure deployment, when you provision the Citrix ADC VPX instance as a virtual machine (VM), Azure assigns a public IP address and an internal IP address (nonroutable) to the Citrix ADC VPX instance. Inbound and outbound rules are defined on the NSG for the VPX instance, along with a public port and a private port for each rule defined. The VPX instance listens on the internal IP address and private port.

Any external request is received on the virtual NIC of the Citrix ADC VPX VM. The NIC is bound to the NSG, which specifies the private IP and private port combination into which to translate the request’s destination address and port (the public IP address and port). ARM performs port address translation (PAT) to map the public IP address and port to the internal IP address and private port of the Citrix ADC VPX instance, and forwards the traffic to the virtual machine.

The following figure shows how Azure performs port address translation to direct traffic to the NetScaler internal IP address and private port.

localized image

In this example, the Public IP address assigned to the VM is 140.x.x.x, and the internal IP address is 10.x.x.x. When the inbound and outbound rules are defined, public HTTP port 80 is defined as the port on which the client requests are received, and a corresponding private port, 10080, is defined as the port on which the Citrix ADC VPX instance listens. The client request is received on the Public IP address 140.x.x.x at port 80. Azure performs port address translation to map this address and port to internal IP address 10.x.x.x on private port 10080 and forwards the client request.

For information about port usage guidelines while, see the Port usage guidelines section.

For information about NSG and access control lists, see What is a Network Security Group?

Traffic flow through network address translation

You can also request a public IP (PIP) address for your Citrix ADC VPX instance (instance level). If you use this direct PIP at the VM level, you need not define inbound and outbound rules to intercept the network traffic. The incoming request from the Internet is received on the VM directly. Azure performs network address translation (NAT) and forwards the traffic to the internal IP address of the VPX instance.

The following figure shows how Azure performs network address translation to map the NetScaler internal IP address.

localized image

In this example, the Public IP assigned to the NSG is 140.x.x.x and the internal IP address is 10.x.x.x. When the inbound and outbound rules are defined, public HTTP port 80 is defined as the port on which the client requests are received, and a corresponding private port, 10080, is defined as the port on which the Citrix ADC VPX instance listens. The client request is received on the Public IP address (140.x.x.x). Azure performs network address translation to map the PIP to the internal IP address 10.x.x.x on port 10080, and forwards the client request.

Note

Citrix ADC VPX VMs in high availability are controlled by external or internal load balancers that have inbound rules defined on them to control the load balancing traffic. The external traffic is first intercepted by these load balancers and the traffic is diverted according to the load balancing rules configured, which has back-end pools, NAT rules, and health probes defined on the load balancers.

Port usage guidelines

You can configure more inbound and outbound rules n NSG while creating the Citrix ADC VPX instance or after the virtual machine is provisioned. Each inbound and outbound rule is associated with a public port and a private port.

Before configuring NSG rules, note the following guidelines regarding the port numbers you can use:

1. The Citrix ADC VPX instance reserves the following ports. You cannot define these as private ports when using the Public IP address for requests from the internet. Ports 21, 22, 80, 443, 8080, 67, 161, 179, 500, 520, 3003, 3008, 3009, 3010, 3011, 4001, 5061, 9000, 7000. However, if you want internet-facing services such as the VIP to use a standard port (for example, port 443) you have to create port mapping by using the NSG. The standard port is then mapped to a different port that is configured on the NetScaler for this VIP service. For example, a VIP service might be running on port 8443 on the VPX instance but be mapped to public port 443. So, when the user accesses port 443 through the Public IP, the request is directed to private port 8443.

2. Public IP address does not support protocols in which port mapping is opened dynamically, such as passive FTP or ALG.

3. High availability does not work for traffic that uses a public IP address (PIP) associated with a VPX instance, instead of a PIP configured on the Azure load balancer. For more information, see Configure a high-availability setup with a single IP address and a single NIC.

4. In a NetScaler Gateway deployment, you need not configure a SNIP address, because the NSIP can be used as a SNIP when no SNIP is configured. You must configure the VIP address by using the NSIP address and some nonstandard port number. For call-back configuration on the back-end server, the VIP port number has to be specified along with the VIP URL (for example, url:port).

Note

In Azure Resource Manager, a Citrix ADC VPX instance is associated with two IP addresses - a public IP address (PIP) and an internal IP address. While the external traffic connects to the PIP, the internal IP address or the NSIP is non-routable. To configure VIP in VPX, use the internal IP address (NSIP) and any of the free ports available. Do not use the PIP to configure VIP.

For example, if NSIP of a Citrix ADC VPX instance is 10.1.0.3 and an available free port is 10022, then you can configure VIP by providing the 10.1.0.3:10022 (NSIP address+port) combination.

Citrix ADC VPX licensing

A Citrix ADC VPX instance on Azure requires a license.  The following licensing options are available for Citrix ADC VPX instances running on Azure.

  • Subscription-based licensing:  Citrix ADC VPX appliances are available as paid instances on Azure Marketplace. Subscription based licensing is a pay-as-you-go option. Users are charged hourly.  The following VPX models and license types are available on Azure Marketplace.
VPX model License Type
VPX10 Standard, Advanced, Premium
VPX200 Standard, Advanced, Premium
VPX1000 Standard, Advanced, Premium
VPX3000 Standard, Advanced, Premium

Starting with NetScaler release 12.0 56.20, VPX Express for on-premises and cloud deployments does not require a license file. For more information on Citrix ADC VPX Express see the “Citrix ADC VPX Express license” section in NetScaler Licensing Overview.

Note

Regardless of the subscription-based hourly license bought from Azure Marketplace, in rare cases, the Citrix ADC VPX instance deployed on Azure might come up with a default NetScaler license. This happens due to issues with Azure Instance Metadata Service (IMDS).

Do a warm restart before making any configuration change on the Citrix ADC VPX instance, to enable the correct Citrix ADC VPX license.

Limitations

Running the Citrix ADC VPX load balancing solution on ARM imposes the following limitations:

1. The Azure architecture does not accommodate support for the following NetScaler features:

  • Clustering
  •  IPv6
  • Gratuitous ARP (GARP)
  •  L2 Mode
  • Tagged VLAN
  • Dynamic Routing
  • Virtual MAC (VMAC)
  • USIP
  • Jumbo Frames

2. If you expect that you might have to shut down and temporarily deallocate the Citrix ADC VPX virtual machine at any time, assign a static Internal IP address while creating the virtual machine. If you do not assign a static internal IP address, Azure might assign the virtual machine a different IP address each time it restarts, and the virtual machine might become inaccessible.

3. In an Azure deployment, only the following Citrix ADC VPX models are supported: VPX 10, VPX 200, VPX 1000, and VPX 3000. For for information, see the Citrix ADC VPX Data Sheet.

If you use a Citrix ADC VPX instance with a model number higher than VPX 3000, the network throughput might not be the same as specified by the instance’s license. However, other features, such as SSL throughput and SSL transactions per second, might improve.

4. The “deployment ID” that is generated by Azure during virtual machine provisioning is not visible to the user in ARM. You cannot use the deployment ID to deploy Citrix ADC VPX appliance on ARM.

5. The Citrix ADC VPX instance supports 20 Mb/s throughput and standard edition features when it’s initialized.

6. For a XenApp and XenDesktop deployment, a VPN virtual server on a VPX instance can be configured in the following modes:

  • Basic mode, where the ICAOnly VPN virtual server parameter is set to ON. The Basic mode works fully on an unlicensed Citrix ADC VPX instance.
  • Smart-Access mode, where the ICAOnly VPN virtual server parameter is set to OFF. The Smart-Access mode works for only 5 NetScaler AAA session users on an unlicensed Citrix ADC VPX instance.

Note

To configure the Smart Control feature, you must apply a Premium license to the Citrix ADC VPX instance.