A DNS realization

March 12, 2006

One thing I did today was set up DNS for a hostname that we may need to re-point elsewhere very rapidly. This caused me to realize something important:

Setting low TTLs doesn't mean squat if you can't cause secondaries to reload on command.

Low TTLs mean that people will re-query A records frequently, but that doesn't help me change where the traffic is going if my secondaries haven't updated to my new set of A records. Unfortunately, none of the secondaries for our domains are under my control, and at least one of them doesn't act on DNS notifications.

The way around this problem is to make a subzone without secondary nameservers. Fortunately I could pick a more or less arbitrary hostname. (Even if you can't pick an arbitrary hostname I suppose you can usually make the fixed name a CNAME into a new subzone.)

I'm glad that I realized the impending problem while I was sitting around drumming my fingers as I waited for the secondaries to pick up the just-added hostname. Running into it during a frantic attempt to shuffle traffic destinations would have been un-fun.


Comments on this page:

From 128.117.43.39 at 2006-03-29 14:32:33:

The general solution for this at NCAR is twofold, depending upon how long others have dawdled.

With sufficient time for advanced planning, we lower the TTLs a full refresh interval in advance. After we have the new info in our master zones with the regular high TTLs, the old info from the secondaries will have the short TTLs. Every query has about a 50% chance of getting the short TTL old info or the long TTL new info, meaning that caches will, over a time shorter than the refresh interval, tend to populate with the new long TTL info.

Without time for advanced planning, we just remind the requester that his service will be intermittently unreachable for the refresh interval. Harsh medicine, but then it's not often that the same people dawdle the next time they need to make a change.

Written on 12 March 2006.
« Weekly spam summary on March 11th, 2006
Preparing a high load web mirror setup »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Mar 12 22:51:00 2006
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.