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