はじめに
前回は、Route53の基本的な利用方法を試しました。
今回はRoute53シリーズの第一回目でご説明した、DNSフェイルオーバーを実際に試してみます。
DNSフェイルオーバーおさらい
DNSフェイルオーバーは、まず準備として同じ名前でPrimaryとSecondaryの2つのSetを作成しておきます。
通常はPrimaryに指定された転送先にルーティングされるようになりますが、もしPrimaryのヘルスチェックで問題が発生すると、Secondaryに設定された転送先にルーティングされるようになります。
例えば、DNSフェイルオーバーを使ってサーバーに障害が発生したら、Sorryコンテンツを用意した別サーバにルーティングを切り替えるといった利用が可能になります。
そこで今回は、例に示した通りWebページの反応がない場合はS3のSorryページに飛ばすという基本的な仕組みを作ってみたいと思います。
ヘルスチェックを設定
DNSフェイルオーバーを行うためには、ヘルスチェックの設定が必要です。
Route53のトップページから、メニューバーよりHealth checksを選択します。
Create HelthCheckを押下します。
HelthCheckの設定を行います。
IPかDomainを選択できます。
今回はDomainを選択し、前回設定したtaelog.netで設定します。
※Domainだとうまくいかなかったので、IPでやり直しました。
設定内容を入力したら「Next」を押下します。
また、今回は簡易版としてRailsをPort3000番で動かします。(普通のwebサービスであれば80番Portを利用すると思います)
必要に応じてアラートを飛ばすか設定できます。
今回はNoで先に進みます。
すると、HelthCheckが作成されています。
しかし、作成したてのタイミングでは、まだ[Status]の項目が、[Unknown]になっています。
2,3分時間を置いた後にリロードをかけると、Healthyになっていることを確認できます。
これで、HealthCheckの準備は完了です。
DNSフェイルオーバーを設定
前項まででヘルスチェックの設定が完了しました。
ここから本題であるDNSフェイルオーバーの設定を行います。
フェイルオーバー先にS3の静的ウェブサイトホスティングを行います。
まずは、正常稼働時の転送先(Primary Record Set)の設定を行います。
「Routing Policy」に[Failover]を選択。
「Failover Record Type」を[Primary]にしている点と、「Associate with Health Check」を[Yes]にして、先ほど作成したfirst-healthcheckを選択します。