【DNS】独自ドメイン使用するなら知っておきたい知識まとめ

更新日:

【Railsでアプリ開発中】プログラミング初心者の勉強ブログ #50

IPアドレスとドメインの関係から解説してます。DNSやAレコード、CNAMEなどドメイン関係を学びます。独自ドメイン使用するなら知っておきたい知識まとめです。

はじめに

この記事は、railsフレームワークでオリジナルwebアプリ「免許学科試験学習サイト」作成中の僕が、プログラミングをしている中で気づいたことや学んだことを書いております。プログラミング初心者なので知識は少ないですが、現在通っているプログラミングスクール「DIVE INTO CODE」で学んでいることや、ネットで見つけた様々な記事を参考に記事を作成しております。

 

目次

 

独自ドメインを利用するための知識

今回お名前.comで取得している独自ドメインを、herokuのアプリで利用しようと思い、色々調べたので備忘録として残します。独自ドメイン使用する前に知っておくべき内容です。

IPアドレスとドメイン名の関係

「IPアドレス」はネット上で割り当てられたコンピュータの住所を表します。具体的には「173.194.117.230」のような数字の羅列のことです。この数字を頼りに、サーバーと通信を行い、指定のwebサイトをパソコンが表示します。

「数字の羅列」では人間がわかりづらいということで、「IPアドレス」に名前をつけます。それが「ドメイン名」です。

「IPアドレス」はパソコンが認識するものであり、

IPアドレス説明

「ドメイン名」は人間が認識するものということになります。

ドメイン説明

「IPアドレス」と「ドメイン名」が紐付くことで、パソコンと人間の両者がわかりやすい状態でネット上の住所が管理されています。

そして、この紐付けを行うシステムが「DNS(Domain Name System)」の機能です。

 

DNSサーバーの仕組み

基本的なDNSサーバーの、仲介業の流れは以下の画像の通りだと思います。

DNSサーバーの流れ

ブラウザは、ドメイン名を与えられても理解できず、何を表示させれば良いかわからないので、DNSサーバーに聞きます。

DNSサーバーはドメイン名からIPアドレスを引っ張ってきます。このとき、実際に依頼を受けるDNSサーバーと、実際にデータから参照するDNSサーバーが違います。

 

「フルサービスリゾルバ」・・・依頼を受けるDNSサーバー

「権威DNSサーバー」・・・実際にドメイン名からIPアドレスを探すサーバー

 

「権威DNSサーバー」は「ゾーンファイル」という、IPアドレスとドメイン名の対応表を参照し、依頼を受けたドメイン名に対応するIPアドレスを見つけ出します。

 

このとき、リクエストされたドメイン名が「委託先のDNSサーバー」が管理しているドメイン名だった場合、「NS」レコードに指定されている委託先DNSサーバーの所在を「フルサービスリゾルバ」に送信します。

それを受けた「フルサービスリゾルバ」は、「委託先DNSサーバー」に対し、IPアドレスを探してもらうよう依頼します。

 

ゾーンファイルとキャッシュ

ゾーンファイルは、「IPアドレスとドメイン名の対応表」です。「権威DNSサーバー」がゾーンファイルから対応するIPアドレスを発見し、「フルサービスリゾルバ」に渡します。

「フルサービスリゾルバ」は毎回毎回「権威DNSサーバー」に聞くのもアレなので、「キャッシュ」に一定期間その結果を蓄えます。次同じドメイン名が来たときは、キャッシュを参照し、わざわざ「権威DNSサーバー」に依頼しないようにします。

「TTL(Time to live)」はキャッシュの有効期限です。TTLが3600のとき、そのキャッシュの有効期限は3600秒、1時間ということになります。

 

ゾーンファイルの中身

ゾーンファイルには、色々と見慣れない言葉が並んでいます。独自ドメインを利用するにあたって出てきたもの一覧です。

 

Aレコード

「ALIAS(エイリアス)」レコードの略です。Aレコードと呼ばれてます。1つのIPアドレスに対し、1つのAレコードがつけられます。Aレコードとは、そのIPアドレスと、「本来のドメイン名」を紐付けが記録されたレコードです。

 

CNAMEレコード

「Canonical(カノニカル) NAME」レコードの略です。CNAMEレコードとは、「ドメイン名」と「別ドメイン名」の紐付けが記録されたレコードです。

 

NSレコード

「Name Server」レコードの略です。NSレコード内には、ネームサーバー(DNSサーバー)の情報(ドメイン名)が記録されてます。「フルサービスリゾルバ」からIPアドレス探してくれ、と依頼されたドメイン名が、他のDNSサーバーが管理しているドメイン名だったとき、NSレコードに記録されている「委託先DNSサーバー」の情報を「フルサービスリゾルバ」に渡します。その情報をもとに、「委託先DNSサーバー」にIPアドレス検索依頼を出します。

 

SOAレコード

「Start Of Authority」レコードの略です。今回調べた中で一番よくわからなかったレコードでした。ゾーンについて書かれている記録であり、ゾーンファイルから適切なIPアドレスが参照できるような体制を整えるために使われています。調べれば色々出てきます。

 

TTL

「Time To Live」の略です。寿命とか有効期限、消費期限のことです。DNS関連でのTTLは「キャッシュの有効期限」を指しています。

 

ドメイン名とIPアドレスの関係

ALIASドメイン名:IPアドレス=1:n

CNAMEドメイン名:ALIASドメイン名=n:1

ドメイン名とIPアドレスの関係図

多対多の関係でIPアドレスは複数のドメイン名を持つことになるって感じですかね。画像はあくまでイメージです。

以下を見て考察しました。

 

まとめ

今回参照させていただいたのは、

ここです。何を調べてもわかりやすいですが、今回の内容はどのサイトよりもぶっちぎりでわかりやすかったです。

ここに書いてある知識があると、幾分かドメイン関係の設定(独自ドメイン指定など)で助かると思います。

なんとか独自ドメイン反映させようとしてたら、気づいたらめっちゃ真面目に勉強してました。SSLなども含めると、まだまだわからんことだらけですが、ちょっとずつ理解広げていきます。

 

以上ありがとうございました。

-プログラミング学習
-, ,

Copyright© s u p ? , 2019 All Rights Reserved.