Interesting EC2 DNS bug

EC2's internal DNS servers don't get updates when you stop and restart EBS-backed instances. I came across this bug as I was trying to get the scala off-line compiler to work on a restarted instance. fsc uses java.net.InetAddress.getLocalhost(), which triggers a DNS call. After some time spent reading the code, a tcpdump session convinced me that the machine thought it was something else (at least at the DNS level). Call it split personality. To reproduce:
  1. start an EBS-backed instance
  2. note its name and its internal ip (uname -n, ip addr)
  3. stop and restart the instance
  4. its node name remains unchanged, its ip has changed, yet dig +short instance_dns_name returns the old IP, even hours after the restart
Annoying!

A very instructive talk on History and network architecture

[googlevideo=http://video.google.com/videoplay?docid=-6972678839686672840&q=engedu] Van Jacobson, in a very honed presentation, relates the development of different network architectures. First voice communication and circuit switching driven by phone companies, with consequences on reliability, cost, topology. Then came packet switching and TCP/IP as we know it. It has become by design much more reliable but is still very much oriented toward one-to-one communication. According to him most of today's network is actually used for dissemination of identical or very similar content, something that bittorrent and the likes are trying to solve. Overall 60 minutes well-spent listening to someone who's obviously taken some time to think about networks