Amazon Route53編~Route53を使ったDNSフェールオーバー パート①~


こんにちは!中の人です。  

今回は、『Amazon Route53のフェールオーバーの設定方法について』を2回にわたってお話していきます。

既に以前のレシピで、『Route53でサイトを公開してみよう!パート①パート②』ということでお話していたかと思います。
今回のレシピでは『Amazon Route53を使ってフェールオーバーをおこなう際の設定方法』を記述していきたいと思いますが、
その前に『Amazon Route53に関する情報』をご紹介します。

今回お話するAmazon Route53のフェールオーバー機能ですが、この機能は先日、AWSより発表されたAmazon Route53の追加機能です。

Amazon Route53でのDNSフェールオーバー機能を利用することで、ELBを使えない環境でのフェールオーバーやEC2とS3間さらに、
EC2とEC2間でのフェールオーバーなどを行うことができ、東京リージョンのダウンを想定した海外リージョンとのフェールオーバーや動的サーバダウン時のS3でのエラー表示など様々な利用方法があります。

この追加機能をうまく活用すれば、より耐障害性のあるシステムを構築することができますね!

さてここから本題に入りまして、今回のパート①ではまず、『EC2 ⇔ EC2間でのフェールオーバーの設定方法』をご紹介します。

20130405_02_01

1. AWS管理コンソールにログインしてサービスで「Route53」を選択し、左メニューより「Health Check」をクリックします。

2. 「Create Health Check」をクリックし、必要な項目を入力して「Create Health Check」で保存します。

  20130405_02_02

Protocol HTTP/HTTPSを選択します。
IP Address サーバのホスト名を入力します
Port HTTPなら80,HTTPSなら443、それ以外なら設定しているポート番号を入力します。
Host Name DNSに設定するホスト名を入力します。
Path ヘルスチェックを行うファイルのパスを入力します。
※ フェールオーバー先のsecondary用のホストに対しても同様に設定します。

3. 続いて左メニューより「Hosted Zone」を選択し、該当ドメインの編集画面に遷移します。

4. このDNSフェールオーバーの設定では、レコードセット時の「Routing Policy」から「Failover」を選択します。
※各レコードの設定方法は以前のレシピ(Amazon Route53編~サイトを公開してみよう!パート①~)を参照ください。

20130405_02_03
Routing Policy Failoverを選択します。
Failover Record Type 正系:Primary
副系:Secondary
を選択
Set ID 標準のままで問題ありません。
Associate Record Set with health check YESを選択
Health Check to Associate Step2で作成したHealth Checkを選択します。

5. Primary/Secondary共に登録すると設定完了です!

Health Checkに設定しているURLをアクセスできなくすることで簡単にフェールオーバーの確認を行うことができます。
直接サイトを見て確認することもできますし、nslookupで確認する事も出来ます。

いかがでしたでしょうか?
以上の設定をおこなっておくだけで、もしPrimaryのEC2に障害が発生してしまった場合は自動的にSecondaryでサービスすることができます。
是非、1度ご確認のうえ、設定をおこなってみてください!

次回は、『Amazon Route53編~Route53を使ったDNSフェールオーバー パート②~』と題して、
EC2⇔S3でのフェールオーバーについて紹介したいと思います。

お楽しみに!