Amazon Route 53

高可用性のドメインネームシステム (DNS) サービスで、ドメイン登録、DNS ルーティング、ヘルスチェックを統合的に提供する

概要

Amazon Route 53 は、高い可用性と拡張性を備えたクラウド DNS サービスです。ドメイン名の登録、DNS レコードの管理、トラフィックルーティング、エンドポイントのヘルスチェックを統合的に提供します。100% の可用性 SLA を持つ数少ない AWS サービスの 1 つで、世界中に分散した DNS サーバーネットワークにより、低レイテンシの名前解決を実現しています。シンプルルーティング、加重ルーティング、レイテンシベースルーティング、フェイルオーバールーティング、地理的近接性ルーティング、マルチバリュールーティングなど、多彩なルーティングポリシーを提供し、トラフィックの分散や災害復旧の構成を柔軟に設計できます。エイリアスレコードは AWS 独自の機能で、CloudFront、ELB、S3 などの AWS リソースを Zone Apex (ネイキッドドメイン) に直接マッピングできます。

エイリアスレコードと Zone Apex の扱い

Route 53 のエイリアスレコードは、DNS の仕様上 CNAME を設定できない Zone Apex (ネイキッドドメイン、例: example.com) に AWS リソースを直接マッピングできる独自機能です。CloudFront ディストリビューション、ALB、S3 静的ウェブサイトホスティングなどをエイリアスの対象に指定でき、DNS クエリ料金も無料になります。Azure DNS にはこの仕組みがないため、Zone Apex に対しては Azure Traffic Manager や Azure Front Door を別途組み合わせる必要があります。エイリアスレコードは CNAME と異なり、DNS 応答に中間の CNAME チェーンが含まれないため、名前解決のレイテンシも短縮されます。Route 53 が 100% の可用性 SLA を提供できる背景には、世界中に分散した DNS サーバーネットワークと、エニーキャストルーティングによるクエリの自動分散があります。

ルーティングポリシーの組み合わせ戦略

Route 53 は 7 種類のルーティングポリシーを提供しており、これらを組み合わせることで高度なトラフィック制御を実現します。加重ルーティングは新バージョンに 10% だけトラフィックを流すカナリアリリースに有効です。レイテンシベースルーティングはユーザーに最も近いリージョンのリソースへ誘導し、グローバルアプリケーションの応答時間を最適化します。フェイルオーバールーティングはヘルスチェックと連動し、プライマリリソースの障害時にセカンダリへ自動切り替えします。地理的位置ルーティングはユーザーの所在国に基づいてトラフィックを制御し、データ主権やコンテンツのローカライゼーション要件に対応します。これらのポリシーはネストして使えるため、たとえば「レイテンシベースで最寄りリージョンを選び、リージョン内では加重ルーティングでカナリアデプロイする」といった多段構成が可能です。DNS 設計の専門書 (Amazon) では、ルーティングポリシーの実践的な組み合わせパターンが解説されています。

ヘルスチェックと障害検知の仕組み

Route 53 のヘルスチェックは、エンドポイントの可用性を世界中のチェッカーから定期的に監視し、異常を検知するとルーティングポリシーに基づいてトラフィックを自動的に切り替えます。HTTP / HTTPS / TCP の 3 種類のプロトコルに対応し、HTTP/HTTPS チェックでは応答本文の文字列マッチングも設定できます。チェック間隔は標準 30 秒、高速オプションで 10 秒に短縮可能です。CloudWatch アラームの状態をヘルスチェックの判定に連動させる「計算されたヘルスチェック」を使えば、CPU 使用率やエラーレートなどアプリケーション固有のメトリクスに基づく切り替えも実現します。フェイルオーバー構成では、プライマリとセカンダリの両方にヘルスチェックを設定し、プライマリが異常になった場合にのみセカンダリへルーティングします。ヘルスチェックの結果は CloudWatch メトリクスとして公開されるため、SNS 通知と組み合わせて障害の即時検知体制を構築できます。

共有するXB!