When you are familiar with your traffic patterns and are expanding into a global marketplace, you can use the 3-DNS Controller to distribute requests in an efficient and seamless manner to the geographically closest server for address resolution, using Topology load balancing. When you use Topology load balancing, the 3-DNS Controller compares the location information derived from the DNS query message to the topology records in the topology statement. The controller then distributes the request according to the topology record that best matches the location information.
The Topology load balancing mode is optimal for organizations that have data centers in more than one country or on more than one continent. The crypto 3-DNS Controller enables topology-based load balancing by resolving DNS requests to the geographically closest server. The traditional topology load balancing mode, that provides basic topology mapping functionality, uses IP subnets of virtual servers and known LDNS servers. This can result in a very large list of IP subnets to manage when you want to map a specific geographic region.
To simplify topology load balancing, the 3-DNS Controller contains a classifier that maps IP addresses to geographic locations. With this classifier, the 3-DNS Controller resolves DNS requests to the geographically closest LDNS server at either the country or the continent level. The controller then load balances the request to virtual servers in IP subnets, wide IP pools, or data centers.
You can set up Topology load balancing either between wide IP pools or within a wide IP pool. For the example in Figure 3.1 , we configure Topology load balancing between wide IP pools.
By going through the following setup tasks, you can configure the 3-DNS Controller to process requests, using Topology, in a globally distributed network. This configuration is based on the following assumptions:
If you use a CDN for some or all of your content delivery, please refer to Chapter 4, Configuring a Content Delivery Network , to set up this configuration.
The following sections describe, in order, the specific configuration tasks you perform to set up a globally distributed network. Please review the tasks before you actually perform them, so that you are familiar with the process.
The first task you perform is to add your data centers to the 3-DNS Controller Configuration utility.
For the globally distributed network configuration shown in Figure 3.1 , we have added two data centers, West Coast and Europe.
Once you have added all of your data centers to the 3-DNS Controller configuration, you are ready to let the controller that you are configuring know about other 3-DNS Controllers in your network.
Note: Please note that when you are working with more than one 3-DNS Controller, you create your entire configuration on one controller and then add the second controller using the 3dns_add script. The 3dns_add script copies the entire configuration from the first (or existing) controller onto the second (new) controller, and synchronizes all of the settings. For details on configuring additional 3-DNS Controllers in existing networks, using the 3dns_add script, see Chapter 5, Adding 3-DNS Controllers to the Network .
For the globally distributed network configuration shown in Figure 3.1 , we have a 3-DNS Controller in each data center, West Coast and Europe. The controller we are configuring is labeled 3DNS_01, and is in the West Coast data center. The additional controller is in the Europe data center, and is labeled 3DNS_02.
Now you are ready to let the controller know about any BIG-IP Controllers, or other servers, that you have in your network. Remember that the 3-DNS Controller load balances requests to the virtual servers managed by the BIG IP Controllers, EDGE-FX Caches, or host servers in your network. In this example configuration, we set up BIG-IP Controllers. For information on adding EDGE-FX Caches or host servers to your network, please refer to Setting up servers , in Chapter 2.
The following steps outline how to add BIG-IP Controllers to your configuration.
Once you have added all the physical elements to your 3-DNS Controller configuration, you can begin configuring wide IPs and pools for load balancing. Before you start adding wide IPs, verify that you have configured all the virtual servers you need for load balancing. In order to optimize the topology load balancing mode, we need to properly configure the wide IPs and pools, as follows.
For the globally distributed network configuration shown in Figure 3.1 , we have set up one wide IP, labeled www.domain.com, and we added two pools to the wide IP, americas_pool and europe_pool. When you configure the topology records, as explained in the next section, we designate these two pools to process the load balancing requests based on the geographic location of the local DNS server or client making the request.
You must configure the topology records before the 3-DNS Controller can use the Topology load balancing mode. The Topology load balancing mode distributes connections after evaluating and scoring the topology records in the topology statement. If you have no topology records in the topology statement, or if the scores returned for two or more records are equal, the 3-DNS Controller load balances the virtual servers using the Random load balancing mode.
The following procedure explains how to configure topology records in the Configuration utility. For more information on how the 3-DNS Controller uses the topology records, and how to configure topology in the wideip.conf file, please review Chapter 11, Topology, in the 3-DNS Controller Reference Guide.
score pool.americas_pool cont.North America 100
pool.europe_pool !cont.North America 100
With this topology statement, in our example configuration, queries to resolve www.domain.com from local DNS servers somewhere in North America get responses from virtual servers in the pool americas_pool. All other queries to resolve www.domain.com get responses from virtual servers in the pool europe_pool.
The following optional settings and tools can help you refine your load balancing configuration.
When you set limits thresholds for availability, the 3-DNS Controller can detect when a managed server or virtual server is low on system resources and redirect the traffic to another virtual server. Setting limits helps eliminate any negative impact on a virtual server's performance of service tasks that may be time critical, require high bandwidth, or put high demand on system resources. The system resources for which you can set limits are:
You can also set limits thresholds on virtual server resources. Please note that if a server meets or exceeds its limits settings, both the server and the virtual servers is manages are marked as unavailable for load balancing. You can quickly review the availability of any of your servers or virtual servers in the Statistics screens in the Configuration utility.
The Statistics screens in the Configuration utility provide a great deal of information about the 3-DNS Controller. For example, you can monitor server performance and view limit settings in the Server and Virtual Server Metrics statistics screen. For more information, see Chapter 6, Administration and Monitoring .
The Network Map provides an interactive map of your configuration. You can see how the data centers, servers, and virtual servers you configured are related to the wide IPs and pools you created for load balancing. You can also make real-time changes to your configuration from the Network Map. For more information, see Chapter 6, Network Map, in the 3-DNS Controller Reference Guide.