FOR LEARNERS学習中向け

Gネットワーク on AWS段2構成層とは

Amazon Route 53 とは何か|ホストゾーン・レコード・ルーティングポリシーを「名前の案内係」で理解する

Amazon Route 53 とは何か|ホストゾーン・レコード・ルーティングポリシーを「名前の案内係」で理解する

ELB を置いてサーバーを2台に増やしたのに、利用者に見せる住所は my-alb-1234567890.ap-northeast-1.elb.amazonaws.com のような長い名前のまま。自分のドメイン example.com で開けるようにしたい。ここで出てくるのが Amazon Route 53 です。ところが画面を開くと、ホストゾーン、レコード、エイリアス、ルーティングポリシーと知らない言葉が並び、「DNS は ping の記事で読んだはずなのに、どこに何を書けばいいのか分からない」となりがちです。この記事は、DNS の仕組みを知っている人が Route 53 の言葉に置き換えられるように、役割 → 置き場所 → 書き方 → 振り分け方の順で整理します。

この記事の結論

  • Amazon Route 53 は、ドメイン登録・DNS での名前の案内・ヘルスチェックの3つを組み合わせて使える AWS のサービスです。
  • ホストゾーンは1つのドメインのレコードをまとめる入れ物で、インターネット向けのパブリックと、VPC の中だけで答えるプライベートがあります。
  • ゾーンの頂点(example.com)を ALB や CloudFront に向けるには、CNAME ではなくエイリアスレコードを使います。
  • ルーティングポリシーは「同じ名前にどの答えを返すか」の決め方で、比率なら加重、速さならレイテンシー、待機系への切り替えならフェイルオーバーを選びます。
  • フェイルオーバーは Route 53 のヘルスチェックと組み合わせて初めて、異常を検知して自動で切り替わります。

Amazon Route 53 とは何か(3つの役割)

たとえるなら、Route 53 は会社の受付にいる案内係です。来客(ブラウザ)から「営業部はどこですか」と聞かれたら部屋番号(IP アドレス)を答える。部屋が閉まっていれば別の部屋を案内する。そもそも「営業部」という看板(ドメイン名)を掲げる手続きも受け付けている。この3つの仕事を、正確な言葉に戻すと次のようになります。

THREE ROLESRoute 53 の役割

Route 53 は名前を持つ・案内する・行き先を見張るの3役

  1. 登録

    ドメイン登録 — example.com を自分の名前として持つ

    ほかの事業者で買ったドメインも使える

  2. 案内

    DNS — 名前を聞かれたら行き先を答える

    ホストゾーンにレコードを書く

  3. 見張り

    ヘルスチェック — 行き先が応答するかを確かめる

    異常なら答えから外す・待機系へ切り替える

出典: Amazon Route 53 Developer Guide「What is Amazon Route 53?」

1. ドメイン登録

example.com のような名前を、年単位の契約で自分のものとして登録します。Route 53 で登録すると、そのドメイン用のパブリックホストゾーンも作られ、すぐに DNS を書き始められます。ほかの登録事業者で買ったドメインを持ち込むこともできます。

2. DNS(名前の案内)

ブラウザが www.example.com を開こうとすると、利用者側の DNS リゾルバーが権威 DNS サーバーに「この名前の行き先は?」と聞きに来ます。Route 53 はこの権威 DNS サーバーとして答えを返します。 READ ALSO — 未経験向け・段0 土台 ping と DNS で分かる「つながる」の仕組み|名前解決から疎通確認まで、切り分けの順番 で読んだ「名前解決」の、答える側を AWS が持ってくれるということです。

3. ヘルスチェック

Route 53 は、指定した行き先(Web サーバーやロードバランサー)に定期的にリクエストを送り、応答があるかを確かめます。結果は DNS の答えに反映でき、異常な行き先を答えから外したり、待機系へ切り替えたりできます。ELB のヘルスチェックが「ロードバランサーの後ろの1台ずつ」を見るのに対し、Route 53 のヘルスチェックは「名前の行き先そのもの」を見る、という位置の違いがあります。

