F5 DNS Load Balancer Cloud Service FAQ


Q: Which rules can I use to configure my DNS Load Balancer Cloud Service?

You can configure load balancing based on application availability, the location of the client, or a combination of location and availability.


Q: Are there any special setup or configuration requirements for the DNS Load Balancer Cloud Service?

Yes. Be sure to use the following for the DNS nameserver.

Nameserver FQDN IPv4 IPv6
ns1.f5cloudservices.com 107.162.158.150 2604:e180:1021::ffff:6ba2:9e96
ns2.f5cloudservices.com 107.162.158.151 2604:e180:1021::ffff:6ba2:9e97

Q: Do I need to switch my DNS service entirely to F5 in order to use the DNS load balancer?

No, we actually advise against it. Continue to manage DNS through your current provider and delegate a subdomain for which F5 Cloud Services will issue responses. Then you would create CNAME records on the primary DNS nameserver for any FQDNs you want to load balance, pointing to A records in the delegated subdomain. The process is more or less the same as with F5’s self-hosted product, BIG-IP DNS, and more instructions can be found here: https://support.f5.com/csp/article/K277

Q: How do I configure DNS Load Balancer with my primary DNS?

To use DNS Load Balancer to provide global DNS traffic management, you need to delegate authority for specific hostnames from your primary DNS server to the DNS Load Balancer service. The example below shows how to provide DNS Load Balancing for the hostname www.example.com with the DNS Load Balancer.

Primary DNS subdomain delegation: Complete the following steps to configure your primary DNS server to delegate a subdomain to the F5 DNS Load Balancer Cloud Service.

Create a new DNS subdomain within your parent zone for which the F5 DNS Load Balancer Cloud Service is authoritative.

In most cases, it makes sense to create a new subdomain that is used only for this purpose. For example, the subdomain name gslb or dnslb is commonly used.

  1. Delegate authority for the entire subdomain to the F5 DNS Load Balancer Cloud Service.

    On the primary DNS server, delegate authority for the subdomain to the F5 DNS Load Balancer Cloud Service by modifying the parent zone to include nameserver (NS) records for the new zone and address (A) records for the new nameservers referenced in the NS records.

    For example, to delegate authority for the gslb.example.com subdomain to the DNS Load Balancer Cloud Service name servers ns1.f5cloudservices.com and ns2.f5cloudservices.com, the parent zone example.com should contain the following DNS Records:

    gslb IN NS ns1.f5cloudservices.com.
    gslb IN NS ns2.f5cloudservices.com.
    
  2. On the primary DNS server, create a CNAME record in the parent zone for the hostname to be load balanced. The CNAME record must reference a hostname within the subdomain gslb.example.com you delegated in step 2.

    For example, to have the DNS Load Balancer load balance traffic for the www.example.com hostname, the example.com zone should contain the following entry:

    www.example.com. IN CNAME www.gslb.example.com
    
  3. On the DNS Load Balancer, create a Load Balancer Record (LBR) using the CNAME you just created. Continuing with the previous example, the LBR you create would be www.gslb.example.com.

How DNS Resolution works with DNS Load Balancer

DNS Load Balancer monitors application availability through widely deployed points of presence to determine the health of your load-balanced applications. Depending on the health of your IP endpoints, DNS Load Balancer will direct traffic depending on proximity rules and the health of your application endpoints.

_images/CS-GSLB-DNS.Resolution.png
  1. A client requests DNS resolution for the hostname www.example.com via their local DNS resolver.
  2. The DNS resolver requests the IP address from the authoritative name servers for example.com (in this case, your Primary DNS server).
  3. The name responds with a CNAME record for www.gslb.example.com that points to DNS Load Balancer.
  4. The client then requests resolution for the hostname www.gslb.example.com from DNS Load Balancer.
  5. DNS Load Balancer replies with an IP addresses pointing to the optimal application endpoint based on proximity rules and application endpoint health.
  6. The local DNS resolver sends the correct IP address to the client.
  7. The user is connected to the requested application for www.example.com.

Q: How does the service determine application availability?

You can configure monitors which can check your app instance availability via an ICMP test, TCP port test, or HTTP/HTTPS monitor. HTTP/HTTPS monitors can even evaluate the HTML content to verify the application is responding as expected.


Q: How does location-based load balancing work?

Location-based load balancing makes use of publicly available information found and GEO-IP databases about where an IP address resides. You can then use predefined regions or create custom regions to determine how to direct your traffic.


Q: What are the different load-balancing methods and how do they work?

The Ratio load balancing method

When you configure a pool to use the Ratio load balancing method, DNS Load Balancer performs load balancing requests across the pool members based on the weight assigned to each pool member (virtual server). The system uses pool member weight as a percentage of the total of the weights of all the members assigned to the pool to determine the frequency at which a pool member receives connection requests.

Consider the fictional company SiteRequest, where the wide IP www.siterequest.com contains a pool named poolMain. This pool contains three members, with the following weight assignments:

  • Virtual Server 1: weight 50
  • Virtual Server 2: weight 25
  • Virtual Server 3: weight 25

Each time DNS Load Balancer selects this pool, it balances the load across all three members. Over time, the load balancing statistics for this pool appear as follows:

  • Virtual Server 1: selected 50 percent of the time
  • Virtual Server 2: selected 25 percent of the time
  • Virtual Server 3: selected 25 percent of the time

