Global Server Load Balancing (GSLB) allows you to coordinate how traffic is processed among multiple data centers. A Barracuda Load Balancer ADC acts as a controller, selecting the location to which traffic is directed based on the parameters that you configure and the health of the data centers. This allows you to allocate the work among multiple data centers and to ensure that if one data center fails then traffic is redirected automatically to a functioning data center.
GSLB can be useful when you have:
- a number of server farms that are physically located around the world and you want incoming connections to be directed to the closest healthy server farm.
- two data centers and you want one of them to be reserved for use in the event of a disaster. You can assign the first with a high priority and have all traffic directed to it, while the other is used only if the first data center fails.
- multiple data centers and each has region-specific content. Depending on the location of the client, requests can be directed to the data center most appropriate for that region.
- Site – a network location that hosts data. It may be a Service on a Barracuda Load Balancer ADC with a server farm or one Real Server.
- GSLB Controller – the Barracuda Load Balancer ADC which determines where traffic is directed. It contains configuration information about the sites and it performs health checks on all sites in regular intervals. Only one GSLB Controller is active at a time. It is recommended that you configure one or more backup GSLB Controllers.
- Region – defines a geographical area, usually composed of one or more countries. You can define custom regions or use the predefined regions.
How GSLB Works
The following figure shows the DNS Service IP Address for ADC 1, specified on the TRAFFIC > GSLB Settings page.
Site Selection Criteria
The GSLB Service allows you to specify traffic to be directed to a site based on one of three parameters:
- Geo IP – Proximity of the system making the request to a site that can serve the request;
- Region Only – Region of the system making the request; or
- Priority – Priority order of the sites.
To provide location-based Response Policies, the Barracuda Load Balancer ADC uses a database of IP addresses and geographical locations. This database is updated by the Location Definitions, which are part of the Energize Updates maintained by Barracuda Central.
The following sections consider each of these site selection criteria, using the diagram above.
The GSLB Controller determines the location of the system making the request based on the Location Definitions and compares that to the location of each site. It returns a list of site IP addresses ordered from closest to furthest.
You might choose to use Geo IP if you have a number of server farms that are physically located around the world, and you want clients to be directed to the closest healthy server farm. Set the Response Policy to Geo IP to send client requests to the geographically nearest site. If you have a backup site, set the Failover IP Address to its IP address.
Geo IP does not consider site priority.
In the diagram above, Device Z is closest to Site B. So traffic from Device Z would be routed through the internet to Site B.
Following is a portion of the TRAFFIC > GSLB Services page, showing configuration for Geo IP.
The GSLB Controller determines the region of the system making the request based on the Location Definitions.
- If the originating system is in a region that is associated with one or more sites, a list of the healthy site IP address(es) is returned. The most specific matches appear first in the list; any sites associated with All Countries are last in the list.
- If the location of the originating system cannot be determined, any healthy sites that are associated with All Countries are returned.
- If neither of the preceding cases identifies at least one site IP address, the Failover IP Address is returned.
You might choose to use Region Only if you have multiple data centers, each with region-specific content, and you want client requests from a certain region to be directed to the data center that supports that region. Set the Response Policy to Region Only , to associate requests with a region based on the location of the client, and direct traffic to the appropriate data center. If you have a backup site, set the Failover IP Address to its IP address. You can use content switching rules to direct HTTP traffic within the backup data center.
Region Only does not consider site priority.
In the diagram above, Device X is in the region with Site A. Devices Y and Z are in the region associated with Site B. Traffic from Device X will go to Site A. Traffic from Devices Y and Z will go to Site B.
Following is a portion of the TRAFFIC > GSLB Services page, showing configuration for Region.
With the configuration shown here, when the client from Canada makes a DNS request to www.mydomain.com, the GSLB controller returns the Canada region IP 126.96.36.199. If the client does not fall in Canada region, it will return the default All Countries IP 188.8.131.52.
The GSLB Controller returns a list of site IP addresses ordered from lowest to highest priority value.
Priority does not consider location.
Priority is often used for disaster recovery. As in the diagram above, y ou have two sites and you want all traffic directed to Site A while Site B is on standby and used only in the case of the failure of Site A. Create an entry for each site giving the Site A Priority 1 (highest) and Site B Priority 2 . Set the Response Policy to Priority so only priority is considered when directing traffic.
When a query for the address of the domain name is received, a response containing one or more IP addresses is returned. If it is operational, the primary site’s (Site A's) IP address will be returned first in the list and the backup site’s (Site B's) IP address will be second. If the primary site becomes unavailable, only the second site's IP address will be returned.
The primary site will be monitored, even after failure, so that when it becomes available, its IP address will once again be first in the returned list.
Following is a portion of the TRAFFIC > GSLB Services page, showing configuration for Priority.
Defining Response Policy
Define the Response Policy on the TRAFFIC > GSLB Services page. Select Geo IP, Priority, or Region.
- If you select Priority, define the order of priority on the same page.
- If you select Region or Geo IP settings, navigate to the TRAFFIC > GSLB Settings page.
Geo IP – Enter the IP address of the server, so the
- Regions – Several predefined regions are listed on the TRAFFIC > GSLB Settings page. You can also create a custom region on that same page. Scroll down to GSLB Regions and click Add Custom Region . Name the custom region and select one or more small regions from the list. Then click Save . Return to the TRAFFIC > GSLB Services page to specify using the new Custom Region.
Refer to Installation of Global Server Load Balancing for instructions on how to install multiple GSLB Controllers.
Configuring Multiple GSLB Controllers
Only one Global Server Load Balancing (GSLB) Controller is active at any one time. However, you can configure multiple GSLB Controllers to increase the availability of your infrastructure in these two ways:
- Operate in High Availability mode, in which case all of the GSLB information is copied to the passive system.
- Configure one or more other Barracuda Load Balancer ADCs (or clustered pairs) as GSLB Controllers where:
- Each system or clustered pair has a DNS entry pointing to it. The first available entry is used by a client.
- The GSLB configuration is synchronized manually between all GSLB Controllers unless they are passive systems in a cluster.
If no sites match the Response Policy or if all sites that match the Response Policy fail the health check, a pre-configured Failover IP address for the sub-domain is returned. This is the IP address of a site that can accept the traffic if the other systems become unavailable.
The health of the site at the Failover IP address is not monitored.
Servers must be monitored for their health. For the Monitoring IP address, enter the IP address of the server to be checked. If you will just use the site IP address for health checks, then leave this field blank.