Jayendra’s Blog

この記事は自己学習用に「AWS Certification – AWS Route 53 Routing Policy(Jayendra’s Blogより)」を日本語に訳した記事です。


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

AWS Route 53 ルーティングポリシーは、AWS が DNS クエリにどのように応答するかを決定し、複数のルーティングポリシーオプションを提供します。

単純なルーティングポリシー

  • 単純なルーティングポリシーは単純なラウンドロビンポリシーであり、WEB サイトのコンテンツを提供するウェブサーバーなどのドメインの機能を1つのリソースで実行している場合に適用できます。
  • AWS ルート53は、A レコードの IP アドレスなどのリソースレコードセットの値に基づいて DNS クエリに応答します。

加重ルーティングポリシー

  • 重み付けされたルーティングポリシーにより、Route 53は、パイロットリリース中に、たとえば1つのサーバで75%、他のサーバで25%の割合で指定された割合(重み)で異なるリソースにトラフィックをルーティングできます。
  • 重みには 0 ~ 255 の任意の数を割り当てることができます。
  • 同じサイトを提供するウェブなど、同じ機能を実行する複数のリソースがある場合は、重み付けルーティングポリシーを適用できます。
  • 加重リソースレコードセットを使用すると、複数のリソースを単一の DNS 名に関連付けることができる。
  • 一般的な使用例としては、
    • 負荷分散
    • A/B ソフトウェアの新しいバージョンのテストとパイロット
  • 加重リソースレコードセットのグループを作成するには、DNS 名と種類の同じ組み合わせを持つ2つ以上のリソースレコードセットを作成し、各リソースレコードセットに一意の識別子と相対的な重みを割り当てます。
  • DNS クエリを処理するとき、Route 53は、指定された名前と型を持つリソースレコードセットまたはリソースレコードセットのグループを検索します。
  • Route はグループから1つを選択します。選択される1つのリソースレコードセットの確率は、グループ内のすべてのリソースレコードセットの総重量の割合として、その重みによって異なります。たとえば、重みが 1 (20%)、1 (20%)、3 (60%) (sum = 5) の3つのリソースレコードセットが www.example.com にあるとします。平均して、Route 53は、最初の2つのリソースレコードセットのそれぞれを時間の5分の1に選択し、その3分の5の第3のリソースレコードセットを返す。

レイテンシベースのルーティング (LBR) ポリシー

  • レイテンシベースのルーティングポリシーにより、Route 53は、どのデータセンターがユーザーに最も低いネットワーク待ち時間を与えるかに基づいて、DNS クエリに応答できます。
  • レイテンシベースのルーティングポリシーは、同じ機能を実行する複数のリソースがあり、最短の待ち時間で最速の応答を提供するリソースで DNS クエリに応答するように Route 53 を構成する必要がある場合に使用できます。
  • レイテンシリソースレコードセットは、アプリケーションをホストする各リージョンの EC2 リソースに対して作成できます。Route 53は、対応するドメインのクエリを受信するときに、ユーザーに最も低い待ち時間を与える EC2 領域のレイテンシリソースレコードセットを選択します。次に、Route 53は、そのリソースレコードセットに関連付けられた値を使用して応答しますたとえば、アイルランドおよび東京の EC2 データセンターに example.com 用の web サーバーがある場合があります。ユーザーがシンガポールから example.com を参照すると、Route 53は、ユーザーの場所から最も低い待ち時間を持つデータセンター (東京) をピックアップします。
  • インターネット上のホスト間の待ち時間は、ネットワーク接続とルーティングの変更の結果として、時間の経過と共に変化します。レイテンシベースのルーティングは、一定期間にわたって実行される待ち時間の測定に基づいている。たとえば、シンガポールのユーザーからアイルランドへの待ち時間が改善された場合、ユーザーはアイルランドにルーティングすることができます。
  • レイテンシベースルーティングでは、コンプライアンス上の理由により、同じ地域のユーザーが同じ場所から配信されることを保証することはできません。
  • レイテンシリソースレコードセットは、NS または SOA 以外のルート53がサポートする任意のレコードの種類を使用して作成できます。

