DNSのTTLを調べる方法

サーバーの切り替え時に気になるTTL(Time To Live)が管理会社によっては表示されないので調べる方法を解説します。調べてみると予想外にカンタンだったので「どれくらいで完全に切り替わるかわからないー」って方は参考にしてください。

TTL(Time To Live)とは

TTLとは何かというと、Google翻訳をかけると

TTL(Time To live)= 生きる時間

となります(笑)

そもそもドメインとサーバーのIPアドレスが紐づいて、ドメイン名のアドレスの時にサーバーに入っているコンテンツを表示しているのですが


DNSが毎回「このドメインはこのIPですよー」って教えているとネットワークの負荷が増えてしまうので、TTLに定められた時間キャッシュさせることで負荷を減らしているそうです。

ブラウザのキャッシュと似たようなものですね。

で、このTTLが長いほどサーバーの切り替え時に古いコンテンツが表示されるという問題が起こります。

DNSの管理業者さんによってはTTLを変更することもできるみたいですが、あまり多くない印象です。(私が知っているのはWixさんだけです)

簡単に言うとこんな感じです。この部分詳しい方はもっと詳しいと思います、私くらいでもわかるようにざっくりとした説明なので許してください(笑)

では、早速TTLを調べる方法をご紹介します。

TTLを調べる方法

今回はWindowsでTTLを調べる方法です。

コマンドプロンプトを開く

TTLを調べるには「コマンドプロンプト」というツールを使います。

Windowsには標準で入っていますので、インストールなど余計な手間は必要ありません。

「スタート」→「Windowsシステムツール」を進むことでツールを起動できるのですが、毎回やっているとめんどくさいので

キーボードの「Windowsキー」+「R」を押して「ファイル名を指定して実行」を開いて「cmd」と入力して、「OK」を押します。


これで、コマンドプロンプトが起動します。(次回から他にツールを起動していなければ「cmd」の入力は省略できます)

モザイクがかかっている部分はユーザー名が入っています。

nslookup コマンドを使う

「nslookup」コマンドを使う、なんて書いてしまいましたが大変なことはありません。とっても簡単なので、引かずにやってみてください。

そのまま「nslookup」と入力して、「Enter」キーを押してください。

文字が見えずらいので、大きくしています。(Windows8?10?から文字のサイズが変更できるようになったようです)


次に「set debug」と入力して「Enter」キーを押します。


調べたい「ドメイン名」を入力します。ここでは例としてこのサイトのドメインを入力します。(ドメイン名だけ入力しなければいけないので余計な文字は消してください)


最後に「Enter」キーを押して、結果が表示されます。


なんかいろいろ出てきてよくわからないですが、次で解説をします。

結果の見方

「Got answer」の項目の赤線部分「ttl = 86400 (1 day)」が今回知りたいDNSのTTLです。

XSERVERさんを使っている場合には、同じように出るのではないでしょうか。


ただ、例外もあるみたいでDNSの切り替え直後に「ttl = 900(15 minutes)」になっているのを見たことがあるのでXSERVERさんがはやく切り替わるように何かしてくれているのかもしれません。

また、「権限のない回答」というところにも「TTL」が出てきます。いろいろ調べましたがキャッシュ(自分のキャッシュ?)を表示しているらしいので気にしなくていいと思います。