DNSとお名前.comのドメインとRoute53のネームサーバについて勉強してみた。

はじめに

頭の中で考えても、理解しているのか、理解していないのかわからないので、
アウトプットを通じてDNSについて、理解しようと思ってブログにしました。
今回はお名前.comとAWS Route53 で考えてみました。
参考にとぶ

DNSって?

DNS(Domain Name System)は、インターネット上のドメイン名とグローバルIPアドレスを対応付けるシステムです。人が覚えやすいドメイン名(例:example.com)を、コンピュータが理解しやすいIPアドレスに変換する役割を担っています。
例:IPv4
example.com => 172.184.xxx.xxx

ネームサーバーとは?

ドメイン名を対応するIPアドレスにマッピングします。
権威サーバーやフルサービスリゾルバ(再起的リゾルバ)
※マッピング:一つの値を別の値に関連付けるプロセス
例えば、
Aレコードはドメイン名をIPv4アドレスにマッピングします。
example.com => 172.184.xxx.xxx

CNAMEレコードはドメイン名を別のドメイン名(エイリアス)にマッピング
www.example.com => example.com

PTRレコードはIPアドレスを対応するドメイン名に逆マッピング
172.184.xxx.xxx => example.com

ネームサーバーの種類

1.権威ネームサーバー(Authoritative Name Server)
権威ネームサーバーは、インターネット上の他のサーバーからの問い合わせに対して、そのドメイン名に関連するIPアドレスや他の重要な情報(メールサーバーの場所、サブドメインのアドレスなど)を提供します。

2.再帰的ネームサーバー(Recursive Name Server):フルサービスリゾルバ
ドメイン名をIPアドレスに解決するために、必要に応じて一連の問い合わせを行います。エンドユーザーがウェブサイトにアクセスしようとすると、再帰的ネームサーバーは、そのリクエストを権威ネームサーバーまで追跡し、必要な情報を取得して返答します。このプロセスには、複数のDNSサーバーへの問い合わせが含まれることがあります。

ドメイン登録業者とネームサーバーの関係

お名前.comで取得した独自ドメインをAWSのRoute 53で利用するという事は?

お名前.comで取得した独自ドメインをAWSのRoute 53で利用することは、実質的にそのドメインの権威DNS(Domain Name System)サーバーをお名前.comからRoute 53に移動する

移動の概念

お名前.comで取得した独自ドメインをAWSのRoute 53で利用する場合、そのドメインの権威DNSをRoute 53に「移動」するという表現は、実際にはドメインの登録(レジストラ)自体を移動させるわけではなく、ドメインのDNS管理をRoute 53に移行する
=> ドメインのネームサーバー(NS)レコードをお名前.comからRoute 53に割り当てられたネームサーバーに変更する作業
=> ドメインのDNSレコードの管理と解決がRoute 53になる

ドメインの移動の流れ

ドメイン名の権威DNSサーバーは、そのドメインに関するすべてのDNSレコード(例えば、どのIPアドレスがそのドメイン名に対応するか、メールサーバーはどこにあるかなど)を保持しています。ドメインをRoute 53に移動するプロセスは以下のようになります:

  1. Route 53でホストゾーンを作成: Route 53のダッシュボードで、新しいホストゾーンを作成します。ホストゾーンは、あなたのドメイン名に関連するDNSレコードを保持するコンテナのようなものです。

  2. ホストゾーンのNSレコードを確認: ホストゾーンを作成すると、Route 53はそのホストゾーン用のネームサーバー(NS)レコードを提供します。これらのNSレコードは、Route 53があなたのドメインの新しい権威DNSサーバーであることを示します。

  3. お名前.comでNSレコードを更新: お名前.comのドメイン管理ページにアクセスし、ドメインのNSレコードをRoute 53から提供されたものに更新します。これにより、お名前.comではなくRoute 53があなたのドメインのDNSクエリに対する「権威」となります。ちなみに、お名前.comでNSレコードを更新する場合は、最後のピリオドを除かないと更新できない使用。

  4. DNSの伝播を待つ: DNSレコードの変更は即時には反映されず、全世界のDNSサーバーに伝播するのに数時間から48時間かかる場合があります。この間、あなたのドメイン名に対するクエリは徐々にRoute 53のネームサーバーによって解決されるようになります。

このプロセスを完了すると、Route 53があなたのドメインの権威DNSサーバーとして機能し、DNSレコードの管理(Aレコード、MXレコード、CNAMEレコードなど)をRoute 53のインターフェースを通じて行えるようになります。

反映の確認:

% nslookup -type=NS [対象ドメイン]

なぜ移動した方がいいのか?

AWSの他のサービス(例えば、ALBなど)を簡単に設定できます。

NSレコードとSOAレコードについて

Route 53で独自ドメインを利用することと権威DNSの移動

AWSのRoute 53でお名前.comで取得した独自ドメインを利用する場合、実際には権威DNSサーバーの指定を変更していることになります。つまり、ドメインに関連するDNSレコードの管理を、お名前.comのシステムからAWS Route 53へ移動することです。これにより、Route 53がそのドメインの権威DNSサーバーとして機能し、ドメイン名の解決に関する「権威」を持つことになります。

ドメインのNSレコード(ネームサーバーレコード)をRoute 53のネームサーバー情報に更新することで、世界中のDNSリゾルバに対して、このドメインに関する問い合わせはRoute 53によって解決されるべきであると指示します。

