ホーム 高可用性・ディザスタリカバリ

Route 53 フェイルオーバールーティング設計

Route 53 のフェイルオーバー、加重、レイテンシ、地理、複数値回答ルーティングポリシー、ヘルスチェック、DR への適用を SAA 基礎から SAP 高度設計まで解説。

最終更新: 2026-07-27 カテゴリ: 高可用性・ディザスタリカバリ

Amazon Route 53 は AWS の DNS サービス で、複数のルーティングポリシーを提供します。 フェイルオーバールーティングは DR / 高可用性設計の中核です。 本記事では Route 53 のルーティングポリシーと DR 設計を SAA / SAP 両面から整理します。

SAA レベル:基礎概念

Route 53 の 6 つのルーティングポリシー

Route 53 は 6 つのルーティングポリシー を提供します。この分類は SAA の超頻出です。

ポリシー説明ユースケース
シンプル (Simple)単一リソースへルーティング単純な DNS 解決
加重 (Weighted)重み付きで複数リソースに分散カナリアリリース、A/B テスト
レイテンシ (Latency)最小レイテンシのリージョンへグローバルパフォーマンス最適化
フェイルオーバー (Failover)プライマリ異常でセカンダリへDR / 高可用性
地理位置 (Geolocation)ユーザーの地理でルーティングデータ主権、地域別コンテンツ
複数値回答 (Multivalue Answer)複数 IP をランダム返却簡易ロードバランシング

SAA レベル:基礎概念

Route 53 の 6 つのルーティングポリシーを一言で:

  • シンプル: 1 つへ
  • 加重: 重みで複数へ
  • レイテンシ: 最速リージョンへ
  • フェイルオーバー: 障害時に切り替え
  • 地理位置: 国/地域で切替
  • 複数値回答: 複数 IP をランダムに この分類と用途が SAA の基礎です。

フェイルオーバールーティングの基本

フェイルオーバールーティングは プライマリ異常でセカンダリへ DNS 切替 します。

Route 53: example.com
  ├── プライマリレコード (東京 ALB)
  │     ヘルスチェック: 東京 ALB を監視
  │     → Green ならプライマリを返す

  └── セカンダリレコード (バージニア ALB)
        → プライマリ異常時にセカンダリを返す

SAA 試験のポイント

フェイルオーバールーティングは 「プライマリのヘルスチェックが連続 N 回失敗したらセカンダリへ切替」 です。 ヘルスチェックは 必須 で、これが無いとフェイルオーバーできません。 SAA では「DR の DNS 切替」= フェイルオーバールーティング、が定番の正解です。

ヘルスチェック (Health Check)

Route 53 のヘルスチェックは エンドポイントの死活を監視 します。

  • 監視対象: 外部エンドポイント、CloudWatch アラーム、他のヘルスチェック
  • 監視間隔: 10 秒 or 30 秒
  • 失敗閾値: 連続 N 回失敗で異常と判定
  • 監視ロケーション: 全球の Route 53 チェッカーから監視

SAA 頻出

ヘルスチェックの閾値設計 は SAA で頻出です。

  • 「連続 3 回失敗で異常」: 誤検知少ないが、検知に時間がかかる
  • 「連続 1 回失敗で異常」: 検知速いが、一時的なネットワーク問題で誤切替リスク SAA では「連続 N 回」のトレードオフが問われます。

加重ルーティングの応用

加重ルーティングは 重み付きで複数リソースに分散 します。

  • カナリアリリース: 新バージョンに 5% だけ流す
  • A/B テスト: 2 つのバージョンを 50/50 で比較
  • 段階的移行: 旧 → 新へ重みを徐々に移行
example.com
  ├── 旧 ALB (重み 90)
  └── 新 ALB (重み 10)
  → 90% が旧、10% が新にルーティング

SAP レベル:高度な設計シナリオ

フェイルオーバー + 加重の組み合わせ

SAP では 複数のルーティングポリシーを組み合わせる 設計が求められます。

SAP レベル:高度な設計シナリオ

SAP の DR 設計定石は 「フェイルオーバー + 加重」の組み合わせ です。

  • 平時: 加重で 80% プライマリ / 20% セカンダリ(両方アクティブ)
  • 障害時: ヘルスチェックでプライマリを除外、全トラフィックがセカンダリへ これで「マルチサイト (アクティブ・アクティブ)」を実現しつつ、段階移行も可能。
example.com (加重 + フェイルオーバー)
  ├── プライマリレコード (重み 80, ヘルスチェック付き)
  └── セカンダリレコード (重み 20, ヘルスチェック付き)
  → 平時: 80/20 で分散
  → プライマリ異常: 全トラフィックがセカンダリへ

レイテンシルーティングによるグローバル最適化

レイテンシルーティングユーザーから最も低レイテンシのリージョンへ誘導 します。

[ユーザー (東京)]
  ↓ Route 53 (レイテンシ評価)
  ├── 東京リージョン (レイテンシ 10ms) ← 選択
  ├── バージニアリージョン (150ms)
  └── シンガポールリージョン (50ms)
  • グローバルパフォーマンス最適化: ユーザー体験向上
  • マルチリージョン展開: 各リージョンのアプリがローカルユーザーにサービス
  • データ同期: アプリ層でデータレプリケーション設計が必須

レイテンシルーティングの前提

