【Route53】位置情報ルールと地理的近似性を完全に理解した【ルーティングポリシー】
AWSの中でのDNSサービスと言えばRoute53ですね。AWS上でサイトを公開しているのであればほぼ間違いなく利用しているでしょう。
このRoute53についてSAAの勉強をしていくなかで理解が難しいものがありましたが、解説サイトを見ても説明が間違っていそうなものばかりだったので整理しなおしました。
Route53とは
AWS上でドメインネームシステム (DNS) を管理するフルマネージドサービスです。ドメイン登録、DNS ルーティング、ヘルスチェックの 3 つの主要な機能が利用できます。
Route53のSLAはなんと100%(とするために商業的に合理的な努力をする)になっています。障害で止まることがないシステムなんて考えられませんね。さすがAmazonです。
もちろん例外はありますので詳しくはAWSのサイトをご覧ください。
ルーティングポリシーとは
負荷分散やDR対応などの観点で、複数のリージョンでサービスを展開させている場合など「適切なリソースにトラフィックをルーティングしたい」ことがあります。
これを実現するのがルーティングポリシーです。
Route53のコンソールでは6つの方法が選択できますので、それぞれ紹介します。
リソースによるルーティング
シンプルルーティング
まずは一番シンプルなルーティングです。
ひとつのDNSレコードに対して1つのリソースが紐付きます。
加重ルール
リソースが複数存在しているときに、どのように分配するかを設定できます。
主に負荷分散に利用されます。
レイテンシルール
複数のリソースへのレイテンシを計算して最もレイテンシの低い方にルーティングします。
ユーザにとって最も早くアクセスできるリソースに割り振られるようになりますが、各リソースごとの負荷に偏りはでます。
フェイルオーバールール
ふたつ以上のリソースを準備しておき、プライマリが利用不可になったらセカンダリに振るためのルール。
DRとかに使われます。
位置情報によるルーティング
位置情報ルール
ユーザーの地理的場所、つまり DNS クエリの送信元の場所に基づいて、トラフィックを処理するリソースを選択できます。
位置情報ルーティングを使用する場合は、コンテンツをローカライズし、ウェブサイトの一部またはすべてをユーザーの言語で表示できます。また、位置情報ルーティングを使用して、コンテンツの配布を、配布の権利がある場所だけに制限することもできます。
例えば、「東京リージョン」と「アメリカ(バージニア北部)リージョン」にそれぞれリソースがあるサイトだとすると
- 日本地域には日本語で表示するために東京リージョンにルーティング
- 日本地域以外は英語で表示するためにアメリカ(バージニア北部)リージョンにルーティング
このような設定ができます。
左下のインドネシア辺りや、右下のブラジル辺りからアクセスしてもバージニア北部リージョンのリソースにルーティングされます。
日本リージョンにルーティングされるのは日本地域からのアクセスのみです。
地理的近似性ルール
ユーザーとリソースの地理的場所に基づいてリソースのトラフィックをルーティングします。また、必要に応じて特定のリソースにルーティングするトラフィックの量を変更できます。
位置情報と同じように「東京リージョン」と「アメリカ(バージニア北部)リージョン」に設定することを例に挙げます。
この場合はアクセスしているユーザから近いリソースにルーティングされますので、青い地域は東京リージョンにルーティングされ赤い地域はアメリカ(バージニア北部)リージョンにルーティングされます。
位置情報ルールと地理的近似性の違い
位置情報ルールと地理的近似性はかなり似たような設定になります。それぞれ同じような設定をすることもできます。
ではどのような時に使い分けるのか?
下記に位置情報ルール地理的近接ルールの設定を並べています。
前提は
- 日本地域には日本語で表示するために東京リージョンにルーティング
- 日本地域以外は英語で表示するためにアメリカ(バージニア北部)リージョンにルーティング
このように並べてみると、左下の赤枠部分のルーティングが「位置情報ルール」の場合と「地理的近接ルール」の場合で異なっていますね。
使い分けとしては。このように覚えておきましょう。
位置情報ルールは『特定の地域に特定のリソースをルーティング』するために使う
地理的近接ルールは『近くのリソースにルーティング』させるために使う
まとめ
AWSでサイトを運営するのであればほぼ必ずお世話になるroute53ですが、利用用途に応じて様々な細かい設定をすることができます。
世界中規模でリージョンを構えるシステムに携わることは少ないかもしれませんが、SAAの勉強など改めてサービスを正しく理解しておくことは重要です。
致死的近接ルールになってます
ご指摘ありがとうございます!とんでもない誤字になってました。。
修正いたしました!