フェールオーバールーティングポリシー

  • フェールオーバールーティングポリシーを使用すると、1つのリソースが利用可能なときにすべてのトラフィックを受け取り、他のリソースが最初のリソースが使用できないときにすべてのトラフィックを取得する、アクティブ/パッシブのフェールオーバー構成が可能になります。
  • Route 53ヘルスチェックエージェントは、アプリケーションの各ロケーション/エンドポイントを監視して、可用性を決定します。
  • フェールオーバールーティングポリシーは、パブリックホストゾーンにのみ適用可能。

位置情報ルーティングポリシー

  • 位置情報ルーティングポリシーにより、Route 53は、DNS クエリの発生元となるユーザーの地理的位置に基づいて、DNS クエリに応答することができます。
  • 一般的な使用例としては、
    • コンテンツのローカリゼーションとユーザー言語でのウェブサイトの一部または全部の提示。
    • 配布権を持っている場所のみにコンテンツの配布を制限します。
    • 各ユーザーの場所が一貫して同じエンドポイントにルーティングされるように、予測可能で管理しやすい方法でエンドポイント間で負荷を分散します。
  • 位置情報ルーティングポリシーでは、地理的位置を大陸、国、または州別に指定できます (米国のみ)。
  • 位置情報レコードセットが作成された場合、例えば、同じ大陸内の国については、優先順位が最も小さい地理的地域に移動します。これにより、大陸があるリソースに照会され、その大陸の選択された国に対して別のリソースが照会されます。
  • 位置情報は、正確な地理的位置にマップされない可能性がある場所に IP アドレスをマッピングすることによって機能します。
  • これらのクエリおよび明示的なレコードセットが作成されていないものも処理するために、既定のリソースレコードセットを作成できます。
  • Route 53は、既定のリソースレコードセットが作成されていない場合に、それらの場所からのクエリに対して “応答なし” を返します。
  • 同じ地理的位置を指定する2つの地理位置情報リソースレコードセットを作成できません。
  • Route 53は、EDNS0のedns-client-subnet拡張をサポートしています(EDNS0は、DNSプロトコルにいくつかのオプションの拡張を追加しています)。位置情報ルーティングの精度を向上させます。

