DNSのTTLを肌で理解した時の思い出話

昔、モバツイと言う日本の携帯電話向けのツイッタークライアントのWebサービスを開発して、たくさんの人に使っていただいたことがあります。

最初、埼玉の和光市に住んでいた時のマンションにサーバを置いて、固定IPに設定したBフレッツ(VDSL)を通じて運営していました。
家で使っていたサーバは、HPのProlientのML110とかML115と言った格安サーバを数台並べて使っていました。モバツイのアクセスが増えたからと言って、Webサーバを冗長化するためにML115を新たに購入し、メモリをビックカメラで買ってきて増設するなどの牧歌的な活動をしていました。

その後、とある事情でモバツイユーザが急増し、負荷が爆発的に増加。家のネットワークがパンクし、ままならなくなってから、まだ日本では活用事例が珍しかったAWSにサービスを移転して事なきを得ました。その時は、EC2、S3だけを使ってサービス構築しました。まだRDSなどはもちろん存在せず、まだDNSサービスであるroute53もない時代だったような気がします。

もちろん東京リージョンは存在しません。US-WESTがすぐ後にできたのかな…。最初はUS-EASTだけだったかも。

モバツイのサービス開始時である2007年の頃はペパボ社員による趣味の活動でしたが、2009年末に退職、独立し、2010年からは想創社という自分の会社を起業し、活動拠点を埼玉からパートナーのオフィスである西麻布に引っ越すということで、ML110やML115の物理サーバは、開発サーバとして車に載せて引っ越していました。

西麻布のオフィスにパソコンを運んで、オフィスに到着したら、突然サービスがうまく繋がらないという状況になりました。

あれ??? 何故??? 

と慌てました。

そういえば、サーバはAWSに移転しても、DNSのセカンダリサーバは運んでる最中のML115に設定されていたのです。負荷が軽いので、そこに存在し続けているのをすっかり忘れていました。

自分の携帯キャリアで使っているDNSキャッシュの生存期間(TTL)が期限切れを迎え、キャッシュを再更新する時に接続先がないことで接続が不安定になったのだと思いました。詳しいDNSの流れは知りませんが、大体そんなもんであろうと理解しました。

おそらくその時間の間は、他のDNSキャッシュから接続が不安定になっていた可能性があった可能性もありますね。

すでに移転先の西麻布にはBフレッツのネットワークを設定済みだったので、ISPの設定を移設し、埼玉とおなじ固定IPを設定し、慌ててルーターやサーバを接続したら再び接続が適切に動くようになりました。

なるほどセカンダリDNSというのはこういう風に使われるのか、と理解しました。ちなみにプライマリのDNSは、無料のDNSサーバを使っていました。初期からの名残です。冒頭にも書きましたが、まだroute53がなかったんだと思います。

この騒動以来、サーバ移転でDNSの更新がうまくいかない状態になってる人へは具体的なイメージで持ってアドバイスできるようになりました。いわゆる「DNSの浸透待ち」においても、慌てている当人が利用しているDNSキャッシュが一番長い時間、古い接続先をキャッシュしている可能性が高く、新規開設などでまだキャッシュがないであろう違うネットワークから新たに接続して動作確認してみてねなどのアドバイスができるようになりました。

なお、当時のAWSはまだそこに本拠を置くというよりは、サブ的に使うような感じでした。EBSもなかったので、あくまでもスナップショットベースでのバックアップでしたし、ある時突然、インスタンスが止まるなんてこともありました。まだ信頼性という面からも永続的にサーバが存在してくれるという感じでもなかったのです。

その後AWSも発展を続け、安定性もすっかり高くなり、当時のWebのエンジニアたるもの、いつRAIDのハードディスクが壊れるかわからない状況で眠れない夜中を過ごすだなんてブラックな緊張感からは解き放たれて、すっかりホワイトな仕事になりました。RAIDの再構築も負荷が高いので大変なんです。再構築中にもう一台がぶっ壊れたりするし。

今はクラウドという名前で、ネットワーク構成もサーバも全てが仮想化、ソフトウエア化したわけですが、その分、何かが物理的に繋がらなくなるという身体性に基づいた学びを得られにくくなったのかもしれないですね。ソフトウエア上でなんか適当にいじったらつながる、みたいなイメージ。

昔はよかったなんて1mmも思いませんが、自宅でサーバを運用したのも、当時はペパボでソフトウエアエンジニアとして働いている中で、すぐ近くにいるサーバ担当の人たちが構築運用をやってくれていたが故に、自分でもインターネットにつながるサーバというのを学んでみたかったってのがきっかけでした。

それが故にモバツイというサービスに繋がり、その後の独立でも支えてくれたので、今だったら、AWSとかさくらのVPSを使ったら低コストでできるので、是非、いろいろ遊んでみて欲しいなと思う限り。

最近は、仕事ではガチガチにテストを書いてコードレビューを受けてリリースする中で、ソフトウエアをインターネットにデプロイするのも荷が重い仕事になってる人もいるかもしれなくて、ソースコードをきれいに書かないといけない病も含めて、それ自体の敷居が高くなってる可能性を感じることがあります。

肌感でもセキュリティの基礎的な知識を持っているエンジニアの人たちなら、仕事とは別に気軽に遊んでみてインターネットから自分の作ったソフトウエアに、自分のスマホから接続できる楽しさを感じてほしいななんて思ったりしたけど、古いプリミティブな経験を押し付けるのは老害ぽいので、pull型の思い出話をnoteに書いてみました。


この記事が気に入ったらサポートをしてみませんか?