NSレコードとSOAレコードについて

  • NSレコードは、特定のドメインのDNSクエリに対する権威ネームサーバーを指定するために使用されます。ドメインをRoute 53に移行する際に、お名前.com(または他のドメイン登録業者)のDNS管理ページでRoute 53のNSレコードに更新します。これにより、ドメイン名に関するすべてのDNS問い合わせがRoute 53にルーティングされます。
    =>NSレコードの更新はユーザーが行います
    =>このドメインに関する問い合わせはRoute 53によって解決すると指示

  • SOAレコード(Start of Authority Record)は、ドメインに関するDNSゾーンの権威を持つネームサーバーに関する情報を提供します。これには、ドメインのプライマリDNSサーバー、ドメイン管理者の連絡先、ゾーンファイルのリフレッシュレート、リトライレート、有効期限、およびキャッシュの最小TTL(Time To Live)などの情報が含まれます。SOAレコードは、DNSゾーンの最上位に存在し、DNSゾーンの管理に関する情報を提供します。
    =>SOAレコードはDNSサービスプロバイダーによって管理
    =>ユーザーが直接触ることはない

名前解決の流れ

クライアント(例えば、ウェブブラウザ)から権威DNSサーバーまでの名前解決プロセスは、複数のステップを経て行われます。このプロセスでは、クライアントがドメイン名(例: www.example.com)に基づいて特定のIPアドレスを求め、そのドメイン名に対応する権威DNSサーバーから正確な情報を取得します。以下に、このプロセスの主要なステップを説明します。

ステップ1: クライアントからのDNSクエリ

  1. HOSTSファイルのチェック: クライアントは最初に、オペレーティングシステムのHOSTSファイルをチェックします。ここにドメイン名が存在し、対応するIPアドレスが指定されていれば、そのIPアドレスを使用して接続を試みます。

  2. ローカルDNSキャッシュのチェック: HOSTSファイルにエントリがない場合、次にクライアントはローカルDNSキャッシュをチェックします。ここに最近解決されたドメイン名とそのIPアドレスが一時的に保存されています。

  3. 再帰的DNSサーバーへのクエリ: ローカルDNSキャッシュにも該当するエントリがない場合、クエリはクライアントが設定されている再帰的DNSサーバーに送られます。

ステップ2: 再帰的DNSサーバーの役割

  1. 再帰的DNSサーバーは、要求されたドメイン名のIPアドレスを見つけるために、さまざまなDNSサーバーに問い合わせを行います。
  2. 最初に、再帰的DNSサーバーはルートDNSサーバーに問い合わせます。ルートDNSサーバーは全てのトップレベルドメイン(TLD、例: .com.net.org)の情報を持っており、要求されたドメイン名のTLDに対応するネームサーバーを指示します。

ステップ3: トップレベルドメイン(TLD)ネームサーバー

  1. 再帰的DNSサーバーは、ルートDNSサーバーから受け取った情報に基づいて、TLDネームサーバー(例: .comドメインのネームサーバー)に問い合わせを行います。
  2. TLDネームサーバーは、要求されたドメイン名(example.com)の権威DNSサーバーのアドレスを提供します。

ステップ4: 権威DNSサーバー

  1. 再帰的DNSサーバーは、TLDネームサーバーから受け取った情報に基づいて、そのドメインの権威DNSサーバーに問い合わせます。権威DNSサーバーは、要求されたドメイン名(www.example.com)に関する正確なDNSレコード(例えばAレコード、AAAAレコード)を持っています。
  2. 権威DNSサーバーは、要求されたドメイン名のIPアドレスを再帰的DNSサーバーに提供します。

ステップ5: IPアドレスのクライアントへの返送

  1. 再帰的DNSサーバーは、権威DNSサーバーから受け取ったIPアドレスをクライアントに返送します。
  2. クライアント(ウェブブラウザ)はこのIPアドレスを使用して、最終的にウェブサーバーに接続

階層的なDNS構造のメリット

  • もしクライアントが直接、各階層のDNSサーバーに問い合わせを行うと負担になる。
    これを再帰的DNSサーバーがこの役割を担い必要な全ての階層を横断して情報を取得し、最終的な結果をクライアントに返す。
  • 再帰的DNSサーバーは、一度問い合わせたドメイン名の結果をキャッシュに保存。同じ問い合わせがあれば、名前解決がすぐにできる。
  • 再起的な問い合わせはセキュリティ対策になる。

今回のブログで取り扱わなかったけど、今後作成するかもしれない

  • 完全修飾ドメイン名(FQDN)とサブドメインとグルーレコードについて
  • メール関連:SPF/DKIM/DMARCについて
  • IPS/IDSについて
  • AWKコマンドで遊んでみる
    など

参考

DNSとは – JPNIC
DNSとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
Route53でお名前.comで取得した独自ドメインを利用する

DNSレコードとは?|ドメイン取るならお名前.com

DNSレコードとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ネームサーバー(DNSサーバー)とは─わかりやすく解説| Kinsta®

【図解】DNSサーバーとは?設定・変更と確認方法 – カゴヤのサーバー研究室
お名前.comで取得したドメインをRoute53のネームサーバで管理設定してみた | DevelopersIO
Route 53でドメインの実運用に必要な、ネームサーバ(NS)やメールサーバ(MX/SPF/DKIM)のひととおりのDNS設定を実施する

Last modified: 2024-02-24

Author