📝

地理的近接性ルーティングってなんだろ?

2021/04/24に公開

AWSのRoute 53のルーティング方法の1つに、地理的近接性ルーティングという方法があります。似たような方法に位置情報ルーティングという方法もあり、違いがよく分からないのですが、ネットにはあまり分かりやすい記事がなかったので自分なりにシンプルな解釈をしてみました。

ルーティングポリシーの選択 - Amazon Route 53

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

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

image.png

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

  • ユーザーの地理的場所、つまり DNS クエリの送信元の場所に基づいて、トラフィックを処理するリソースを選択
  • コンテンツをローカライズし、ウェブサイトの一部またはすべてをユーザーの言語で表示
  • コンテンツの配布を、配布の権利がある場所だけに制限
  • 複数のエンドポイントにわたって負荷を分散
  • 地理的場所は、大陸別、国別、米国の州別に指定
  • 一部を除き位置情報は、IP アドレスを場所にマッピング

これだけではよく分かりません。どちらもユーザーがいる場所によってルーティングされるリソースが変わると解釈できます。

20191105 AWS Black Belt Online Seminar Amazon Route 53 Hosted Zone

物理的近接性

image.png

位置情報

image.png

シンプルに解釈する

コンソールを使用した地理的近接性ルーティングの設定では、

ユーザーとリソースの間の物理的な距離に基づいてトラフィックをルーティングする

と記載されているので、シンプルに考えてみます。

Aさんは日本にいます。
アプリは世界中にサーバーがあります。
Aさんから一番近いサーバーは東京なので、自動的に東京にルーティングします。

単純にユーザーが今いる場所から一番近いリソースにルーティングします。

位置情報ルーティングもシンプルに考えてみます。

Aさんは日本にいます。
Bさんはアメリカにいます。
アプリでは日本からのリクエストには日本語のページ、アメリカからのリクエストには英語のページを返したいです。
だから、日本からのリクエストは日本のサーバー、アメリカからのリクエストはアメリカのサーバーにルーティングします。
これにより、Aさんには日本語のページ、Bさんには英語のページが返されます。

大陸、国、州ごとに処理するサーバーを選択し、特定の国からのみのアクセスに限定したり、特定の言語で返すことができるようになります。

決定的な違いはわからない

結局地理的近接性でも位置情報と同じことができる気がしました。
例えば、バイアスで大陸、国、州を指定できるぐらいに値を調整して、その位置にいるユーザーは特定のサーバーに飛ばして、サーバーから特定のページを返すようにすれば位置情報ルーティングと同じことができそうだと思いました。

ただ、仕様を理解していないので、そもそもバイアスでそんな細かい調整ができるのかなどは不明です。また、細かい調整するのは現実的ではなさそうなので、位置情報を使った方が早いのかもしれません。

まとめ

今回は地理的近接性ルーティングについて調べてみました。
以下がポイントでした。

  • 地理的近接性はユーザーから一番近いリソースにルーティング
  • 位置情報は大陸、国、州ごとに別々のサーバーにルーティング

解釈や内容に誤りがあればご指摘頂ければ幸いです。

Discussion