サイトが応答できない時、自動的に別サイト（ソーリーサーバ）に誘導 - GSLB編(2)

# 概要

GSLB 編 (1) では [GSLB 初期設定の仕方や、アクセスを振り分ける方法](https://qiita.com/zembutsu/items/75a27046d9cf734af7b3) を紹介しました。今回は、サイトのサーバ障害や何らかの理由により接続できなくなった場合、自動的にメンテナンス用のページに誘導する方法（ソーリーサーバの表示機能）を紹介します。（ [チュートリアル目次はこちらです](https://qiita.com/zembutsu/items/538aa0a0211f9200b6c5) ）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/831caf20-8862-a519-8d04-572ab5ca5971.png)


# 解説

## GSLB の「ソーリーサーバ」機能

GSLB（広域負荷分散アプライアンス）の機能は、振り分け先の設定をしたサーバから正常な応答があれば、そのサーバに対してアクセスができるよう、DNS の IP アドレスを自動的に書き換えます（DNS を使ったロード・バランシングを行います）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/25877b32-99e8-83a2-306b-1068a2e6b899.png)


しかし、意図しない障害発生や、メンテナンスを敢えて行いたい時はどうしたらよいでしょうか。たとえば、正常な応答を行えるサーバが1台もなかったり（ステータスが `DOWN` の状態）、あるいは、振り分け先の実サーバが「有効」な状態のサーバが存在しなくなった場合です。

そのような場合、振り分け先ではない別サーバ（IPアドレス）に対して GSLB の振り分け先を、自動的に一時変更する機能があります。それが「ソーリーサーバ」の指定です。あらかじめ「ソーリーサーバ」として登録を済ませておくと、実サーバの応答がない（または期待する応答コードを返さない）場合に切り替えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/a7543418-1057-2ed7-cd6b-d50db5249383.png)


## 事前準備

ソーリーサーバを設定する前に、ソーリーサーバとして機能するウェブサーバなどを準備しておきます。IPアドレスでアクセスした時、そのメンテナンス用ページを表示できる必要がありますのでご注意ください。

## ソーリーサーバ設定手順

ソーリーサーバ機能の設定を設定するには、 GSLB の新規追加時、または、監視設定画面で行えます。監視設定画面を開くには、左メニューの「グローバル」→「GSLB」から GSLB 一覧を表示し、設定したい GSLB 名の上でダブルクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/c9aa5729-0f62-35a9-ff5d-5ffef2bb305c.png)


それから、画面右上の「監視・応答方法の変更」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/2ae322a6-d4f5-7493-e0b2-db8c92a05ed3.png)


監視・応答方法の変更ダイアログでは、下側に「ソーリーサーバ」の項目があります。ここにソーリーサーバの **IPアドレス** を入力します。あるいは「サーバから選択」をクリックした後、ゾーンを選択し、その後対象サーバをクリックしても構いません。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/a289ca90-f871-6430-e126-6cabdb505f27.png)



内容を確認後「変更」をクリックします。そして、まだこの時点では設定が反映前ですので、画面右上の「反映」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/4df74f92-8fff-bc6d-8a66-078f50120bac.png)


そして、確認画面では「はい」を押し、設定を反映します。以上で設定完了です。

## 動作確認

ソーリーサーバが機能するかどうかを調べるには、振り分け先のサーバ設定を一時的に「無効」にする方法が簡単です。コントロールパネル上で設定変更するには、 GSLB の「実サーバ」のタブをクリックし、実サーバ一覧を表示します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/2e207c2b-dbd0-dd21-e187-4b2ee9a7d58e.png)


そして、各サーバの右側にある「鉛筆」のアイコンをクリックし、編集画面を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/7447dc53-8085-b45a-f635-3fdf1c055111.png)


編集ダイアログでは「有効/無効」を「無効」にします。それから「更新」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/04726dc2-b999-778c-d155-69f408c95997.png)


「有効」の列がすべて「無効」になっているのを確認し、画面右上の「反映」をクリックした後、「はい」をクリックします。これで設定が反映します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/ace8bcef-0126-d634-392e-068437c5e29f.png)


あとは、ブラウザでサイトを開き、10秒ほど待つと、メンテナンス用のページに表示が切り替わります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/430cb6ee-740b-46c0-d471-bfbf34a7baed.png)


元に戻すには、各実サーバの設定を再び「有効」に戻した後、設定を「反映」します。戻した後は、ブラウザからのサイト表示も元の GSLB バランシング先のサーバに戻りますので、ブラウザで表示を確認島須。


# まとめと振り返り

サイトが応答しない場合は、ソーリーサーバ機能を使って、トラフィックを別のデータセンタやサーバに迂回できます。この機能は、さくらのクラウドだけでなく、さくらの VPS 、レンタルサーバだけでなく、あらゆるインターネット上のサービスでも利用できます。突発的なアクセス集中や障害が発生したとしても、ソーリーサーバ機能を使うことで、お知らせを掲載したり、別サイトへの誘導を行うといった利用ができます。


# 参考情報

- [さくらのクラウド公式ドキュメント](https://manual.sakura.ad.jp/cloud/)
  - [GSLB（広域負荷分散）](https://manual.sakura.ad.jp/cloud/appliance/gslb/index.html)

[さくらのクラウドチュートリアル目次](https://qiita.com/zembutsu/items/538aa0a0211f9200b6c5)