初めに
AWSのRoute53を勉強してる際に、地理的近接性ルーティング、位置情報ルーティングという似たようなルーティングポリシーが出てきたのでまとめました。
地理的近接性ルーティングと位置情報ルーティングの違い
例えば日本とアメリカにサーバーが存在するとしましょう。
その場合、それぞれのルーティング方法では以下のような違いがあります。
位置情報ルーティング
ユーザーの地域によってルーティング先を設定します。
下の図でいうと
- 日本のユーザー(日本語圏)は日本のサーバーへ
- アメリカ、オーストラリア、南アメリカなどのユーザー(英語圏)はアメリカのサーバーへ
というようなルーティングを設定することができます。
オーストラリアはアメリカより日本の方が近いですが、地理的近接性ルーティングを使うことで英語のサーバーへ接続させることが可能です。
地理的近接性ルーティング
簡単にいうと、ユーザーの「地域」に一番近いルーティング先にルーティングします。
具体的には、「地域」の範囲をバイアスという値を用いて制御します。
どういうことかというと、極端な例ですが
バイアスが1:1では
赤の範囲(サーバーAへルーティングされる範囲)
青の範囲(サーバーBへルーティングされる範囲)
ユーザーはAのサーバーへルーティングされます。
次に、バイアスを1:5にすると
Bへの青いルーティング範囲が広がり、ユーザーはBのサーバーへルーティングされるようになります。
ユースケース
では結局どのようなユースケースが考えられるのか
- 位置情報ルーティング
-言語によって表示するページを切り替える時- 特定の国からのみアクセスさせたい時
- 地理的近接性ルーティング
- ユーザーのルーティング先を地理的に振り分けたい時
まとめ
正直なところ、地理的近接性ルーティングを使うタイミングというのがよく分かりません。
AWSの公式ドキュメントを見ている限り、バイアスの値で変更される地理的距離の計算などかなり複雑そうです。
バイアスの値で変更される地理的距離の計算などが面倒であれば、レイテンシーポリシーを用いればよいのではないか?とも思いました。