3つは組み合わせ自由です。ドメインは別の事業者で買い、DNS とヘルスチェックだけ Route 53 を使う、という形もよくあります。

NAME TO SERVER名前からサーバーまで

名前を聞かれた Route 53 がALB を指し、ALB が1台に配る

  1. ブラウザ

    www.example.com
    を開く

  2. リゾルバー

    行き先を聞きに行く

  3. Route 53

    ホストゾーンの
    エイリアスが答える

  4. ALB

    正常な1台を選ぶ

  5. EC2

    ページを返す

CHECK 1ここまでの確認

Route 53 の3つの役割の組み合わせとして正しいのはどれ?

答えと解説

答え: 2. ドメイン登録・DNS での名前の案内・ヘルスチェック

Route 53 は名前を「買う」「案内する」「行き先が生きているか見る」の3つを、組み合わせて使えるサービスです。負荷分散そのものは ELB の仕事です。「3つの役割」の章を読み直してください。

ホストゾーンとレコードとは(どこに何を書くか)

Route 53 で DNS を書く場所がホストゾーンです。1つのドメイン(と、その下のサブドメイン)のレコードをまとめて入れる入れ物で、2種類あります。

  パブリックホストゾーン プライベートホストゾーン
誰の問い合わせに答えるか インターネット上のだれでも 関連付けた VPC の中からの問い合わせだけ
典型的な用途 公開サイト(www.example.com)、メールの MX 社内システムや DB の内部名(db.internal など)
作る前提 ドメインのネームサーバーを Route 53 に向ける VPC を関連付ける(VPC の DNS 解決の設定が有効であること)
外から見えるか 見える 見えない

同じ名前(example.com)で、パブリックとプライベートの両方のホストゾーンを持つこともできます。この場合、VPC の中からの問い合わせにはプライベート側が答えます。社外には公開用の住所、社内には内部の住所を返す、という使い分けです。

ホストゾーンの中に書く1行1行がレコードです。よく使うのは次の4つです。

レコード 何を返すか 置けないもの・注意
A IPv4 アドレス(例 203.0.113.10) 行き先の IP が変わると書き直しが要る
AAAA IPv6 アドレス A と同じ考え方の IPv6 版
CNAME 別の名前(例 www → shop.example.net) ゾーンの頂点(example.com そのもの)には置けない。問い合わせは課金される
エイリアス AWS のリソース(ALB・CloudFront・S3 の静的ウェブサイトなど)や同じゾーンの別レコード Route 53 独自の拡張。頂点にも置ける。AWS のリソースへの問い合わせは課金されない

ALB の IP アドレスは固定ではないので、A レコードに ALB の IP を直接書くのは誤りです。ALB を指すときはエイリアスレコード(種類は A か AAAA)を使い、名前ごと追いかけてもらいます。CNAME でもサブドメイン(www.example.com)なら ALB の DNS 名を指せますが、頂点の example.com には置けません。迷ったら「AWS のリソースを指すならエイリアス」と覚えておくと外しません。

Route 53 でつまずきやすい3つ

  • ドメインを別の事業者で買ったのに、登録事業者側のネームサーバーを Route 53 に向けていない(ホストゾーンを作っても誰も聞きに来ない)
  • ALB の IP アドレスを調べて A レコードに書く(IP が変わった日に突然つながらなくなる)
  • プライベートホストゾーンを作ったのに VPC を関連付けていない(VPC の中から引けない)

CHECK 2ここまでの確認

example.com のような頂点の名前を ALB に向けたいとき、使うのはどれ?

答えと解説

答え: 2. エイリアスレコード

ゾーンの頂点には CNAME を置けません。エイリアスレコードなら頂点にも作れて、ALB・CloudFront・S3 の静的ウェブサイトなど AWS のリソースを直接指せます。「レコードの種類」の表を読み直してください。

