本文へスキップ
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["セカンダリ (大阪)"]

読んでみよう

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