Use Ratio when you want to send twice as many connections to a faster server and half as many connections to a slow server.

The Round-Robin load balancing method

The Round Robin load balancing method distributes DNS name resolution requests in a circular and sequential pattern among the virtual servers in a pool. Over time, each virtual server receives an equal number of connections.

Use Round Robin when you want to distribute requests equally among all virtual servers in a pool.

The Static Persist load balancing method

The Static Persist load balancing method uses the persist mask, with the source IP address of the Local Domain Name Server (LDNS), in a deterministic algorithm to send requests to a specific pool member (virtual server). Using this method DNS Load Balancer sends DNS name resolution requests to the first available pool member based on a hash algorithm that determines the order of the pool members. This algorithm orders the pool members differently for each LDNS that is sending requests to DNS Load Balancer, taking into account the Classless Inter-Domain Routing (CIDR) of the LDNS. As DNS Load Balancer distributes requests across all pool members, requests from each LDNS (and thus, each client) are generally sent to the same pool member. When the selected pool member becomes unavailable, DNS Load Balancer sends requests to another pool member. When the original pool member becomes available again, DNS Load Balancer sends requests to that pool member.

Use Static Persist when you want requests from a specific LDNS to resolve to a specific virtual server.

The Priority load balancing method

The Priority load balancing method returns all available endpoints in a pool with the highest priority. Pool Members have a priority value, starting from zero, where a lower value means a higher priority.

For example, when you have three pool members with the following values: endpoint A - priority: 0, endpoint B - priority 1, endpoint C - priority 2, the DNS Load Balancer will always return endpoint A as long as it is available. If endpoint A becomes unavailable, the next highest priority endpoint is returned.

Priority values for pool members do not need to be unique. The number of responses returned is controlled by specifying the maximum IP endpoints returned per response in the Pool settings.

Use Priority when you want send requests to the highest priority.

Note

The following load-balancing methods are available as a part of the DNS Load Balancer BIG-IP LTM Integration Early Access Preview. To enable these options, please register for the Early Access Preview to receive an access token at https://f5.com/preview.

The Fewest Connections load balancing method

The fewest-connections load balancing method returns a pool member representing the virtual server in the pool currently processing the fewest connections.

The Least Packet Rate load balancing method

The least-packet-rate load balancing method returns a pool member representing the virtual server in the pool currently processing the fewest number of packets per second.

The VIP-Capacity load balancing method

The vip-capacity load balancing method returns a pool member representing the virtual server in the DNS Load Balancer pool with the highest number of available members in its local pool.

Q: Can load balancers be provisioned and updated via an API?

Yes, everything accessible via the GUI dashboard can be obtained or configured via a REST call. General API guidelines can be found in the API Guidelines. In section 5 of this document, there is an example of how to create and activate a load balancer service.

A full OpenAPI specification and reference can be found in the Cloud Services portal at https://portal.cloudservices.f5.com/docs. The examples from the guidelines document makes use of the requests shown under SubscriptionService. Use Update a subscription to modify a service you have already created.


Q: Is historical usage or availability information available for my services?

Currently we do not show historical availability or usage information. However, usage and availability information is accessible via the GUI dashboard and can be obtained or configured via a REST call. General information on the API can be found in the API Guidelines.

A full OpenAPI specification and reference can be found in the Cloud Services portal at https://portal.cloudservices.f5.com/docs. Look for the DashboardService section to see the reporting options.

  • Get the account dashboard will provide information for all your services in your account.
  • Get the service dashboard will provide information for a specific service in your account.
  • Get account summary will provide summary information by service type in your account.

The response for each of these will include count and duration fields, which show the number of queries your zone(s) has received over the specified time period. Below is a sample return for Get account summary.

{
   "stats": [
       {
           "type": "adns",
           "health": "GREEN",
           "count": "2439401",
           "duration": "90d"
       },
       {
           "type": "gslb",
           "health": "GREEN",
           "count": "3117194",
           "duration": "90d"
       }
   ]
}

Q: How do I estimate the number of queries needed for a site, based on its web page visit counts?

Generally, it is one query per unique visitor per domain that lasts for the TTL period configured in the load balanced record (LBR).


Q: What is the difference between a standard health monitor and an advanced health monitor?

A standard monitor is a predefined monitor for the selected protocol, whereas an advanced monitor can be configured to measure a specific result. HTTPS checks are always advanced. Advanced monitors are also more expensive than standard monitors.

For more information on the purpose, content, and structure of health monitors, refer to the article on details for creating an application health monitor.

For more information on pricing differences, refer to the DNS Load Balancer pricing page.


Q: For basic PHP CMS marketing sites, what type of health check(s) would you recommend?

Create a monitor with an HTTP/HTTPS health check using a custom string-matching text you expect to find in a response from the CMS. The documentation for working with DNS Load Balancer includes Details for creating an application health monitor.


Q: How do I request an update to the DNS Load Balancer Geo IP Database?

F5 Cloud Services uses the same GeoIP database that F5’s BIG-IP uses. Please follow the instructions in https://support.f5.com/csp/article/K12866 under the section “Reporting database inaccuracies” to request an update.


Q: Who should I contact for help regarding F5 Cloud Services?

Visit the F5 Cloud Services Support page to see all of your support options.