2012年3月25日日曜日

"Route 53"のルーティング系の設定(simple/weighted/latency)

スズキです。

CDPの新パターン"Weighted Transition"に触発され、そのパターンの
主役となるプロダクト"Route 53"のルーティング系機能をあ、らためて試してみました。

まず、"Route 53"には下記のように三種類のルーティングに関する機能(Routing Policy)
が用意されています。

▼simple
普通のDNSの振る舞いです。同一DNS名にAレコードを複数登録することで、
DNSラウンドロビンが実現されます。

▼weighted
DNS名に対するターゲット(IP/DNS名)の選択に重みをつけることができ、
DNSラウンドロビンよりも柔軟にアクセス分散させることが可能です。

▼latency
DNS名に対するターゲット(IP/DNS名)の選択を一番レイテンシーが低い場所にします。
同一DNS名にリージョンが違う複数のEC2を登録した場合、アクセス元から
一番近くの(レイテンシーが低い)EC2が選択されます。

ということで、実際に、"AWS Management Console"で試してみます。

▼simple(DNSラウンドロビン)

"Routing Policy"を"simple"にして一つのDNS名に対して、
複数のIPアドレスを設定してみます。


問題なく登録されました。


次は別のレコードセットとして、上記と同じDNS名に対してIPアドレスと設定してみます。


すると"すでにDNS名は存在している"とエラーになってしまいます。

"simple"では一つのDNS名を複数のレコードセットで設定することはできないようです。


▼weighted

"Routing Policy"を"weighted"にして一つのDNS名に対して、
一つのIPアドレスを設定してみます。


問題なく設定されました。(当然ですが...)


次に上述のDNSラウンドロビンのように、一つのDNS名に対して
複数のIPアドレスを設定してみます。


すると今度は"weighted"ではIPアドレスは一つしか登録できない"
とエラーになってしまいます。

"weighted"では"simple"とは逆に、一つレコードセットに
複数のIPアドレスは設定できないようです。


ということで、同じDNS名に対して別のレコードセットで、
今度は一つのIP設定で再度登録してみます。


今度は上述のDNSラウンドロビンとは逆に、登録できてしまいました。

"weighted"では一つのレコードセットには一つのIPアドレスしか設定できず、
重みを付けて複数IPアドレスを設定するには別のレコードセットとして登録する
必要があるようです。


▼latency

"Routing Policy"を"latency"にして一つのDNS名に対して、
複数のIPアドレスを(いきなり)設定してみます。



すると今度も"weighted"同様、"IPアドレスは一つしか登録できない"
とエラーになってしまいます。

"latency"も"simple"とは逆に、一つレコードセットに複数のIPアドレスは
設定できないようです。


なので同様に、一つのIPアドレスで試してみます。


"weighted"同様、問題なく登録できることがわかります。

同じDNS名に対して複数のIPアドレスを登録する場合も、
一つのIPアドレスが設定されている複数のレコードセットを登録することになります。


▼確認

ということで、今までの設定で"Route 53"は下記のようになりました。


実際に"nslookup"コマンドで確認してみます。

まずは"simple"からです。

$ nslookup simple.suz-lab.com ns-1074.awsdns-06.org
...
Name: simple.suz-lab.com
Address: 192.168.1.1
Name: simple.suz-lab.com
Address: 192.168.1.2

$ nslookup simple.suz-lab.com ns-1074.awsdns-06.org
...
Name: simple.suz-lab.com
Address: 192.168.1.2
Name: simple.suz-lab.com
Address: 192.168.1.1

まさにDNSラウンドロビンとして振舞っていることがわかります。

次に"weighted"です。

$ nslookup weighted.suz-lab.com ns-1074.awsdns-06.org
...
Name: weighted.suz-lab.com
Address: 192.168.2.2

$ nslookup weighted.suz-lab.com ns-1074.awsdns-06.org
...
Name: weighted.suz-lab.com
Address: 192.168.2.2

$ nslookup weighted.suz-lab.com ns-1074.awsdns-06.org
...
Name: weighted.suz-lab.com
Address: 192.168.2.1

重みに従ったIPアドレスが帰ってくることがわかります。

最後に"latency"です。

東京から"nslookup"すると、"ap-northeast-1"に指定した
IPアドレスが返ってきます。

$ nslookup latency.suz-lab.com ns-1074.awsdns-06.org
...
Name: latency.suz-lab.com
Address: 192.168.3.1

シンガポールから"nslookup"すると、今度はちゃんと"ap-southeast-1"に指定した
IPアドレスが返ってくることがわかります。

$ nslookup latency.suz-lab.com ns-1074.awsdns-06.org
...
Name: latency.suz-lab.com
Address: 192.168.3.2

今回はすべてAレコード(IPアドレス指定)で試してきましたが、"weighted"や"latency"は
CNAMEやTXT、そしてALIASでも利用できます。

新しいCDPの予感...
--------
http://www.suz-lab.com/

0 コメント: