こんにちは! 中の人です。
以前のレシピに引き続き、今回もAmazon Route53編と題してお話していきます!
今回はRoute53を使ったグローバルサーバロードバランシングについて記述したいと思いますが、その前にAWSに関する情報をご紹介します!
米調査会社のSynergy Research Groupが行ったIaaS/PaaS等のシェアについて調査結果をPublickey様のブログで紹介されております。
IaaS部門でAWSが突出しており、ますますAWSに対するニーズが高まることを感じます!
http://www.publickey1.jp/blog/13/iaasamazon36paassalesforce19synergy_research_group.html
さて、ここから本題に入りまして、今回はグローバルサーバロードバランシングの設定についてお話していきたいと思います。
グローバルにサービスを展開されている場合、静的なホームページであればCloudFront(CDN)を使う事で世界中にあるエッジロケーションからの配信が可能ですが、動的なサービスの場合はそれが利用できません。
そこで Route53を使ったグローバルサーバロードバランシングを利用します。これにより、動的なサービスについてもグローバルに展開することが可能になります。
1. 全体の構成は以下のようになります。
各リージョンにあるRoute53から各EC2に対してレイテンシーのチェックを定期的(30秒間隔)に行い、レイテンシーが低いEC2に対して振り分けるような仕組みです。
2. 事前準備として2台以上のEC2を用意します。
可能であれば、複数のリージョンをまたいでいることが好ましいです。
Management ConsoleよりRoute53に移動し、「Hosted Zone」を選択し、該当ドメインの編集画面に遷移します。
3. Aレコードを例に説明します。以下の様に設定を行います。
レイテンシ・ベース・ルーティングは、一般的な “A”、”AAAA”、”CNAME”、”TXT”のDNSレコードタイプに加え、Route 53特有の”ALIAS to A”、”ALIAS to AAAA”レコードタイプにおいて利用可能です。
Routing Policy Latencyを選択します。
Region 対象があるリージョンを選択します。
Set ID 任意の名称を入力して下さい。
4. たったこれだけでGSLB(グローバルサーバロードバランシング)の設定が完了です!!
それでは最後にきちんと設定ができているか確認してみましょう!
東京リージョンのEC2から「nslookup」コマンドを実行すると東京側に設定したIPが確認できます。
次にシンガポールリージョンのEC2からも「nslookup」コマンドを実行してみるとシンガポール側に設定したIPが確認できます。
いかがでしたでしょうか?
上記でご紹介したように簡単な作業をするだけでGSLB(グローバルサーバロードバランシング)を行うことができるので、ぜひおこなってみてください。
次回は、「Amazon Route53編~Route53でラウンドロビン(simple/weighted)~」と題して、Route53の持つもう1つの機能 ラウンドロビンについてお話していきたいと思いますので、お楽しみに!