質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

ロードバランサー

ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

Q&A

1回答

1833閲覧

決まった時間にWEBサーバーを切り替えたい

Morning0153

総合スコア9

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

ロードバランサー

ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

0グッド

1クリップ

投稿2018/03/02 13:07

前提・実現したいこと

毎日決まった時間帯に、別のWEBサーバにてWEBサービスを提供したいと考えています。良い方法がないか教えてください。

###詳細
現在 LBに、InterSec/LBを、FWにFortigateを使用しています
WEBサーバーはWindows IIS8.0を2台使用し LBで1台のWEBサーバーが停止した時に、他のもう一台のWEBサーバーに切り替わるようにしています。

LB配下のWEBサーバーを夜間用に一台追加(LB配下でなくても可)して、
夜間の決まった時間帯だけ、追加したサーバーにてサービスを行うようにしたいのです。
実際には、日中に行うWEBのサービスを、営業時間外は、ただ今サービス時間外ですという、ページを出す、夜間用のWEBサーバーに切り替えたい。(将来的には、夜間用のサービスを行うことも想定。)
サービス時間外に、日中にサービスを行っているWEBサーバーのプログラムを入れ替えたり、メンテナンスをしたりを行いたいので、同一のWEBサーバーでAPで時間をみて、別のページを出すという対処でなく、別のサーバーに切替を行いたい。と考えています。

Sorryサーバーを通信の停止をトリガーでなく、スケジュールした時間帯で実行することができれば、現時点の要求には対応できそうに思うのですが、
LBではスケジュールでの切替はできないようです。

FWにて、ポリシに対してスケジュールを設定し、該当時間帯にLBへの接続を遮断してしまうということはできるようなのですが、スケジュールで他のIPアドレスのサーバーにNATするという設定は見つけられませんでした。

別のアイディアも含め、良い方法はないでしょうか?
宜しくお願いします。

補足情報(FW/ツールのバージョンなど)

FW:Fortigate (FortiOS5.4)Ver4.0
lb:InterSec/LB Ver4.0
IIS 8.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

LBと実際のウェブサーバとの間にもう一台HTTPサーバ(apache)をはさんで、mod_rewriteの時間指定を利用するという手があります。

構成としてはこんな感じ。

+------+ +------+ +---+ ->+ LB +->+apache+->+IIS+ +------+ +------+ +---+

間に挟むapacheでmod_rewriteで時間指定でsorryページへのリダイレクトをいれます。
以下では23時〜4時まではすべてのリクエストをsorry.htmlへリダイレクト。
4時〜23時までは、IISへリクエストをプロクシしています。

apache

1RewriteEngine On 2RewriteCond %{REQUEST_URI} .* 3RewriteCond %{TIME_HOUR}%{TIME_MIN} > 2300 [OR] 4RewriteCond %{TIME_HOUR}%{TIME_MIN} < 0400 5RewirteRule .* /sorry.html [R,L] 6 7RewriteCond %{REQUEST_URI} .* 8RewriteCond %{TIME_HOUR}%{TIME_MIN} < 2300 9RewriteCond %{TIME_HOUR}%{TIME_MIN} > 0400 10RewirteRule .* http://iis_server_address%{REQUEST_URI} [P,L]

上記構成でのapacheは別の機械じゃなくてもIISが動作している機器上でポートを変えて動作させてもいいかと思います。機器のリブートや停止が頻繁に行われるのだったら別機器の方がいいかもしれません。
IISを停止して、アプリケーションの入れ替え、テストを行うくらいだったら別の機器をいれるまでもないかと。

投稿2018/03/06 05:24

rogueref

総合スコア727

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Morning0153

2018/03/06 12:00

ご回答ありがとうございます。 リブート、停止が発生するので、もう一台用意する構想でいます。 営業時間中は、追加したhttpサーバーから、ロードバランサを呼び出しロードバランサの配下のWEBサーバに代替え応答させる。時間外は、追加したサーバにあるsorry.htmlのページにどのURLがきてもリダイレクトさせる。ということですね。時間帯設定がこのコントロールでできるということで、実現できそうです。 夜間のメンテナンス中を出すだけのhttpサーバーだからと、スペックの小さいサーバーを想定していましたが、一番目に表に立つサーバーなので、それなりのスペックがいるかもしれないですね。 全く勉強不足です。ロードバランサでなくて、新しく追加するHTTPサーバーにNAPTするということになるのかのあたりや、apache mod_rewrite 調べてみます。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問