こんにちは!中の人です。
今回は、『Amazon Route53のフェールオーバーの設定方法について』を2回にわたってお話していきます。
既に以前のレシピで、『Route53でサイトを公開してみよう!パート①、パート②』ということでお話していたかと思います。
今回のレシピでは『Amazon Route53を使ってフェールオーバーをおこなう際の設定方法』を記述していきたいと思いますが、
その前に『Amazon Route53に関する情報』をご紹介します。
今回お話するAmazon Route53のフェールオーバー機能ですが、この機能は先日、AWSより発表されたAmazon Route53の追加機能です。
Amazon Route53でのDNSフェールオーバー機能を利用することで、ELBを使えない環境でのフェールオーバーやEC2とS3間さらに、
EC2とEC2間でのフェールオーバーなどを行うことができ、東京リージョンのダウンを想定した海外リージョンとのフェールオーバーや動的サーバダウン時のS3でのエラー表示など様々な利用方法があります。
この追加機能をうまく活用すれば、より耐障害性のあるシステムを構築することができますね!
さてここから本題に入りまして、今回のパート①ではまず、『EC2 ⇔ EC2間でのフェールオーバーの設定方法』をご紹介します。
1. AWS管理コンソールにログインしてサービスで「Route53」を選択し、左メニューより「Health Check」をクリックします。
2. 「Create Health Check」をクリックし、必要な項目を入力して「Create Health Check」で保存します。
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編~サイトを公開してみよう!パート①~)を参照ください。
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でのフェールオーバーについて紹介したいと思います。
お楽しみに!