レイテンシルーティングは 「各リージョンに同じアプリが稼働」 が前提です。 DB は Aurora Global DB / DynamoDB Global Tables で同期が必要。 SAP では「レイテンシルーティング + マルチリージョン DB 同期」のセット設計が論点です。

地理位置ルーティング

地理位置ルーティングユーザーの国/地域でルーティング先を決定 します。

ユーザー国ルーティング先ユースケース
日本東京リージョン日本向けコンテンツ
EUアイルランドリージョンGDPR 準拠 (EU データ保持)
米国バージニアリージョン米国法規制対応

地理ルーティングとデータ主権

データ主権要件(GDPR 等)がある場合、地理ルーティングで「EU ユーザーは EU リージョンへ」 を強制できます。 これをしないと EU ユーザーデータが米国リージョンに保存され規制違反リスク。 SAP では「地理ルーティング = データ主権の実現手段」として頻出します。

複数値回答ルーティング

複数値回答複数の IP をランダムに返却 します。

  • 簡易ロードバランシング: ELB を使わずに複数 EC2 へ分散
  • ヘルスチェック付き: 異常 IP は返却から除外
  • ELB との違い: ELB ほど高機能ではない(スティッキーセッション等は不可)

複数値回答 vs ELB

「ELB の方がロードバランシングとして高機能 で、複数値回答は簡易版です。 複数値回答は「ELB を置けない特殊ケース」や「コスト最小化」向け。 SAP では「ELB が使えるなら ELB を推奨、複数値回答は簡易用途」と判断します。

トラフィックフロー (Traffic Flow)

Route 53 Traffic Flow は複雑なルーティングを 視覚的に設計 する機能です。

  • グラフィカルエディタ: ドラッグ&ドロップでルーティング設計
  • 複数ポリシーの組み合わせ: 加重 + レイテンシ + フェイルオーバー等
  • バージョン管理: ルーティング設定の変更履歴管理
  • 大規模環境向け: 数十のエンドポイントを管理

Traffic Flow の活用場面

「複数リージョン + 加重 + フェイルオーバー」等の複雑なルーティングは、 Traffic Flow で視覚的に設計 しないと管理が困難です。 SAP ではグローバル展開アプリで Traffic Flow の活用が論点です。

DNS キャッシュとフェイルオーバー遅延

DNS フェイルオーバーの 最大の敵は DNS キャッシュ です。

要因影響対策
TTLクライアントが古い IP をキャッシュTTL を短く (60 秒以下)
リゾルバキャッシュISP の DNS サーバーがキャッシュTTL 値の尊重設定
アプリの DNS キャッシュアプリが IP をキャッシュTTL を尊重する実装

DNS キャッシュの落とし穴

TTL を長く設定するとフェイルオーバーが遅延 します。 TTL = 1 時間だと、フェイルオーバー後も最長 1 時間は古い IP にアクセスし続ける。 SAP では「DR 用 DNS は TTL 60 秒以下」が定石です。

ヘルスチェックの高度な設計

SAP では ヘルスチェックの設計 がフェイルオーバー精度を決定づけます。

設計要素推奨理由
監視対象ELB ヘルスチェックエンドポイントアプリ実状を反映
監視間隔10 秒高速検知
失敗閾値連続 3 回誤検知と検知速度のバランス
文字列マッチHTTP レスポンスの特定文字列アプリ論理死を検知
計算ヘルスチェック複数ヘルスチェックの AND/OR複合条件での判定

計算ヘルスチェックの活用

計算ヘルスチェック (Calculated Health Check) で「DB ヘルスチェック AND アプ ヘルスチェック」 等の複合条件を定義できます。DB は生きているがアプリが死んでいるケースも検知可能。 SAP では「単純な TCP チェックよりアプリ論理レベルのチェック」が推奨されます。

CloudFront と Route 53 の連携

CloudFront + Route 53 でグローバル DR を設計します。

Route 53: example.com
  ├── プライマリ: CloudFront (プライマリオリージnl: 東京 ALB)
  └── セカンダリ: CloudFront (セカンダリオリジン: バージニア ALB)
  • CloudFront がフェイルオーバー: オリジン障害でセカンダリオリジンへ
  • Route 53 がフェイルオーバー: CloudFront 自体の障害で別 CloudFront へ
  • 多層フェイルオーバー: CloudFront レベル + Route 53 レベル

SAP レベル:高度な設計シナリオ

SAP のグローバル DR 完成形は 「CloudFront オリジンフェイルオーバー + Route 53 フェイルオーバー」の多層化 です。 CloudFront でオリジンレベルの切替を高速化し、Route 53 でリージョンレベルの切替をバックアップ。 この多層構造で RTO を秒単位にできます。

制約と考慮事項

項目制約 / 注意
ヘルスチェック監視間隔10 秒 or 30 秒
TTL の下限60 秒推奨(フェイルオーバー高速化)
レイテンシルーティング各リージョンにアプリ必須
地理ルーティングGeo-IP データベース依存
複数値回答最大 8 つの IP を返却

まとめ

  • SAA: Route 53 の 6 つのルーティングポリシー、フェイルオーバーにはヘルスチェック必須、 TTL とフェイルオーバー遅延の関係を理解する。
  • SAP: 複数ポリシーの組み合わせ、レイテンシ / 地理ルーティングでのグローバル最適化、 ヘルスチェック高度設計、CloudFront との多層フェイルオーバーが求められる。

次は AWS Backup で、統合バックアップ管理の設計を学びましょう。

スポンサーリンク(広告枠) 728×90