
もっち
大手SIerに18年勤務。オンプレ・クラウド計200台規模の大規模インフラ(10システム)を統括する現役のサービスマネージャーです。
システム運用・インフラ技術、マインドセット、キャリア戦略など、現場で役立つ情報を若手エンジニアへ向けて発信中。


もっち
大手SIerに18年勤務。オンプレ・クラウド計200台規模の大規模インフラ(10システム)を統括する現役のサービスマネージャーです。
システム運用・インフラ技術、マインドセット、キャリア戦略など、現場で役立つ情報を若手エンジニアへ向けて発信中。
インフラエンジニアとして18年、大規模なシステム運用に携わってきましたが、現場で最も「原因の切り分け」を難しくさせる技術の一つがDNS(Domain Name System)です。
「設定は正しいはずなのに、なぜかサイトが表示されない」「切り替えたはずのIPアドレスに飛ばない」……。そんな時、あなたはどこを調査しますか?この記事を読めば、原因不明の名前解決トラブルで徹夜するリスクを激減させ、プロとしての確実な調査スキルが身につきます。
この記事の想定読者
この記事を読むことでのメリット
エンジニアの間には「It’s always DNS(原因はいつだってDNSだ)」という格言があるほど、DNSはトラブルの火種になりやすい技術です。
その理由は、DNSが単一のサーバーではなく、世界中のサーバーが連携して動く「分散型データベース」であり、さらに各所に「キャッシュ」が存在するからです。仕組みを表面だけで理解していると、思わぬ「見えない壁」にぶつかることになります。
DNSの役割は、ドメイン名をIPアドレスに変換することですが、その実態は壮大な「バケツリレー」です。ブラウザにURLを打ち込んだ瞬間、以下のプロセスが走ります。
この「再帰問い合わせ」と「反復問い合わせ」の構造を理解しておくと、「どこまで回答が届いていて、どこで止まっているのか」を冷静に切り分けられるようになります。
実務でDNSを扱う際、絶対に避けて通れないのがレコードの種類とキャッシュ(TTL)の概念です。
よく「設定が反映されるまで数時間待つ(浸透待ち)」と言われますが、これは正確には「古いキャッシュの有効期限(TTL)が切れるのを待っている」状態です。 移行作業の前には、あらかじめTTLを短く(例:300秒など)設定しておく。これが、ダウンタイムを最小限にするプロの作法です。
ここからが本題です。私が以前、サーバーの移行作業をしていた時に起きた、ある「矛盾」の物語をお話しします。
新サーバーへの切り替えのため、DNSのAレコードを新IPアドレスに変更しました。確認のため、エンジニアお馴染みの調査コマンドを叩きます。
nslookup server.example.jp→ 結果:新IPアドレス(192.0.2.100)が表示。 「よし、DNSの反映は完了したな!」と確信しました。
しかし、いざアプリケーションから接続しようとするとエラーが発生。なぜか旧サーバーに繋がってしまいます。不審に思い、ホスト名指定でpingを打ってみると……。
ping server.example.jp→ 結果:旧IPアドレス(198.51.100.50)に対して応答している!
「nslookupでは新しいIPなのに、実際の通信(ping)は古いIPを見ている」という、魔法のような矛盾が発生したのです。
この矛盾を解く鍵は、OSが名前を解決する際の「絶対的な優先順位」にありました。
実は、PCがIPアドレスを調べる際、いきなりDNSサーバーに聞きに行くわけではありません。以下の順序で確認を行います。
ipconfig /displaydns で確認可能)調査の結果、検証用端末の hosts ファイル(Windowsなら C:\Windows\System32\drivers\etc\hosts)に、過去のテストで書き込まれた古いIPアドレスの記述が残っていたのです。
nslookup: OSのロジックを無視して、直接DNSサーバーに正解を訊ねるコマンドです。だから「サーバー上の正しい新IP」を返しました。ping やアプリ: 標準的なOSのルールに従います。DNSよりも優先される hosts ファイルの内容を「絶対的な正義」として信じ込んでいたのです。インフラエンジニアとして、同じ罠にハマらないための「調査の型」を伝授します。
nslookup が成功しても、それは「DNSサーバーが正常であること」の証明にしかなりません。実際の通信がどのIPに向かっているかを ping や curl -v で必ず確認しましょう。ipconfig /flushdns でOSのキャッシュをクリアする癖をつけましょう。DNSは一見シンプルですが、hostsファイルや複数のキャッシュが絡み合うことで、時に複雑な挙動を見せます。しかし、今回解説した「名前解決の優先順位」を頭に入れておけば、どんなトラブルが起きても冷静に最短ルートで解決できるはずです。
「It’s always DNS」。その中には、私たちの手元にある1枚のテキストファイル(hosts)も含まれていることを忘れないでください。
仕組みを深く理解し、推測ではなく根拠に基づいた調査ができる「頼れるインフラエンジニア」を一緒に目指していきましょう!
この記事が気に入ったら
フォローしてね!