ルーティングポリシーとは(同じ名前にどの答えを返すか)

1つの名前に1つの行き先しかなければ、答えは決まっています。ところが、東京と大阪に同じサイトを置いた、新しい版を少しだけ試したい、といった場面では、同じ www.example.com に複数の答えの候補ができます。その中からどの答えを返すかの決め方がルーティングポリシーです。レコードを作るときに1つ選びます。

ROUTING POLICY答えの選び方

ルーティングポリシーは何で答えを選ぶかで決める

  1. 1.比率で分けたい → 加重

    新しい版に1割だけ流す

  2. 2.速い方へ寄せたい → レイテンシー

    複数リージョンに同じサービス

  3. 3.異常時だけ待機系へ → フェイルオーバー

    ヘルスチェックとセットで働く

  4. 4.場所で出し分けたい → 位置情報

    国ごとに違うサイトを出す

出典: Amazon Route 53 Developer Guide「Choosing a routing policy」
ポリシー 何で答えを選ぶか 合う場面
シンプル 選ばない(1つのレコードの値を返す) 行き先が1つのサイト
加重 レコードごとの重みの比率 新しい版に1割だけ流す、2つの環境で負荷を分ける
レイテンシー 利用者から見て遅延が小さいリージョン 複数リージョンに同じサービスを置き、速い方へ寄せる
フェイルオーバー プライマリが正常ならプライマリ、異常ならセカンダリ アクティブ/パッシブの待機系への切り替え
位置情報 問い合わせ元の国・大陸 国ごとに言語や法令対応の違うサイトを出す
地理的近接性 利用者とリソースの距離(偏りを調整できる) 近い拠点へ寄せつつ、特定の拠点に多めに流す
IP ベース 問い合わせ元の IP アドレスの範囲 利用者のネットワークが分かっていて、それで振り分けたい
複数値回答 正常なレコードから最大8つを返す 簡易に複数の IP を返し、異常なものは外したい

フェイルオーバーはヘルスチェックとセットで働く

フェイルオーバールーティングは、プライマリのレコードにヘルスチェックを関連付けておくことで、異常を検知したときにセカンダリの答えを返します。ヘルスチェックを付けないと、Route 53 はプライマリが落ちたことを知る手段がありません。セカンダリには、別リージョンの環境や、S3 に置いた「メンテナンス中」のページを置くことがあります。

DNS の切り替えには「キャッシュ」の時間がかかる

DNS の答えは、レコードの TTL(キャッシュしてよい秒数)の間、リゾルバーや端末に覚えられます。加重の比率を変えても、フェイルオーバーで切り替わっても、古い答えを覚えている利用者には TTL が切れるまで古い行き先が返ります。段階的に比率を変える移行では、事前に TTL を短くしておくのが定石です。なお、AWS のリソースを指すエイリアスレコードでは TTL を自分で指定せず、行き先の種類に応じて決まった値が使われます。

CHECK 3ここまでの確認

新しい版に1割だけ流して様子を見たいとき、合うルーティングポリシーはどれ?

答えと解説

答え: 3. 加重

加重は、同じ名前の複数のレコードに重みを付けて、比率で振り分けます。レイテンシーは速さ、位置情報は利用者の場所で行き先を決めます。「ルーティングポリシーの選び分け」の表を読み直してください。

Route 53 はどこに置かれ、何と組み合わせるか

Route 53 は特定のリージョンに属さないグローバルなサービスです。名前の案内は利用者に最も近い層なので、構成図では一番外側に立ちます。ここまでの内容を、ELB の記事で組んだ構成に重ねると次の順になります。

  1. 利用者のブラウザが www.example.com をリゾルバーに問い合わせる
  2. リゾルバーが Route 53 のパブリックホストゾーンに聞き、エイリアスレコードが ALB を指す
  3. ALB が、複数の AZ にある EC2 のうち正常なものに通信を配る

READ ALSO — 学習中向け・段2 構成 Elastic Load Balancing とは何か|ALB・NLB・GWLB の違いとヘルスチェック、複数 AZ

