Citrix ADC

Deploy Citrix ADC GSLB and domain-based services back-end autoscale with cloud load balancer

Global Server Load Balancing (GSLB) is huge for many of our customers. Those businesses have an on-prem data center presence serving regional customers, but with increasing demand for their business, they now want to scale and deploy their presence globally across AWS and Azure while maintaining their on-prem presence for regional customers. Customers want to do all of this with automated configurations as well. Thus, they are looking for a solution that can rapidly adapt to either evolving business needs or changes in the global market.

With Citrix ADC on the network administrator’s side, customers can use the GSLB StyleBook to configure applications both on-prem and in the cloud, and that same config can be transferred to the cloud with Citrix ADM. Users can reach either on-prem or cloud resources depending on proximity with GSLB. This allows for a seamless experience no matter where the users are located in the world.

DBS overview

Citrix ADC GSLB supports using Domain-Based Services (DBS) for cloud load balancers. This allows for the auto-discovery of dynamic cloud services using a cloud load balancer solution. This configuration allows the Citrix ADC to implement GSLB DBS in an Active-Active environment. DBS allows the scaling of back end resources in Microsoft Azure environments from DNS discovery. This section covers integration between Citrix ADCs in the Azure autoscale environment.

Domain name-based services using Azure load balancer (ALB)

GLSB DBS utilizes the FQDN of the user ALB to dynamically update the GSLB service groups to include the back-end servers that are being created and deleted within Azure. To configure this feature, the user points the Citrix ADC to their ALB to dynamically route to different servers in Azure. They can do this without having to manually update the Citrix ADC every time an instance is created and deleted within Azure. The Citrix ADC DBS feature for GSLB service groups uses DNS-aware service discovery to determine the member service resources of the DBS namespace identified in the autoscale group.

The following image depicts the Citrix ADC GSLB DBS autoscale components with cloud load balancers:

image-vpx-azure-gslb-deployment-01

Configure Azure components

  1. Log in to the user Azure Portal and create a new virtual machine from a Citrix ADC template.

  2. Create an Azure load balancer.

    image-vpx-azure-gslb-deployment-02

  3. Add the created Citrix ADC back-end pools.

    image-vpx-azure-gslb-deployment-03

  4. Create a health probe for port 80.

    Create a load balancing rule utilizing the front-end IP created from the load balancer.

    • Protocol: TCP

    • Back-end Port: 80

    • Back-end pool: Citrix ADC created in step 1

    • Health Probe: Created in step 4

    • Session Persistence: None

    image-vpx-azure-gslb-deployment-04

Configure Citrix ADC GSLB domain-based service

The following configurations summarize what is required to enable domain-based services for autoscaling ADCs in a GSLB enabled environment.

Traffic management configurations

Note:

It is required to configure the Citrix ADC with either a nameserver or a DNS virtual server through which the ELB /ALB Domains are resolved for the DBS Service Groups. For more information on name servers or DNS virtual servers, see: DNS nameServer

  1. Navigate to Traffic Management > Load Balancing > Servers.

    image-vpx-azure-gslb-deployment-05

  2. Click Add to create a server, provide a name and FQDN corresponding to the A record (domain name) in Azure for the ALB.

    image-vpx-azure-gslb-deployment-06

  3. Repeat step 2 to add the second ALB from the second resource in Azure.

