皆様はじめまして!TechBullの運営メンバーで最近加入しましたフルスタックエンジニアの、くの( @kunoyasu )です。今回は、AmazonのDNSサービスであるRoute 53について、DNSの基本を調査してみたので記事を書いていきます!
DNSの基本
ドメインの構造と名前解決の流れ
例えば、fukurou.jp
というドメイン名を考えてみましょう。末尾に.
を付けると、fukurou.jp.
となり、これはFQDN(完全修飾ドメイン名)と呼ばれます。この末尾の.
の後ろには、目には見えないルート(root)が存在するイメージです。FQDNは、ルートドメイン「.」→ jpドメイン「jp.」→ fukurouドメイン「fukurou.jp.」と、逆ツリー構造になっています。ちなみに、jpドメインなどルートの直下にあるドメインをトップレベルドメイン(TLD)と呼びます。
(下記の図のように、ルートから何度から委任されて該当のドメインにたどり着いていきます)


クライアントがキャッシュDNSサーバーに名前解決を依頼すると、キャッシュDNSサーバーはルートサーバーから順に権威DNSサーバーに問い合わせを行い、最終的に結果をクライアントに返します。具体的な流れは以下の通りです:
- クライアントがキャッシュDNSサーバーに問い合わせを行う。
- キャッシュDNSサーバーがルートサーバーに問い合わせ、トップレベルドメインの権威DNSサーバー情報を取得する。
- キャッシュDNSサーバーが取得した権威DNSサーバー情報に問い合わせ、セカンドレベルドメインの権威DNSサーバー情報を取得する。
- セカンドレベルドメインの権威DNSサーバーに問い合わせを行い、名前解決が完了する。

