Route 53のアップデートによりフェイルオーバーのヘルスチェックでELBを指定できるようになった件を検証してみた

記事タイトルとURLをコピーする

Route 53のフェイルオーバでできないことがありました

先出の『【初心に帰るシリーズ】月額約10円で設置したウェブサイトの有効活用方法』にて、簡単にウェブサイトのフェイルオーバができるとご紹介しました。
しかし、これにはできないことがありました。
5月31日のAWSアップデートにて、これができるようになりましたので、検証がてらご紹介します。

Route 53のフェイルオーバでできなかったこと

先出の『【初心に帰るシリーズ】月額約10円で設置したウェブサイトの有効活用方法』でご紹介したように、本番サイトを監視して落ちたら(落としたら)Sorry画面が出るようにするというとき、本番サイトの監視対象としてIPアドレスを指定していました。 Blog130531 01 このとき指定できるのがIPアドレスのみで、ELBのようなホスト名(DNSネーム)を指定することができませんでした。
 
Blog130531 02
 
Blog130531 03
 
Blog130531 04
 
5月31日のAWSアップデートでこれができるようになりました。
ただし、方法が少し異なりますので、こちらをご紹介します。

解決方法

まずELBを作ります。
Blog130531 05
Route 53の設定画面に移動します。
「www.altimit.info」にアクセスがあったら、正常時はELBに振られ、ELBのヘルスチェックに失敗したときは『【初心に帰るシリーズ】月額約10円でウェブサイトを設置する』にて作成したSorry画面が表示されるようにします。
現在はこういう設定です。
Blog130531 06
単純にaltimit.infoの別名です。
altimit.infoはウェブサーバが動いているEC2インスタンスです。 これを下記のように変更します。
  • Aレコードに変更する
  • Alias」で「Yes」を選んで有効にする
  • Alias Target」で先ほど作ったELBを指定する
  • Routing Policy」で「Failover」を選択する
  • Failover Record Type」は、本番サイトなので「Primary」を選択する
  • Set ID」は適当に名前を付ける
  • Evaluate Target Health」はヘルスチェックをするので「Yes」を選択する
  • Associate with Health Check」は使わないので「No」を選択する
    (先出の『【初心に帰るシリーズ】月額約10円で設置したウェブサイトの有効活用方法』でご紹介したHealth Checkのセットは使いません)
Blog130531 07 設定を保存して早速アクセスしてみましょう。 ブラウザでURLを打ち込んで…
Blog130531 08
アクセスできました。
(ELBには予めウェブサーバのEC2インスタンスをぶら下げておきます) 次にELBにぶら下げたEC2インスタンスがすべてダウンするなど異常が起きたときに、フェイルオーバする設定を加えます。
フェイルオーバ先は、先出の『【初心に帰るシリーズ】月額約10円で設置したウェブサイトの有効活用方法』でご紹介したS3上のSorry画面が表示されるようにします。
Route 53の設定画面で下記のように設定します。
  • Aレコードを追加する
  • Alias」で「Yes」を選んで有効にする
  • Alias Target」はS3上のSorry画面があるバケットを指定する
  • Routing Policy」で「Failover」を選択する
  • Failover Record Type」は、代替サイトなので「Secondary」を選択する
  • Set ID」は適当に名前を付ける
  • Evaluate Target Health」はヘルスチェックをしないので「No」を選択する
  • Associate with Health Check」は使わないので「No」を選択する
Blog130531 09
設定を保存し、ELBにぶら下げたEC2インスタンスをELBからすべて外して、ELBがアクセスを振るサーバがない状態にします。
Blog130531 10
ブラウザでURLを打ち込んで…
Blog130531 11
「メンテ中」と表示されました。

まとめ

これまで「ELBがある場合のフェイルオーバをどうするか?」が課題になっていましたが、とても簡単に解決できました。
今までの設定に必要最低限の変更で実現できてしまうので、オススメです。 このようにAWSアップデートにも柔軟に対応いたしますので、AWSでお困りの方、AWSであんなことこんなことをやってみたい方、ぜひとも弊社にお問合せください。
Toiawase