本文へスキップ
BecomeCoder

AWS SAA(ソリューションアーキテクト)コース · 第7章 ネットワークの設計 · レッスン41

Route 53とルーティングポリシー

導入

「同じドメイン名でアクセスされたときに、どのサーバーへ振り分けるか」を制御するのがDNSの役割です。AWSのDNSサービス Route 53 は、単なる名前解決を超えた可用性設計の道具として使われます。

説明

Amazon Route 53 は、フルマネージドのDNSサービスです。SAAで重要なのは、多彩な ルーティングポリシー です。

ポリシー動作
シンプル1つのドメインに1つ(または複数をランダム)のリソースを返す
フェイルオーバープライマリにヘルスチェックを行い、異常時にセカンダリへ自動切り替え
レイテンシーベースユーザーから見て最も低遅延なリージョンへ振り分け
加重(Weighted)設定した比率でトラフィックを振り分ける(例:新バージョンに10%だけ流すカナリアリリース)
位置情報(Geolocation)ユーザーの地理的位置に応じて振り分け(国別コンテンツの出し分けなど)
複数値回答ヘルスチェック付きで複数のIPをランダムに返す(簡易的な負荷分散)

これらの多くは ヘルスチェック と組み合わせて使います。Route 53が定期的にエンドポイントの状態を確認し、異常があれば正常なリソースだけを返すことで、DNSレベルでの高可用性を実現します。

flowchart TD
    User["ユーザー"] --> R53["Route 53"]
    R53 -->|"ヘルスチェックOK"| Primary["プライマリ (東京)"]
    R53 -.->|"プライマリ異常時のみ"| Secondary["セカンダリ (大阪)"]

具体例

グローバルなSaaSの運用チームが、Route 53のポリシーを目的別に使い分けます。

  • 新バージョンを安全に出したい → 加重ルーティング。新環境へ10%、現行へ90%と比率で振り分け、問題なければ徐々に新環境の比率を上げる(カナリアリリース)。事故っても影響は10%に留まる。
  • 東京リージョンが落ちても止めたくない → フェイルオーバールーティング+ヘルスチェック。普段は東京へ案内し、ヘルスチェックが東京の異常を検知したら自動で大阪へ切り替え。ユーザーは同じドメインのまま。
  • 世界中のユーザーに速く届けたい → レイテンシーベース。日本のユーザーは東京、欧州のユーザーはフランクフルトへと、その人にとって最速のリージョンへ。

いずれも背後でヘルスチェックが効き、異常なエンドポイントは返さないのでDNSレベルの高可用性になります。「新バージョンに少しずつ=加重、障害時に自動切替=フェイルオーバー、最も近いリージョン=レイテンシーベース」。設問の“目的の言葉”とポリシー名を対応させれば即答できます。

読んでみよう

「カナリアリリースで新バージョンに少しずつトラフィックを流したい」→ 加重ルーティング。「メインリージョン障害時に別リージョンへ自動切り替えたい」→ フェイルオーバールーティング+ヘルスチェック。「世界中のユーザーに最も近いリージョンへ振り分けたい」→ レイテンシーベース。設問中の「目的の言葉」とポリシー名を対応させて覚えましょう。

次のレッスンへ →