最近、ある既存のシステムのサーバー移転に伴い、DNSサーバーでドメイン名に対応するIPアドレスを変更する必要がでてきました。
作業手順は把握しましたが、DNSの仕組みと用語が分からないので、参考サイトと今回使用した必要最低限の用語について下記に特に整理せず、備忘録として整理しておきたいと思います。
仕組みの理解は、下記のサイトを参考にしました。
『ASCII.jp:DNSのキホン』
『ASCII.jp:完全解剖「名前とアドレス」』
『DNSレコードってなんだ? | 超初心者のサーバー移転とドメイン ...』
用語は下記に、
まず、「
Aレコード」や「
CNAME(キャノニカルネーム)レコード」、「
MX(メールエクスチェンジ)レコード」について、これの用語に関する前提となる知識
DNSのネームサーバは、ドメイン名(及びホスト名)とIPアドレスの対応をデータベースとして保持している。このデータベースが持つデータを「リソースレコード」と呼ぶ。
リソースレコードにはいくつかの種類(レコードタイプ)が存在する。一般的に使用されている主なリソースレコードには次のものがある(図1)。
- A(アドレス)
- CNAME(キャノニカルネーム)
- MX(メールエクスチェンジ)
- NS(ネームサーバ)
- SOA(スタートオブオーソリティ)
それぞれの種類を呼ぶ場合は、たとえばレコードタイプAのリソースレコードは「Aレコード」と呼ぶ。それぞれのレコードの役割を見ていこう。
DNSでもっとも基本となるリソースレコードは、ドメイン名とそれに対応するIPアドレスを記述する「Aレコード」である(図2)。DNSの「ドメイン名とIPアドレスを変換する」役割を果たすための中心的なレコードといえる。
ドメイン名とIPアドレスの対応は必ずしも1対1である必要はない。1つのドメイン名に複数のIPアドレスを対応させることもできる。この場合、1つのAレコードに、複数のIPアドレスが記述されることになる。
反対に、1つのIPアドレスに複数のドメイン名を持たせることもできる。この場合に使用するのが「CNAMEレコード」だ。CNAMEレコードは、別のAレコードで使用されているIPアドレスに別の名前を付けるときに使う。
CNAMEは「エイリアス(alias=通称、別名)」とも呼ばれるんだそうです。
「このドメイン名とこのドメイン名は同じだよ」と教えてあげる書き方。
MXレコードは組織のドメイン名と、その組織のメールサーバのホスト名を結び付けるためのレコードである。メールを送信するメールサーバは、宛先メールア ドレスのドメイン名のMXレコードを調べ、実際にメールを送るメールサーバのドメイン名を入手する。その後、メールサーバのドメイン名からAレコードを使 用してメールサーバのIPアドレスを入手するのだ。
次に、「
FQDN(Fully Qualified Domain Name:完全修飾ドメイン名)」について、当社のホームページのFQDN(www.plumsa.co.jp.)をサンプルにして確認していきたいと思います。
まず、その前に前提となるのがFQDNは階層構造になっており、右側から領域が絞らていきより具体的になっていきます。
そして、FQDNは、「ドメイン部」と「ホスト部」から構成されます。
「ドメイン部」は、ユーザーが勝手に使用することができません。
「ホスト部」は、コンピュータ自体を表します。
下記では、この階層構造に従い、上位の階層から解説していきます。
「www.plumsa.co.jp
.」
「ドメイン部」となります。
このドメインの階層構造の最上位に位置して起点となるのが「.」(ピリオド)で表現されるルートドメインとなります。
これは、一般的には省略されます。
「www.plumsa.co.
jp.」
「ドメイン部」となります。
トップレベルドメイン(TLD)となります。
一般トップレベルドメイン(gTLD(generic TLD))と国別トップレベルドメイン(ccTLD(country code TLD))の2種類があります。
「jp」はccTLDとなります。
「www.plumsa.
co.
jp.」
「ドメイン部」となります。
セカンドレベルドメイン(SLD)となります。
「会社」や「ISP」など組織の種類を示します。
「co」は「会社」を示しています。
「www.
plumsa.
co.
jp.」
「ドメイン部」となります。
サードレベルドメイン(3LD)となります。
特定の組織名を表します。
「plumsa」は特定の組織である当社(株式会社プラムザ)を示しています。
「
www.plumsa.
co.
jp.」
「ホスト部」となります。
インターネットのドメイン名(.)で「日本」(jp)の「会社」(co)である「株式会社プラムザ」(plumsa)という組織に属する「www」という名前のホストを表します。
次に、
DNSの生存期間(TTL(Time To Live))について、
DNSでは「どのくらいの期間までキャッシュとして利用してよいか」という、TTL(Time To Live)と呼ばれるパラメータが、それぞれのデータ(レコード)に設定されています。図7を例に挙げると、図中の「172800」という数字がそれであ り、これは「取得してから172,800秒(48時間)の間、キャッシュとして利用してよい」という意味になります。この期間を過ぎた場合は、このデータ (レコード)をキャッシュから破棄することが求められます。
詳しくは、下記サイトが参考になりました。
『インターネット10分講座:DNSキャッシュ - JPNIC』
以上、DNSに関連してプログラム超初心者が大まかにラフを書く感じでまとめてみました。
現時点での理解としては、DNSもリソースレコードが格納されたデータベースを中心とした仕組みなのかな?ということです。
また、機会があれば、上記のラフを色々な切り口で突っ込んで行きたいと思います。
以上です!
【参考サイト】
『AレコードとCNAMEレコードの違い』