ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

リバースプロキシが代理をするサーバーを、なるべく短時間で変更する方法

リーバスプロキシを経由してコンテンツを提供するWebサーバーがあります。
リバースプロキシとは|逆プロキシ|リバースプロクシ|リバプロ|reverse proxy - 意味/定義 : IT用語辞典

時期によって、コンテンツを切り替える必要があります。
動的に生成するデータがあるので、一旦停止して、メンテナンスとしてデータの更新を行えば、コンテンツを更新できますが、極力停止時間を短くしたいとの要望があります。
検討した結果、2台目のWebサーバーを用意して、切り替えることになりました。

f:id:AJYA:20160331060425j:plain
photo credit: Drobo B810n loaded up via photopin (license)

次に切り替える方法を検討しました。
順当に考えると、リバースプロキシの設定を変更すればいいのですが、4ファイルの記述を変更しなければならず、間違いなく変更するには、時間がかかります。

なるべく早く切り替える方法として考えたのが、

  1. 1台目と2台目のWebサーバーの外向きネットワークのIPアドレスを同一に設定する。
  2. 2台目のネットワークインターフェースは無効にしておく。
  3. 切り替えるときに1台目のネットワークインターフェースを無効にして、2台目のネットワークインターフェースを有効にする。

この手順です。


正常に切り替えできるかリハーサルが必要ですが、なんとかなりそうです。