IDCF テックブログ

IDCF テックブログ

クラウド・データセンターを提供するIDCフロンティアの公式テックブログ

3ステップで導入!GSLBを使ってDR対策にトライ

こんにちは、河合です。サービスを運用する上で止めないこと(可用性)はとても重要ですよね。考慮すべきテーマとしてBCP(事業継続計画)・DR(Disaster Recovery:災害復旧)対策があります。このとき活躍するのがGSLB(Global Server Load Balancing:広域負荷分散)サービスです!GSLBを使えば、災害などの有事によるメインサイトダウン時のバックアップサイトもしくはSorryサーバーへの自動切り替えや、大規模なアクセスがきた時の分散の仕組みを実現することができます。 今回はIDCFクラウド DNS/GSLBのGSLBサービスにフォーカスして、次の流れで設定方法や用途を紹介します。

GSLB概要

GSLBとは、DNSの名前解決を用いたロードバランシング機能です。DNSラウンドロビンとの最大の違いは、ヘルスチェックや重み付けができるところです。

GSLBを使ったグローバルレベルでの分散は、大規模アクセス時の負荷分散や災害発生時のサイト切り替えを実現し事業継続性を高めます。例えばBCP対策としてのGSLB導入には、次のようなメリットが挙げられます。
 ・複数拠点間での分散
  物理的に離れた環境間でサイト分散することで可用性を向上し、自然災害やテロなどの緊急時にもサービスが継続できます。

 ・重み付けによる自由な構成
  各レコードに対して重み付けができるため、Active/ActiveやActive/Standbyなど自由度が高い構成を実現できます。 例えばActive/Standbyは、メインサイトと障害時のみ使うバックアップサイトとわけたり、Active/Active構成であれば両サイト同時にサービス提供するような完全冗長ができます。リソースやコストなどを踏まえてユーザーが最適に選択することができます。

 ・自動切り替わりによるダウンタイムの軽減・回避
  ヘルスチェックに失敗した時には、自動で切り替わりが発生するので、サービスのダウンタイムを軽減できます。また、上記で紹介したActive/Active構成を採用している場合、完全冗長されているため、万が一障害や災害が発生してもサービスへの影響を最小限に留めることができます。

このGSLB、以前テックブログで紹介させていただきましたがIDCFコーポレートサイトでも取り入れています。東日本のメインサイトダウン時には西日本のバックアップサイトへ切り替わるよう、ダウンタイムを最小限に抑えた構成にしています。

関連記事
コーポレートサイトのセキュリティ対策は万全ですか?

GSLBはDNSサービスと一緒にお使いいただくサービスとなります。最小構成ならワンコインから始められるので、無理なく導入を始めることができます。また、IDCFクラウドDNSのネームサーバーは国内3拠点に分散配置、すべてプライマリの冗長構成となっているため安心してお使いいただけます。詳しい仕様はサービスページからぜひチェックしてみてください!

設定方法

これから紹介する3ステップで簡単に分散環境やDR環境が作成できるので、さっそく設定していきましょう。例で構築するのはApache Webサーバーの簡単なDR環境です。東日本と西日本の2拠点でActive/Standby構成とします。GSLBではレコードごとに重み付けの設定ができ、Standbyにするには重み0となります。重み付けについてはこの後Step2で説明します。

f:id:skawai488:20170628013858p:plain
▲図1. 作成する環境イメージ

Step1. GSLBサービス申込み&ログイン

IDCFクラウドコンソールからオンラインでお申込みいただけます。グローバルメニューから「DNS/GSLB」を有効化してください(図2)。

f:id:skawai488:20170617144925j:plain
▲図2. グローバルメニュー

Step2. 振り先サーバーの登録

対象ゾーンを選択し、「レコード登録」を選択します。
f:id:skawai488:20170627161922p:plain
▲図3. 選択したゾーンの設定画面
※GSLB単体での利用は出来ないので、あらかじめDNSサービスでゾーン作成の必要があります。ゾーンの作成方法については次のドキュメントをご参考ください。

参考ドキュメント
IDCFクラウド DNS スタートアップガイド

レコード作成画面でAレコードを選択するとGSLBの欄が見えるようになります。ここで「有効」を選択するとGSLBで設定するパラメータ(図4)が表示されるので、利用に応じて記入しましょう。今回、レコード名はwwwとしています。

f:id:skawai488:20170618120400p:plain
▲図4. GSLB設定項目

各設定項目は次の通りです。

パラメータ 内容
TTL(秒) キャッシュの保持時間。5秒~86400秒の範囲で指定
値・詳細 IPv4アドレス:プルダウンからGSLBの振り先仮想マシンを指定するか、IPアドレスを直接入力
重み:0~10で指定。0の時はStandbyとして機能し、1以上がActiveとして機能※1
ヘルスチェック:なし/あり自動有効化/あり手動有効化 から選択※2

