📚

「AレコードとCNAMEの違い」で詰まるあなたへ。Route 53を「スマホの電話帳」だと思えば全て解決する

に公開

※本ページはプロモーションが含まれています
【この記事でわかること】

  1. DNSはインターネットの「電話帳」。
  2. Aレコードは「電話番号(IP)」への直通登録。
  3. CNAMEは「あの人に聞いて(別名)」という転送登録。
  4. AWSを使うなら、CNAMEの上位互換であるAlias(エイリアス) を使え。

はじめに:黒い画面(DNS設定)への恐怖心

「ドメインの設定を変更してください」 この言葉を聞くだけで、冷や汗が出るエンジニアは少なくありません。

「TTLって何?」 「設定を間違えたら、世界中からアクセスできなくなるんじゃ…」

その通り、DNSはインターネットの根幹です。しかし、恐れる必要はありません。 Route 53の実体は、「超高機能なスマホの電話帳アプリ」だからです。

今日は、ややこしい「レコードタイプ」の違いを、電話帳に例えて完全に理解しましょう。

1. Route 53 = インターネットの電話帳

私たちがWebサイトを見るとき、裏側では何が起きているのでしょうか? ブラウザは、URL(名前)を知っていても、サーバーの場所(住所=IPアドレス)を知りません。

そこで、Route 53(DNSサーバー) に問い合わせます。

  • ユーザー: 「google.com に繋ぎたいんだけど!」
  • Route 53: 「あー、その名前の住所(IP)は 142.250.xxx.xxx だよ」
  • ユーザー: 「ありがとう!そこに行ってみる!」

これがDNSの基本、「名前解決」です。

▼ 【図解】DNSの役割

2. 3つの主要レコード:A、CNAME、Alias

Route 53の設定画面で一番迷うのが、「レコードタイプ」の選択です。 これも電話帳の登録方法に例えると一発で分かります。

① Aレコード(Address)

  • 正体: 「直通電話番号」
  • 設定: example.com → 192.0.2.1
  • いつ使う?: EC2のIPアドレスなど、「住所(数字)」がわかっている時。

② CNAMEレコード(Canonical Name)

  • 正体: 「転送(たらい回し)」
  • 設定: blog.example.com → hatenablog.com
  • 意味: 「俺じゃなくて、あいつ(別のドメイン)の住所に行ってくれ」
  • いつ使う?: CDNや他社サービスを使う時。

③ Aliasレコード(AWS専用のエイリアス)

  • 正体: 「AWS内部の超高速短縮ダイヤル」
  • 設定: example.com → alb-xxxx.ap-northeast-1.elb.amazonaws.com
  • 意味: CNAMEと同じく「あいつに行ってくれ」だが、DNSサーバー内部でIPに変換してから教えてくれる。
  • いつ使う?: AWSのリソース(ELB, S3, CloudFront)に向ける時は、絶対にこれ!

3. なぜプロは「CNAME」より「Alias」を使うのか?

ここが試験に出るポイントです。 「ルートドメイン(Zone Apex)にはCNAMEが使えない」というRFC(インターネットのルール)があります。

❌ example.com (ルート) → CNAME → my-alb.com (設定不可!)

⭕ www.example.com (サブ) → CNAME → my-alb.com (OK)

「えっ、じゃあ https://example・com でALB(ロードバランサー)を使いたい時はどうするの?」

そこで救世主となるのが、Alias(エイリアス)レコードです。 Route 53のAlias機能を使えば、ルートドメインであっても、AWSリソースへの転送設定が可能になります。

しかも、AliasはCNAMEと違って「クエリが無料」で「高速」です。 AWSを使うなら、CNAMEを使う理由はほぼありません。迷わずAliasを選びましょう。

▼ 【図解】CNAMEとAliasの決定的な違い

4. 賢いルーティング(Routing Policy)

Route 53が「ただの電話帳」ではない理由。 それは、相手によって教える電話番号を変えられる「ルーティングポリシー」があるからです。

  • シンプル: 全員に同じIPを教える(普通)。
  • フェイルオーバー: メインのサーバーが死んでいたら、「ごめん、今は予備サーバー(S3のメンテ画面など)」のIPを教える。
  • レイテンシー: アメリカからのアクセスには米国のサーバー、日本からは日本のサーバーのIPを教える。

これを使えば、「サーバーが落ちたら自動でメンテナンス画面を出す」なんて仕組みも、サーバーに触らずに実装できます。

おわりに:DNSは「道案内」である

DNSの設定は、一度行うとあまり触ることがないため、苦手意識を持ちがちです。 しかし、ここを理解していると、「サイトが表示されない!」というトラブルの時に、真っ先に原因を特定できるようになります。

まずは、自分のサイトのドメインをRoute 53に移管するか、サブドメインで遊んでみることから始めてみましょう。 「Aliasレコード便利すぎ!」と感動すること間違いなしです。

📚 インフラの基礎体力「DNS」を鍛えたい方へ

「Aレコードの話はわかったけど、TTLとか正引き・逆引きとか、もっと基礎から知りたい」 「トラブル時にdigコマンドで調査できるようになりたい」

そんな方には、こちらの名著がおすすめです。エンジニアなら一家に一冊レベルのバイブルです。

▼ DNSがよくわかる教科書
https://amzn.to/4sMERLj

📕 【宣伝】もっと「図解」でAWSを攻略したい方へ

最後に宣伝です。
この記事の「電話帳」のような例え話で、AWSの主要サービスをまるっと解説した本をZennで公開中です!

  • ECSとEKSの選び方 = 「お弁当箱の好みで決める」
  • RedshiftとAthena = 「工場のラインで考える」
  • Amplify = 「自動車工場の品質管理」

など、読むだけでAWSのアーキテクチャが「絵」として頭に残ります。
「公式ドキュメントを見ると3分で眠くなる…」という方は、ぜひ以下のリンクから無料公開中のChapter01・02だけでも読んでみてください!

▼ 『文字を読むのが苦手なエンジニアのための、絵で見てわかるAWS図解ノート』
https://zenn.dev/miyaco_log/books/d26a6fe78b33e9

Discussion