【AWS】Route53のルーティングポリシーまとめ

AWSのRoute53にはクエリに応答する方法を決定するルーティングポリシーを設定できるようで、この部分詳しくなかったので調べてみました。ぼくの調べた限りでの理解なのでもしかしたら一部間違っている部分もあるかもしれませんがあしからず。。

シンプルルーティングポリシー

ドメインで特定の機能を実行する単一のリソースがある場合に使用します。たとえば、sashihara.jpというWEBサイトにコンテンツを提供する1つのEC2インスタンスやCloudFrontなどです。シンプルルーティングでは、通常、1つのリソースにトラフィックをルーティングします。同一レコードに複数のIPアドレスなどの値を指定することはできます。

いわゆるデフォルトの普通の使い方です。

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

フェイルオーバーのルーティングにより、リソースが正常な場合にリソースにトラフィックをルーティングできます。また、最初のリソースが正常でない場合は別のリソースにルーティングできます。 フェイルオーバーには2種類あります。

フェイルオーバー (アクティブ/アクティブ)

アクティブ/アクティブはフェイルオーバーではありますが、フェイルオーバールーティングポリシー以外を選んだ場合に、複数のリソースを指定していると、どのリソースにも分散するするため実質アクティブ/アクティブなルーティングとなります。

フェイルオーバー (アクティブ/パッシブ)

アクティブ/パッシブはフェイルオーバールーティングを選択した場合に有効となり、すべてのプライマリリソースが使用できなくなった場合に備えて、セカンダリリソースまたはリソースグループをスタンバイ状態にする設定です。通常時はプライマリーリソースにしかリクエストが渡りません。

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

位置情報ルーティングでは、ユーザーの地理的場所、つまり DNS クエリの送信元の場所に基づいて、トラフィックを処理するリソースを選択できます。地理的場所は、大陸別、国別、米国の州別に指定できます。

使い方としては、ドイツ在住の人にはドイツ語のコンテンツを表示したい場合などに使えるのと、負荷分散的な意味合いでも使えそうです。大陸と国の両方で設定した場合は、小さい方が優先されるようで、北米とカナダという2つの設定を同時に使った場合、カナダからのリクエストはカナダで設定した方へ、カナダ以外の北米の国は北米の方へリクエストが渡るようです。

また、位置情報はIPで判定しているようで、識別できなかった場合のデフォルトの位置情報レコードを設定することができます。

地理的近接性ルーティングポリシー

地理的近接性ルーティングでは、Amazon Route 53 はユーザーとリソースの地理的場所に基づいてリソースのトラフィックをルーティングします。また、必要に応じて特定のリソースにルーティングするトラフィックの量を変更できます。それには、バイアスという値を指定します。バイアスは、リソースにルーティングされるトラフィックのルーティング元である地理的リージョンのサイズを拡大または縮小します。

レイテンシールーティングポリシー

複数の AWSリージョンでアプリケーションがホストされている場合、ネットワークレイテンシーが最も低いAWS リージョンに基づいてリクエストを処理することで、ユーザーのパフォーマンスを向上させることができます。

とは言え、レイテンシが一番低いリージョンを探している時間があったらリクエスト配信しろよと思うところですが、そこはレイテンシーベースのルーティングは一定期間中に実行されたレイテンシーの測定値に基づいており、これらの測定値はレイテンシーの変化を反映しているようです。つまり、今週オレゴンリージョンにルーティングされたリクエストは、次の週にはシンガポールリージョンにルーティングされる場合があるということです。

複数値回答ルーティングポリシー

複数値回答ルーティングにより、Amazon Route 53 が DNS クエリに対する応答として複数の値 (ウェブサーバーの IP アドレスなど) を返すように設定できます。ほとんどすべてのレコードに複数値を指定できますが、複数値回答ルーティングは各リソースが正常かどうかも確認するため、Route 53 は正常なリソースの値のみを返します。これはロードバランサ―に置き換わるものではありませんが、正常であることが確認できる複数の IP アドレスを返す機能により、DNS を使用してアベイラビリティーとロードバランシングを向上させることができます。

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

加重ルーティングにより、単一のドメイン名 (example.com) またはサブドメイン名 (acme.example.com) に複数のリソースを関連付け、各リソースにルーティングされるトラフィックの数を選択できます。これは負荷分散や新しいバージョンのソフトウェアのテストなど、さまざまな目的に有用です。