GSLB configurations

  1. Click the Add button to configure a GSLB site.

  2. Name the site.

    Type is configured as Remote or Local based on which Citrix ADC users are configuring the site. The site IP Address is the IP address for the GSLB site. The GSLB site uses this IP address to communicate with the other GSLB sites. The public IP address is required when using a cloud service where a particular IP is hosted on an external firewall or NAT device. Ensure that the site is configured as a parent site. Ensure that the Trigger Monitors are set to ALWAYS. Also, be sure to check off the three boxes at the bottom for Metric Exchange, Network Metric Exchange, and Persistence Session Entry Exchange.

    We recommend that you set the Trigger monitor setting to MEPDOWN, refer to: Configure a GSLB Service Group.

    image-vpx-azure-gslb-deployment-07

  3. Click Create, repeat steps 3 & 4 to configure the GSLB site for the other resource location in Azure (this can be configured on the same Citrix ADC).

  4. Navigate to Traffic Management > GSLB > Service Groups.

    image-vpx-azure-gslb-deployment-08

    Click Add to add a service group. Choose the respective site that was created in the previous steps for Name the service group, use the HTTP protocol, and then under Site Name. Be sure to configure Autoscale Mode as DNS and check off the boxes for State and Health Monitoring. Click OK to create the service group.

    image-vpx-azure-gslb-deployment-09

  5. Click Service Group Members and select Server Based. Select the respective elastic load balancing server that was configured in the start of the run guide. Configure the traffic to go over port 80. Click Create.

    image-vpx-azure-gslb-deployment-10

  6. The service group member binding should populate with 2 instances that it is receiving from the elastic load balancer.

    image-vpx-azure-gslb-deployment-11

  7. Repeat steps 5 & 6 to configure the service group for the second resource location in Azure. (This can be done from the same Citrix ADC GUI).

  8. The final step is to set up a GSLB virtual server. Navigate to Traffic Management > GSLB > Virtual Servers.

  9. Click Add to create the virtual server. Name the server, DNS Record Type is set as A, Service Type is set as HTTP, and check the boxes for Enable after Creating and AppFlow Logging. Click OK to create the GSLB Virtual Server.

    image-vpx-azure-gslb-deployment-12

  10. Once the GSLB virtual server is created, click No GSLB Virtual Server ServiceGroup Binding.

    image-vpx-azure-gslb-deployment-13

  11. Under ServiceGroup Binding use Select to select and add the service groups that were created in the previous steps.

    image-vpx-azure-gslb-deployment-14

  12. Configure the GSLB virtual server domain binding by clicking No GSLB Virtual Server Domain Binding. Configure the FQDN and Bind. The rest of the settings can be left as defaults.

    image-vpx-azure-gslb-deployment-15

  13. Configure the ADNS Service by clicking No Service. Add a Service Name, click New Server, and enter the IP Address of the ADNS server. If the user ADNS is already configured, users can select Existing Server and then choose the user ADNS from the drop-down menu. Make sure that the protocol is ADNS and the traffic is configured to flow over port 53.

    image-vpx-azure-gslb-deployment-16

  14. Configure the Method as Least Connection and the Backup Method as Round Robin.

  15. Click Done and verify that the user GSLB virtual server is shown as Up.

    image-vpx-azure-gslb-deployment-17

Azure GSLB prerequisites

The prerequisites for the Citrix ADC GSLB service groups include a functioning Microsoft Azure environment with the knowledge and ability to configure security groups, Linux Web Servers, Citrix ADC appliances within AWS, Elastic IPs, and Elastic load balancers.

  • GSLB DBS Service integration requires Citrix ADC version 12.0.57 for Microsoft Azure load balancer instances.

  • GSLB service group entity: Citrix ADC version 12.0.57.

  • GSLB service group is introduced which supports autoscale using DBS dynamic discovery.

  • DBS Feature Components (domain-based service) must be bound to the GSLB service group.

Example:

```
 > add server sydney_server LB-Sydney-xxxxxxxxxx.ap-southeast-2.elb.amazonaws.com
 > add gslb serviceGroup sydney_sg HTTP -autoscale DNS -siteName sydney
 > bind gslb serviceGroup sydney_sg sydney_server 80
<!--NeedCopy--> ```

Other resources

Citrix ADC Global Load Balancing for Hybrid and Multi-Cloud Deployments

Deploy Citrix ADC GSLB and domain-based services back-end autoscale with cloud load balancer