ある企業が AWS 上でマルチリージョンのアクティブ-アクティブ Webアプリケーションを構築しており、どちらのリージョンのユーザーも最小のレイテンシーでアクセスできるよう設計しています。ユーザーのリクエストは常に最も近い AWS リージョンに転送し、一方のリージョンが完全に障害になった場合は自動的にもう一方のリージョンにフェイルオーバーする必要があります。最も適切なグローバルルーティング設計はどれですか?
- A. 各リージョンの IP アドレスをハードコードし、ユーザーが手動でリージョンを選択できる UI を提供する
- B. Route 53 のレイテンシーベースルーティングポリシーで各リージョン(us-east-1、eu-west-1)の ALB/API Gateway に Alias レコードを設定し、ヘルスチェックを各エンドポイントに設定する。ヘルスチェックが失敗したリージョンは自動的にルーティングから除外され、正常なリージョンにフェイルオーバーする
- C. Route 53 のシンプルルーティングで単一のエンドポイントに全トラフィックを転送する
- D. CloudFront のオリジングループを設定し、プライマリオリジンが失敗した場合にセカンダリオリジンに自動フェイルオーバーする
解答と解説を見る
正解: B
Route 53 のレイテンシーベースルーティングは、DNS クエリの発信元から各リージョンへのレイテンシーを測定し、最も低レイテンシーのリージョンに自動転送します。ヘルスチェックを組み合わせると、障害リージョンは DNS 応答から自動除外され、正常なリージョンにフェイルオーバーします。TTL を短く(30〜60秒)設定することで障害時の切り替え時間を短縮できます。 C: シンプルルーティングは単一エンドポイントのみで、マルチリージョンへのルーティングやフェイルオーバーに対応していません。 D: CloudFront のオリジングループフェイルオーバーは有効ですが、CloudFront はコンテンツキャッシュが主目的であり、動的 API のマルチリージョン分散にはRoute 53 レイテンシーベースルーティングの方が直接的です。 A: ハードコードされた IP と手動リージョン選択は自動フェイルオーバーに対応しておらず、ユーザー体験も低下します。
📚 関連サービスの解説: Amazon Route 53 ・ Elastic Load Balancing(ELB)