▲表1. GSLBパラメータ

※1 例えばA,B,C 3つの振り先に対して1:2:3の重み付けにすると、それぞれ1/6、2/6、3/6の割合になります。ですのでDNSの問い合わせが6回来た場合、Aを1回、Bを2回、Cを3回返答します。
※2 ゾーン認証が完了していないとヘルスチェックの有効化ができないのでご注意ください。

ヘルスチェック失敗時の動作
ヘルスチェックで異常と判断した場合、振り分け対象から切り離されます。その後1分に1度自動で復旧の確認が行われ、チェックが2回連続で成功すると復旧と判断します。
ヘルスチェックの設定が「あり自動有効化」であれば、復旧時に自動的に振り分け対象として切り戻され、「あり手動有効化」の場合は手動で切り戻しを実施していただく必要があります。

詳細設定が終了したら、右端の「+」をクリックすると振り分け対象のサーバーとして登録されます。ここまでの操作を登録するサーバーごとに行ってください。
今回の環境ではWeb-1(東日本リージョン)を重み1の手動切り替え、Web-2(西日本リージョン)を重み0の自動切り替えで登録します。

Step3. ヘルスチェック詳細設定

ヘルスチェックを「あり」にしてレコードを登録すると、さらにヘルスチェックの詳細設定項目が出てきます(図5)。ヘルスチェックの種類をHTTP/HTTPS/TCPから選択し、使用するポートを指定します。
※ヘルスチェックなしにすると単純な重み付けありのDNSラウンドロビンとして利用できます

f:id:skawai488:20170617145144p:plain
▲図5 ヘルスチェック設定

「チェック」項目ではヘルスチェックの間隔や失敗回数などを指定することが可能です。

パラメータ 内容 デフォルト
間隔(秒) ヘルスチェックの間隔
10~300秒の間で指定してください
30
タイムアウト(秒) ヘルスチェックの応答待ち時間
2~10秒の間で設定してください
5
失敗回数(Down) 異常判断とするタイムアウトの回数
3~10回の間で設定してください
5

▲表2. ヘルスチェック項目

HTTP/HTTPSの場合、ステータスコードが100,200,300番台を正常と判断します。TCPの場合はSYN/ACKの返答によって正常を確認します。
なお、ヘルスチェック対象IPアドレス側でヘルスチェックサーバーからの通信の許可を忘れずにしてください。次のグローバルIPアドレスがIDCFヘルスチェックサーバーのIPアドレスです。
 210.140.111.128/25
 202.239.51.128/25
 210.152.239.128/25

通知先にはメール/Slackの2種類が選択でき、ヘルスチェック失敗/復旧時の際に通知が実施されます。
すべての設定が終わったら「登録する」をクリックしてGSLBレコードの設定完了です!

切り替わりの確認

では、設定したGSLBが想定通りに動いているか確認してみましょう。 まずはブラウザから登録したドメインにアクセスします。

f:id:skawai488:20170618130201p:plain
▲図6 Web-1 (Activeサイト)

Active(重み1)に設定したWeb-1サーバーのページが表示されていることを確認したところで、Web-1のhttpdをDownさせます。
その後ブラウザをリロードすると、Web-2サーバーのページが表示されました。うまく切り替わっています。

f:id:skawai488:20170618130438p:plain
▲図7 Web-2 (Standbyサイト) への切り替わり確認

GSLBによる自動切り替えが確認できたところで、先ほどDownさせたWeb-1を再度立ち上げて手動切り替えを実践します。
IDCFクラウドコンソールのDNS/GSLBページを開くと手動切り替え待ちの状態になっているので(図8)、マウスオンして「有効化する」をクリックし、元のWeb-1がActive、Web-2がStandbyの状態に戻します。

f:id:skawai488:20170618132152p:plain
▲図8 手動切り替え待ち状態

その後再度Webページをリロードし、Web-1が表示されていることを確認します。 これで今回構築したDR環境の動作確認ができました。今回は手動で切り戻しをしましたが、自動で切り戻すことも可能です。

まとめ

ここまで、GSLBの設定~動作確認までを紹介しました。GSLBレコード自体はわずか3ステップで登録できてしまうので、とても簡単に始められますね!

GSLBの特長は、インフラ関係なく複数拠点を対象として設定できることです。また、IDCFの環境のみにとどまらず、外部のサービスとも組み合わせてご利用いただけます。そのため、IDCFクラウド間に限らずハウジング×IDCFクラウド、他社クラウド×IDCFクラウドといった柔軟な構成が実現できます。もしGSLBを使うためIDCFクラウドDNSへ切り替えを検討される場合は、こちらで無停止切り替えの手順を公開していますので、ご参考ください。
近日中にGSLBの機能アップデートを予定しておりますので、その際は改めて紹介したいと思います。
それではお楽しみに!

Copyright © IDC Frontier Inc.