AWS機能を網羅してみよう3.3 Route53編 〜実践 DNSフェイルオーバー


前回は、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を選択します。

CapsuleCloudお問い合わせはこちら


CapsuleCloudではエンジニア募集中!

APN Consulting Partner
スーパーソフトウエアはAWSパートナーネットワーク(APN)のコンサルティングパートナーです。