役割の境目を整理しておきます。

層 担当 何を見て行き先を決めるか
名前 Route 53 ルーティングポリシーとヘルスチェック(リージョンやサイト単位)
通信の配り先 ELB ターゲットのヘルスチェック(1台ずつ)
台数 Auto Scaling 負荷のメトリクスと、異常な台の入れ替え

Route 53 は「どのサイト・どのリージョンに行くか」を決め、ELB は「そのサイトのどの1台に渡すか」を決めます。複数リージョンにまたがる設計はこの記事の範囲を超えますが、その判断の土台は「どの層が何を見ているか」です。

まとめ

  • Route 53 は、ドメイン登録・DNS・ヘルスチェックの3つの役割を持ち、必要なものだけ組み合わせて使えます。
  • レコードはホストゾーンに書きます。インターネット向けはパブリック、VPC の中だけならプライベートです。
  • AWS のリソースを指すならエイリアスレコード。頂点の名前にも置けて、IP が変わっても追いかけてくれます。
  • ルーティングポリシーは「複数の答えの候補から何を返すか」の決め方で、比率・速さ・待機系・場所で選び分けます。
  • 次は、行き先が正常かを数字で見る CloudWatch と、どのポリシーを選ぶかを根拠つきで説明するトレードオフの考え方へ進んでください。

参照ソース

SCOREこの記事の確認テスト

0/3問 正解

各章の「ここまでの確認」に答えると、ここに集まります。結果はこの端末のブラウザにだけ残り、サーバには送りません。

PRACTICEこの記事の論点を練習問題で確かめる

この記事が扱うサービスの問題だけを続けて解けます。練習問題は Google でログインした人が使えます(練習問題の一覧)。

HAND IT OVER人に渡すなら

一言で説明するなら

Route 53 は会社の受付の案内係です。名前を聞かれたら行き先の部屋番号を答え、部屋が閉まっていれば別の部屋を案内し、混み具合に合わせて振り分けます。

前提を持たない人にそのまま渡せる記事です。「後輩に説明する」「顧客に理由を伝える」の材料として。

FAQよくある質問

Route 53 と ELB はどちらか一方でよいのですか?

役割が違うので、多くの構成では両方を使います。Route 53 は名前を聞かれたときに行き先を答える DNS の層で、ELB は届いた通信を複数のサーバーに配る層です。Route 53 のエイリアスレコードで名前を ALB に向け、ALB がターゲットの EC2 に配る、という順に並びます。

ドメインは Route 53 で買わないと使えませんか?

使えます。ほかの登録事業者で買ったドメインでも、Route 53 にパブリックホストゾーンを作り、登録事業者の側でネームサーバーを Route 53 の4つに向ければ、DNS だけを Route 53 に任せられます。逆に Route 53 で買ったドメインを別の DNS サービスで運用することもできます。

Route 53 の料金はどう考えればよいですか?

ホストゾーンの数、問い合わせの数、ヘルスチェックの数、ドメインの登録料が主な課金の単位です。金額は変わることがあるので、公式の料金ページで確認してください。なお AWS のリソースを指すエイリアスレコードへの問い合わせは課金されず、CNAME への問い合わせは課金されると公式ドキュメントに書かれています。

SAME TRACK同じ領域の記事

セキュリティグループとネットワーク ACL の違い|2つの門の仕組み
セキュリティグループとネットワーク ACL の違い|2つの門の仕組み 段1 入口仕組み
VPC とは何か|サブネット・ルートテーブル・ゲートウェイ・セキュリティグループと NACL の関係を1枚で
VPC とは何か|サブネット・ルートテーブル・ゲートウェイ・セキュリティグループと NACL の関係を1枚で 段1 入口とは
VPC でつながらないときの調べ方|Reachability Analyzer とフローログで順に切り分ける
VPC でつながらないときの調べ方|Reachability Analyzer とフローログで順に切り分ける 段2 構成運用