VPSの「ローカルネットワーク」サービスを使った複数サーバ構成
VPS環境でどのようなサーバ構成をとることが可能であるか。
またスケールアウトする際にどのようなサーバ構成をとることができるのかを説明します。
■
VPS環境でのサーバ構成
一般的にVPS環境では、1台のサーバのみで完結する構成にしかできず、複数台の サーバで構成する場合は、VPSではなくクラウドサービスで実現するしかありませんでした。 しかし、最近では
「ローカルネットワーク」が構築できるようなVPSが登場し、複数台のサーバで システムを構成できるようになってきています。そのためクラウドサービスで構築する必要が なく安価にWEBシステムを構築が可能になってきています。
サーバ構成
・一台構成(WEB/DB共存)
・WEB+DB構成
・DNSランドロビン+WEB(冗長化)+DB構成
・リバースProxy+WEB(冗長化)+DB構成
VPS環境で実現する一台構成(WEB/DB共存)

一般的なVPSでは、サーバ間にローカルネットワークを構築することができないため、サーバ関連携が不用な1台構成となります。
1台構成であるため、小規模なシステムに向いており、
開発環境や
個人向けシステム、そして
スモールスタートが行いたい場合に最適です。
※グローバルIPでサーバ間連携は可能ですが、セキュリティを考慮するとおすすめできない構成です。
VPS環境で実現する二台構成(WEB+DB)

複数台構成にする場合の基本構成は、WEBとDBを分ける形となります。
この構成は、セキュリティを考慮するシステム、1台構成からスケールアウトを考えているシステムで いちばん簡単な構成になります。
■
VPSでセキュリティを考慮する
セキュリティを考慮する必要がある場合は、DBをインターネットから直接接続できるネットワークでなはく ローカルネットワークのみに接続させる構成をとります。
■
VPSでスケールアウト
WebとDBを分離することで、負荷を分散することができ、一台構成からのスケールアウトとして 一番簡単な構成です。
※WEBアプリのDB接続設定のみの変更で移行が可能
■
二台構成(WEB+DB)が可能なVPS
【さくらVPS】
【Conoha VPS】
【ServersMan@VPS】
【VirtualWeb】
VPS環境で実現するWEB冗長構成(WEB冗長+DB)
WEBサーバを複数台にした場合、ロードバランシング(負荷分散) の方法が必要になります。
規模の大きいシステムであれば、LB(ロードバランサ)機器を導入するのですが、 VPSでは、LB機器は用意されていないことが多い。そのため、各自でロードバランシングの方法を 考える必要があります。
※ただし、
ServersMan@VPSはLBサービスが用意されています
■
VPS環境でのロードバランシング
一般的には、「DNSランドロビンを利用した方法」と「NginxなどのリバースProxyーを導入した方法」があります。
DNSランドロビン+WEB(冗長化)+DB構成

■
DNSラウンドロビンとは
1つのドメイン名に複数のIPアドレスを割り当てて、クライアントPCからの問い合わせごとに順番に応答していく負荷分散技術 です。
■
DNSラウンドロビンによるロードバランシングのメリットとデメリット
DNSラウンドロビンによるロードバランシングのメリットは、ロードバランサを別途準備する 必要がなく、簡単に導入ができます。
しかし、一部のブラウザを除き、WEBサーバ障害時のフェイルオーバが行われないことがデメリットです。 つまり2台のうち1台のWEBのサーバが障害が発生した場合、障害WEBサーバのIPアドレスが名前解決された クライアントはアクセス不能となり、それは確率的にはアクセスの半分が接続不能となることを示します。
■
DNSランドロビン+WEB(冗長化)+DB構成が可能なVPS
【さくらVPS】
【Conoha VPS】
【ServersMan@VPS】
【VirtualWeb】
※ServersMan@VPSは、LBサービスがあるので、DNSラウンドロビンの導入は必須ではありません。
リバースProxy+WEB(冗長化)+DB構成

■
リバースProxyとは
直接インターネットに接続できないクライアントからのリクエストをクライアントに代わってWebサーバに送信する代行サーバをProxyサーバといいます。通常、Proxyサーバは、クライアントとインターネットとの接点に設置されます。
これに対し、インターネットとWebサーバとの接点にProxyサーバを設置した場合をリバースProxyといいます。リバースProxyでは、クライアントからのリクエストをWebサーバに代わってProxyサーバが処理します。
■
リバースProxyのメリットとデメリット
・コンテンツへの直接アクセスを防止ができる。
Webサーバに重要な情報(クレジットカード番号のデータベースなど)を保持している場合,リバースProxyとWebサーバを別のマシンに設定し,悪意のあるアクセスからWebサーバを守り,情報の漏えいを防げます。
・Proxyサーバに負荷の高いSSL処理を集約ができる。
リバースProxyを使用し,SSLの処理を別のマシンですれば,Webサーバに掛かる負荷を分散できます。
・クライアントに影響を与えないで,Webサーバを分割ができる。
Webサーバを分割した場合でも,リバースProxyが代行するので,クライアントは分割前と同じインタフェースでアクセスできます。 逆にデメリットは、Proxyサーバも冗長化しない場合は、Proxyサーバ障害時にはWEBアクセスが不可能になります。
しかし、このデメリットもPacemakerなどのクラスタソフトを導入することで回避できます。
■
リバースProxyとして稼働する主なミドルウェア
・Apache、Nginx、IIS
■
リバースProxy+WEB(冗長化)+DB構成が可能なVPS
【さくらVPS】
【Conoha VPS】
【ServersMan@VPS】
※ServersMan@VPSは、LBサービスがあるので、リバースProxy導入は必須ではありません。
※
WindowsOSのVPSである[VirtualWeb]は、 安価、安定稼働する環境をつくるのは難しいです。
[複数台構成可能なVPS]関連記事
Linux系OSで複数台構成ができるVPS
Windowsで複数台構成ができるVPS
VPSでの複数サーバ構成例