制作ツール

DNSとは?ドメイン名をIPアドレスに変える仕組みと、変更がすぐ反映されない理由

公開 更新 約5分で読めます

TL;DRこの記事の要点

  • DNSは、ドメイン名をIPアドレスに変換する仕組み
  • ネームサーバーを変えても、キャッシュの影響でしばらくは反映されない
  • ネームサーバーの変更だけでなく、サーバー側にもドメインを追加する
目次8項目
  1. DNSとは?ドメイン名を、IPアドレスに変換する仕組み
  2. ブラウザでURLを開いたとき、何が起きている?
  3. どんなときに出てくる?
  4. ネームサーバーとDNSレコード
  5. 設定を変えても、すぐ反映されない理由
  6. 自分はこう使ってます
  7. DNSでハマった例
  8. 迷ったときの確認ポイント

ドメインを取ってサーバーにつなぐとき、「DNSを設定します」「ネームサーバーを変更します」と書かれた説明に出会います。
DNSとは何をするものなのか。
自分は、お名前.comで取ったドメインのネームサーバーをエックスサーバーに切り替えたとき、変更してもすぐには表示が変わらず、焦りました。
公式の説明と一緒に、DNSの基本をまとめます。

先に結論です。
DNSは、ドメイン名を、コンピューターが通信に使うIPアドレスに変換する仕組みです。
ネームサーバーを変えただけではサイトは表示されず、サーバー側にも、そのドメインを追加する設定が要ります。
設定を変えても、キャッシュを持つDNSサーバーが最新の情報を確認するまでに時間がかかるので、すぐ変わらないのは仕組み上、普通のことです。

DNSって、結局なにをするもの?

ドメイン名を、サーバーの住所(IPアドレス)に変えてくれる仕組みだよ。

DNSとは?ドメイン名を、IPアドレスに変換する仕組み

DNSは、Domain Name Systemの略です。
MDNの用語集では、インターネットに接続されたリソースのための、階層化された分散型の名前付けシステムと説明されています。
最も代表的な機能は、人にわかりやすいドメイン名を、コンピューターが通信に使う数字のIPアドレスに変換することです。

MDNの例では、mozilla.orgが192.0.2.172のようなIPアドレスに対応づけられます。
この変換の処理は、名前解決(DNSルックアップ)と呼ばれます。

ブラウザでURLを開いたとき、何が起きている?

MDNのドメイン名の解説によると、ブラウザにドメイン名を入力すると、流れはこうなります。

  1. ブラウザは、そのドメイン名に対応するIPアドレスを、パソコンのローカルなDNSキャッシュが知っているか確認する
  2. 知っていれば、そのIPアドレスでウェブサーバーとやり取りする
  3. 知らなければ、DNSサーバーに問い合わせる。DNSサーバーが、ドメイン名に対応するIPアドレスを返す
  4. IPアドレスが分かったら、ブラウザはウェブサーバーとコンテンツをやり取りする

どんなときに出てくる?

DNSが出てくる場面は、たとえば3つです。

  • ドメインを取得して、レンタルサーバーにつなぐとき(ネームサーバーの設定)
  • サイトを別のサーバーに引っ越すとき(向き先の変更)
  • メールの設定や、サービスの所有確認のとき(DNSレコードの追加)

ネームサーバーとDNSレコード

DNSの設定には、2つの言葉が出てきます。

  • ネームサーバー:そのドメインのDNS情報を持っているサーバー。ドメインの向き先を決める元になる
  • DNSレコード:ドメインごとの設定の1行。種類がいくつかある

エックスサーバーの公式マニュアルには、レコードごとの入力ルールが書かれています。

  • Aレコード:内容欄にIPv4アドレスを入れる
  • AAAAレコード:内容欄にIPv6アドレスを入れる
  • CNAMEレコード:内容欄にホスト名を指定する(IPアドレスは登録できない)
  • MXレコード:優先度と一緒に設定する。内容欄はホスト名で、数値が小さいほど優先される

