Route53 シリーズ 3. Route53のポリシー(1) Simple / Weighted / Latency

2021.08.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、イムチェジョンです。
今回はRoute53ルーティングポリシーについて調べて、実際にやってみましょう。
ルーティングポリシーは7つの種類があるので、今回は3つのルーティングポリシーについて説明します。

[ Route53 シリーズ ]
1. Route53を調べて、使用してみた。
2. Route53のヘルスチェックをやってみた
3. Route53ルーティングポリシー(1)- Simple / Weighted / Latency
4. Route53ルーティングポリシー(2)- Failover / Geolocation / Geoproximity / Multivalue answer

アジェンダ

  1. Route53ルーティングポリシーとは?
  2. Route53ルーティングポリシー
  3. まとめ

1. Route53ポリシーとは?

  • レコードを作成する際、Amazon Route 53がクエリーに応答する方法を決めるルーティングポリシーを選択する
  • 7つのルーティングポリシーがある
    • シンプルルーティングポリシー
    • 加重ルーティングポリシー
    • レイテンシールーティングポリシー
    • フェイルオーバールーティングポリシー
    • 位置情報ルーティングポリシー
    • 地理的近接性ルーティングポリシー
    • 複数値回答ルーティングポリシー

2. Route53ポリシーのハンズオン

2-0. やってみる前に下準備

EC2インスタンスの構築します

以下の設定で3つを構築します。
[ インスタンス1 ]
AMI:Amazon Linux 2 AMI
インスタンスタイプ:t2.micro
セキュリティグループ:HTTP 80
Tag:Name -> route-seoul
キーペア : 既存キーペア及び新しいキーペアの中で選択
リージョン:ap-northeast-2 (Seoul)
→ パブリックIP:54.180.137.58

[ インスタンス2 ]
AMI:Amazon Linux 2 AMI
インスタンスタイプ:t2.micro
セキュリティグループ:HTTP 80
Tag:Name -> route-tokyo
キーペア : 既存キーペア及び新しいキーペアの中で選択
リージョン:ap-northeast-1 (tokyo)
→ パブリックIP:54.168.21.245

[ インスタンス3 ]
AMI:Amazon Linux 2 AMI
インスタンスタイプ:t2.micro
セキュリティグループ:HTTP 80
Tag:Name -> route-virginia
キーペア : 既存キーペア及び新しいキーペアの中で選択
リージョン:us-east-1 (Virginia)
→ パブリックIP:35.173.179.167

2-1. シンプルルーティングポリシー(Simple Routing Policy)

  • シンプルルーティングポリシーでは、単一リソースでトラフィックをルーティングする
  • Route53コンソールでシンプルルーティングポリシーを選択する場合、同じ名前とタイプの複数のレコードを作ることはできませんが、同じレコード内に多重値(例:多重IPアドレス)を指定は可能

実際にポリシーを作成してみましょう。
レコードを以下の設定で作成します。
レコード名:simple.routetest.ml
レコードタイプ:A
値:54.168.21.245 / 54.180.137.58
ルーティングポリシー:simple routing

追加されたレコードで接続をしてみます。
ここでTTLで設定した時間ごとに交互にIPに接続をします。

ターミナルでドメイン情報を確認してみます。値に追加した二つのIP情報を確認できます。

$ dig simple.routetest.ml
(省略)
;; ANSWER SECTION:
simple.routetest.ml.  300  IN  A  54.168.21.245
simple.routetest.ml.  300  IN  A  54.180.137.58
(省略)

2-2. 加重ルーティングポリシー(Weighted Routing Policy)

  • 加重ルーティングポリシーを使用すると、多数のリソースをドメイン名に連結し、各リソースにルーティングされるトラフィック比率を選択して使用

実際にやってみましょう。
3つのレコードを作成します。
[ 1つ目 ]
レコード名:weighted.routetest.ml
レコードタイプ:A
値:35.173.179.167
ルーティングポリシー:Weighted
Weight:60
レコードID:virginia

[ 2つ目 ]
レコード名:weighted.routetest.ml
レコードタイプ:A
値:54.168.21.245
ルーティングポリシー:Weighted
Weight:30
レコードID:tokyo

[ 3つ目 ]
レコード名:weighted.routetest.ml
レコードタイプ:A
値:54.180.137.58
ルーティングポリシー:Weighted
Weight:10
レコードID:seoul

追加したレコード名で接続してみます。

Weightが一番大きい35.173.179.167(virginia)に接続されます。

2-3. レイテンシールーティングポリシー(Latency Routing Policy)

  • リソースに対する遅延時間レコードを複数のAWSリージョンのRoute 53がドメインに対するDNSクエリを受信すると、ユーザーに最も低い遅延時間を提供するリージョンを決定し、そのリージョンに対する遅延時間レコードを選択

実際にやってみましょう。
2つのレコードを作成します。
[ 1つ目 ]
レコード名:latency.routetest.ml
レコードタイプ:A
値:35.173.179.167
ルーティングポリシー:Latency
リージョン:US East (N. Virginia)
レコードID:virginia

[ 2つ目 ]
レコード名:latency.routetest.ml
レコードタイプ:A
値:54.168.21.245
ルーティングポリシー:Latency
リージョン:Asia Pacific (Tokyo)
レコードID:tokyo

追加したレコードに接続してみましょう。

私はソウルにいるので、東京リージョンとのレイテンシーのほうが低くて東京リージョンに接続します。

3. まとめ

今回はSimple / Weighted / Latencyの3つのRoute53のルーティングポリシーを調べてやってみました。次にはRoute53ルーティングポリシー4つについて調べてやってみたいと思います。

Route53のルーティングポリシー詳しい情報はしたのドキュメントで確認できます。 https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/routing-policy.html