AWS認定試験の練習問題

  • 質問はインターネットから収集され、答えは自分の知識と理解に基づいてマークされます(これはあなたと異なる場合があります)。
  • AWSサービスは毎日更新され、回答と質問はすぐに時代遅れになる可能性がありますので、それに応じて調査してください。
  • AWSのアップデートのペースを追うためにAWS試験の質問は更新されないため、基礎となる機能が変更されても質問が更新されないことがあります。
  • さらなるフィードバック、ディスカッション、修正を可能にします。
  1. ドメイン名 example.com の下に、複数の AWS リージョンにまたがるグローバルオーディエンスを対象とした web アプリケーションをデプロイしました。ユーザーに最も近い領域からユーザーに web 要求を提供するために、Route 53のレイテンシーベースのルーティングを使用することにしました。サーバーのダウンタイムが発生した場合にビジネス継続性を提供するには、リージョンごとに別々のアベイラビリティーゾーンにある2つの web サーバーに関連付けられた加重レコードセットを構成します。DRテスト中、いずれかのリージョンのすべてのWebサーバーを無効にすると、Route 53は自動的にすべてのユーザーを他のリージョンに誘導しません。 何が起きているのでしょうか? (2つの回答を選択)
    1. レイテンシリソースレコードセットは、加重リソースレコードセットと組み合わせて使用することはできません。
    2. 無効になっている web サーバーに関連付けられている1つ以上の加重リソースレコードセットの http ヘルスチェックをセットアップしませんでした。
    3. 無効になっているサーバーの領域で設定されているレイテンシエイリアスリソースレコードに関連付けられているウェイトの値が、他のリージョンのウェイトよりも高くなっています。
    4. 他のリージョンの2つの作業中の web サーバーのうちの1つが http ヘルスチェックに合格しませんでした。
    5. サーバーを無効にしたリージョンの example.com に関連付けられた遅延エイリアスリソースレコードセットの “ターゲットの正常性の評価” を “Yes” に設定しませんでした。
  2. 国籍組織内のコンプライアンス部門では、欧州連合 (EU) に居住しているお客様のすべてのデータが EU を離れていないこと、また米国に居住するお客様のデータが明示的な承認なしに米国を離れないようにする必要があります。EC2 で実行されている WEB ベースのプロファイル管理アプリケーションのこの要件に準拠するには、どのようなことが必要ですか。
    1. 単一リージョンの複数の AWS アベイラビリティーゾーンで EC2 インスタンスを実行し、セッションのスティッキー機能があるエラスティックロードバランサーを利用して、トラフィックを適切なゾーンにルーティングしてプロファイルを作成します (2 つの異なるリージョン (米国およびヨーロッパにある必要があります)
    2. 複数のリージョンで EC2 インスタンスを実行し、Route 53 のレイテンシベースのルーティング機能を利用して、トラフィックを適切なリージョンにルーティングしてプロファイルを作成します (レイテンシベースのルーティングポリシーでは、コンプライアンス要件は保証されません)
    3. 複数のリージョンで EC2 インスタンスを実行し、サードパーティのデータプロバイダを活用して、ユーザーがプロファイルを作成するために適切なリージョンにリダイレクトする必要があるかどうかを判断します。
    4. 1つのリージョンの複数の AWS アベイラビリティーゾーンで EC2 インスタンスを実行し、サードパーティのデータプロバイダを利用して、ユーザーが自分のプロファイルを作成するために適切なゾーンにリダイレクトする必要があるかどうかを判断します (2 つのリージョン (米国およびヨーロッパ))
  3. 米国を拠点とする企業は、web プレゼンスをヨーロッパに拡大しています。同社は、北バージニア州 (米国-東-1) からダブリン (eu-西-1) 地域に彼らの AWS インフラストラクチャを拡張したいと考えています。次のどちらのオプションを使用すると、両方の大陸のユーザーに対して同等のエクスペリエンスを実現できますか。
    1. web トラフィックの負荷分散には、リージョンごとにパブリックに対応するロードバランサーを使用し、HTTP ヘルスチェックを有効にします。
    2. 領域ごとにパブリックに対応するロードバランサーを使用して、web トラフィックを負荷分散し、スティッキーセッションを有効にします。
    3. Amazon Route 53 を使用し、位置情報ルーティングポリシーを適用して、両方のリージョン間でトラフィックを分散する。
    4. Amazon Route 53 を使用し、加重ルーティングポリシーを適用して、両方のリージョン間でトラフィックを分散します。
  4. トラフィックの制御部分が代替領域によって処理されている web 向けアプリケーションのマルチリージョン展開を提案するように求められました。どの構成がその目標を達成するか。
    1. 加重ルーティングポリシーを使用した Route 53 レコードセット
    2. レイテンシベースのルーティングポリシーを使用した Route 53レコードセット
    3. スケジュールされたスケーリングアクションセットによる自動スケーリング
    4. ヘルスチェックを有効にしたエラスティック負荷分散
  5. あなたの会社は、各ページにロードされた小さなトラッキングイメージを持つ web ページのユーザーを追跡に向けて動いている。現在、あなたは私たちのこのイメージを提供している-東、しかし、それは西海岸のユーザーのためのイメージをロードするのにかかる時間を心配し始めている。何がこのイメージを提供するスピードアップするための2つの最良の方法は何ですか?2つの回答を選択
    1. Route 53 の レイテンシーベースルーティングを使用して、us-west-2からus-east-1からイメージを配信します
    2. CloudFront を介してイメージを提供する
    3. S3 からイメージを提供して、web アプリケーション層が提供されないようにする
    4. EBS PIOPs を使用して、EC2 インスタンスからイメージを高速に提供する
  6. お客様の API では、AWS リージョンの障害時にオンライン状態を維持することができます。あなたの API は、任意の状態を格納しない、それだけで他のソースからのデータを集約-あなたは、データベースを持っていない。このアップタイム目標を達成するためのシンプルで効果的な方法は何ですか?
    1. CloudFront ディストリビューションを使用して API を提供します。API のリージョンがダウンしても、CloudFront が使用するエッジロケーションは正常です。
    2. ELB とクロスゾーン ELB 展開を使用して、データセンター間で冗長性を作成します。リージョンがダウンしても、他の AZ はオンライン状態になります。
    3. Route 53 加重ラウンドロビンレコードを作成し、1つのリージョンがダウンした場合は、そのリージョンを他のリージョンにリダイレクトします。
      1, フェイルオーバーを使用して Route 53 レイテンシベースのルーティングレコードを作成し、2つの異なるリージョンでステートレス API の2つの同一デプロイメントをポイントします。両方のリージョンがエルの後ろに自動スケーリンググループを使用していることを確認します。(リンク参照)

リファレンス

AWS User Guide – Route_53_Routing_Policy