設定を変えたのに、すぐ変わらないのはなんで?

DNSサーバーが、情報をしばらく覚えてるからだよ。入れ替わるのを待つんだ。

設定を変えても、すぐ反映されない理由

MDNのドメイン名の解説では、理由が次のように説明されています。

  • レジストラーがドメインの情報を作成・更新すると、DNSデータベースの情報を更新する必要がある(MDNの記述)
  • 各DNSサーバーは、情報を一定期間保持して、そのあと自動的に無効にして、権威ネームサーバーに問い合わせて最新の情報を取得する
  • 結果として、そのドメインを知っているDNSサーバーが最新の情報を得るまでに、時間がかかる

更新の反映に必要な正確な時間は、MDNのページには書かれていません。
ドメインを新規登録した場合は、レジストラーが「数時間以内に、すべてのDNSサーバーが情報を受け取る」と述べている、と紹介されています。
待ち時間は、環境によって変わります。

自分はこう使ってます

ネームサーバーを切り替えて、反映を待った

ブログのドメインは、お名前.comで取得しました。
ネームサーバーをエックスサーバーのものに変更して、保存できたことを確認し、すぐにブラウザで開いてみました。
表示されたのは、変更前のお名前.comの画面のままでした。
自分の環境では、数十分から1時間ほどで、エックスサーバー側に切り替わったのを確認しました。

詳しくは、ネームサーバー切り替えの反映待ちで学んだことに書いています。

反映の確認は、dig で行った

ブラウザで何度も開き直すより、ネームサーバーの情報を調べるコマンドで見るほうが分かりやすい、と感じました。
Macのターミナルで、digコマンドを使いました。

dig NS cats-hand.pro +short

自分のときは、切り替えが済んでいれば、エックスサーバー側のネームサーバー(ns1.xserver.jp.のようなもの)が返りました。
まだなら、前のネームサーバーが返りました。
ただ、結果は、問い合わせ先のDNSサーバーのキャッシュの状態でも変わります。確認手段の1つとして使っています。
ターミナルの基本は、ターミナルの記事にまとめています。

ネームサーバーを変えたら、サイトはもう見える?

まだだよ。サーバー側で、そのドメインを追加する設定も別に要るんだ。

DNSでハマった例

お名前.comからエックスサーバーへの切り替えでは、反映待ちのほかに、手元のネットワークではDNSの問い合わせ自体が通らず、確認方法を変える必要がありました。
経緯は、ネームサーバー切り替えの反映待ちで学んだことにまとめています。

ドメインを取るところからの流れは、ブログのドメインは「お名前.com」で取得しましたと、レンタルサーバーは「エックスサーバー」にしましたに書いています。

迷ったときの確認ポイント

  1. 変更してすぐは反映されないものと考えて、時間を置いて確認する
  2. 反映の確認は、ブラウザだけでなく、digなどでネームサーバーやレコードも調べる(キャッシュの影響は残る)
  3. ネームサーバーを変えただけでは足りない。サーバー側にも、そのドメインを追加する
  4. 設定が合っていると確認できているなら、焦って追加の変更をしない

あわせて知っておきたい用語

IPアドレス
コンピューターが通信に使う、数字のアドレス。ドメイン名は、DNSでこれに変換される。
ネームサーバー
ドメインのDNS情報を持っているサーバー。ドメインの向き先を決める元になる。
DNSレコード
ドメインごとの設定の1行。A・AAAA・CNAME・MXなどの種類がある。
ターミナル
文字のコマンドでMacを操作するアプリ。詳しくはこちら。

この記事が参考になったら、応援クリックをお願いします

Cat's Handこの記事を書いた人

Web制作歴10年以上。WordPressのテーマカスタマイズやコーディングを中心に、副業・本業ともにweb制作に携わっています。このブログでは、実際に手を動かして分かったことを書いています。