権威DNSサーバーとキャッシュDNSサーバーの違い
- 権威DNSサーバー:特定のドメイン名に関連する情報(DNSゾーンのレコード)を提供します。要求があると、そのドメイン名に関連したIPアドレスや他のレコード情報を提供します。
- キャッシュDNSサーバー:一度問い合わせた情報をキャッシュし、再度同じ情報が要求された場合にキャッシュから応答を返します。これにより、ネットワークトラフィックの削減や応答時間の短縮が可能となります。
Amazon Route 53とは
Amazon Route 53は、可用性と拡張性に優れたドメインネームシステム(DNS)ウェブサービスです。これを利用することで、ドメイン登録、DNSルーティング、ヘルスチェックの3つの主要な機能を組み合わせて実行できます。
AWSのRoute 53における役割
AWSのRoute 53には、権威DNSサーバーとキャッシュDNSサーバーの両方の役割があります。
- 権威DNSサービス(Route 53):Route 53は、登録ドメインの権威DNSサーバーとして機能し、ドメインに関連する情報を提供します。
- キャッシュDNSサービス(Route 53 Resolver):Route 53 Resolverは、クラウド環境内の仮想プライベートネットワーク(Amazon VPC)において、キャッシュDNSサーバーとして機能します。これにより、一度問い合わせた情報をキャッシュし、ネットワーク内でDNS応答を高速化します。
ネームサーバーとAレコード
ネームサーバーは、インターネット上でドメインとWebサーバーやメールサーバーを結びつけるための名前解決を行うサーバーです。Aレコードを追加することで、IPv4アドレスとドメイン名を結びつけます。
レコードのTTLの意味
TTL(Time to Live)は、データがキャッシュで生き続ける時間を秒単位で定義します。DNSレコードに対する要求が行われたとき、その結果はキャッシュされます。これにより、再度同じ要求が行われたとき、応答時間が短縮され、ネットワークトラフィックも軽減されます。
- TTLが長い場合:
- メリット:ネットワークトラフィックとDNSクエリの課金が下がる。
- デメリット:権威DNSサーバーの変更が反映されるのに時間がかかる。
- TTLが短い場合:
- メリット:変更が即反映される。
- デメリット:DNSクエリの課金額が上がる。
dig コマンドで検証
DNSの基本がわかったので、digコマンドを使って、名前解決がされるまでの流れを調べてみました。
1. dig コマンドを実行してみた
まずは dig techbull.cloud
を実行してみました。
1 |
$ dig techbull.cloud |
このコマンドは、DNS を使って techbull.cloud
の Aレコード (IPv4アドレス) を取得するためのものです。
2. 実行結果の解析
以下が実行結果です!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
; <<>> DiG 9.10.6 <<>> techbull.cloud ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50272 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;techbull.cloud. IN A ;; ANSWER SECTION: techbull.cloud. 60 IN A 163.47.9.55 ;; Query time: 121 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Sat Feb 08 20:22:04 JST 2025 ;; MSG SIZE rcvd: 59 |
(1) HEADER 情報をチェック!
1 |
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50272 |
opcode: QUERY
→ DNS に問い合わせを実行!status: NOERROR
→ 正常にドメインが解決されました!id: 50272
→ 問い合わせの識別番号
status: NOERROR
なので、techbull.cloud
は問題なく解決できることが確認できます。
(2) QUESTION セクション
1 2 |
;; QUESTION SECTION: ;techbull.cloud. IN A |
techbull.cloud.
→ 問い合わせたドメインIN
→ インターネットクラスA
→ IPv4 アドレスを取得するための Aレコード
(3) ANSWER セクション
1 2 |
;; ANSWER SECTION: techbull.cloud. 60 IN A 163.47.9.55 |
techbull.cloud.
→ 問い合わせたドメイン60
→ TTL (Time to Live)。DNS キャッシュの有効期間は 60秒IN
→ インターネットクラスA
→ Aレコード163.47.9.55
→techbull.cloud
の IP アドレス
つまり、techbull.cloud
は 163.47.9.55
という IP アドレスに対応していることがわかりました!
(4) その他の情報もチェック!
1 2 3 4 |
;; Query time: 121 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Sat Feb 08 20:22:04 JST 2025 ;; MSG SIZE rcvd: 59 |
Query time: 121 msec
→ DNS 解決にかかった時間は 121 ミリ秒SERVER: 8.8.8.8#53(8.8.8.8)
→ Google Public DNS (8.8.8.8
) を使用WHEN: Sat Feb 08 20:22:04 JST 2025
→ クエリを実行した日時MSG SIZE rcvd: 59
→ 受信した DNS メッセージのサイズは 59 バイト
3. digコマンドでネームサーバー(NS)レコード を取得
さらに、下記のコマンドを使って、どのようなネームサーバーが使われているのかを確認してみました。
1 |
$ dig techbull.cloud NS +short |
4. 実行結果の解析
1 2 3 |
ns3.digitalocean.com. ns2.digitalocean.com. ns1.digitalocean.com. |
上記は、techbull.cloud
というドメインのDNS管理が DigitalOcean のネームサーバーによって行われている ということを示しています。これらのサーバーが、techbull.cloud
のDNS情報を管理し、クライアントがアクセスする際に適切なIPアドレスを返してました。
まとめ
今回の dig
コマンドの結果から、以下のことがわかりました!
techbull.cloud
は正常に解決可能 (status: NOERROR
)- Aレコードの IP アドレスは
163.47.9.55
- TTL は
60秒
で、短めの設定 - DNS サーバーは Google Public DNS (
8.8.8.8
) を使用 - DNS クエリの応答時間は
121ms
techbull.cloudは3つのネームサーバーによってDNSの管理が行われている
dig
コマンドを使えば、ドメインの情報を簡単に調べることができます!DNS の問題が発生したときにも活用できるので、ぜひ試してみてください!
以上、Route 53とDNSの基本についてでした。今後もTechBullでブログ発信していきますので、また次回会いましょう!

1994年生まれ。未経験からエンジニアへキャリアチェンジし、現在はヘルステックの企業でフルスタックエンジニアとして勤務。クラウドの技術に興味を持ち、自分の技術力を上げるためにTechBullに参加。将来的には、SREやEmbedded SREになることを目指している。