10.8 大規模なリモートアクセス VPN サービスの構築
「10.4 一般的なリモートアクセス VPN の構築」 で解説したリモートアクセス VPN システムを VPN Server
を用いて実現する場合で、特に同時接続数が多くなることが予想される場合は、PacketiX VPN Server 2.0 Enterprise
Edition で利用することができるクラスタリング機能を使用して複数台の VPN Server
を用いて負荷分散を行うことができます。これにより、VPN Server 1
台ごとの負荷が減少し、スループットが向上します。また、フォールトトレランスも自動的に実現されます。
10.8.1 VPN Server の処理能力の限界
1 台の VPN Server は、理論上は 4,096 セッションを同時に処理することが可能です。つまり、リモートアクセス VPN
のための VPN サーバー用途として VPN Server を使用すると、約 4,000 個の VPN Client
からの同時接続を受け付けることができます。
しかしながら、現実的にはソフトウェアの制限だけではなく、ハードウェアの制限 (特にメモリ容量や CPU 速度などの限界値)
が存在するため、実際には 1 台の VPN Server に 4,000 個の VPN
セッションを接続して使用すると、通信速度が遅くなったり、VPN Server
側でメモリ不足が発生してスワップが生じることにより通信がタイムアウトしたりするなどの現象が発生し、性能が低下します。
このようなハードウェアが原因の性能低下は、ハードウェアの速度や容量が高速・大容量になることによって将来的には解消されることが予想されますが、現時点では将来入手できるような極めて高速なハードウェアを入手することは不可能ですので、ソフトウェアの運用を工夫して負荷を軽減させる必要があります。
大企業の IT 部門などにおいて、たとえば全社員を対象としたリモートアクセス VPN
サービスのサーバーを設置するような場合は、事前に同時にどの程度の VPN Client
が接続する可能性があるのかを見積もる必要があります。その結果、たとえば Pentium 4 2.8GHZ、RAM 1Gbytes 程度の VPN
サーバーマシンでは現実的にはおおよそ 200 セッションから 500 セッションにつき 1 台の VPN Server
を用意することをお勧めします (なお、厳密には実際のネットワークの負荷などによって必要な VPN Server の台数は異なります)。
10.8.2 クラスタリングによるスケーラビリティの向上
PacketiX VPN Server 2.0 Enterprise Edition
に組み込まれているクラスタリング機能を用いると、このよう大量の接続を処理したいリモートアクセス VPN
サーバーを設置する場合にクラスタを適切に構成することが可能です。
また、クラスタのすべてのコンピュータを合計すると 4,096
接続セッションを超える大量の同時接続セッションを受け付けることも可能になります。
ここでは、実際のリモートアクセス VPN
サービスの構成例を元にしてクラスタ構築時の要点について解説します。具体的なクラスタリング機能に関する解説や操作方法などについては、「3.9 クラスタリング」
をお読みください。
10.8.3 スタティック仮想 HUB の使用
クラスタ内には 1 個以上の仮想 HUB を作成することができます。クラスタ環境での仮想 HUB には「スタティック仮想
HUB」と「ダイナミック仮想 HUB」の 2 種類があります。
リモートアクセス VPN の用途に最適な仮想 HUB は、「スタティック仮想 HUB」です。その理由については 「3.9.7 スタティック仮想 HUB」
をお読みください。
10.8.4 ネットワーク構成
例として、下図のようなネットワーク構成について解説します。

図10-8-1 ネットワーク構成 |
上記のネットワーク例では、既存の社内 LAN にすでに IP ネットワークが構築されており、その社内 LAN に対してリモートから VPN
Client が VPN 接続することを想定しています。
この際、VPN Client の台数が多い場合は複数台の VPN Server を設置してそれらの VPN Server
間でクラスタリングを行うことにより、大量の同時接続数にも耐えることができます。
上記の例では、3 台の VPN Server がクラスタとして動作しています。そして、VPN Client
がクラスタに接続するとクラスタコントローラによって最も負荷が低い VPN Server に対して接続が割り当てられます。VPN Client
はどの VPN Server 上で動作しているスタティック仮想 HUB のインスタンスに対して接続したとしても、各 VPN Server の仮想
HUB は同一のリモートアクセス先ネットワークセグメントにローカルブリッジ接続しているため、負荷分散アルゴリズムによって接続された先の VPN
Server がどれであるかを意識せずにリモートアクセス VPN 通信を行うことができます。
なお、ここでは 3 台の VPN Server に対して合計 300 台の VPN Client
が接続することを想定していますが、実際に設置するのに適した VPN Server の台数は VPN Client の台数だけではなく、VPN
Server をインストールするコンピュータのハードウェアのスペックやその VPN Server
がインターネットに接続されているバックボーン回線の容量などによって変化します。必要な VPN Server
の台数を決定するために推奨されている方法は、まず 2 台程度の少数の VPN Server
でクラスタシステムを構築し実際に試験運用を行い、その結果すべての VPN Client
が同時に接続するとパフォーマンスに影響が出ることがわかった場合は、次第に VPN Server の台数を増加させていくことにより最適な VPN
Server の台数を求める方法です。この方法であれば、無駄なコストをかけずに最小限の VPN Server
を設置して最も効率が良いのパフォーマンスを得ることができます。
ここでの構成例では、リモートアクセス先の社内 LAN のレイヤ 2
セグメント数は 1
個であることを想定しています。実際のクラスタリング機能を必要とするような大企業では、社内ネットワークは複数のセグメントに分割されており、そのセグメント間で
IP ルーティングが行われているものと予想されます。したがって、そのようなネットワークに対してリモートアクセス VPN
サーバーを構築する場合は、それぞれのリモートアクセス先ネットワークごとにスタティック仮想 HUB を設置し、またそれぞれの
VPN Server でそれぞれの仮想 HUB と対応する物理的な Ethernet
セグメントとの間でローカルブリッジ接続を行ってください。 |
10.8.5 必要なライセンスの計算
このネットワーク構成について必要なライセンス数を計算してみます。まず、VPN Client からの接続を受け付ける 3 台分の VPN
Server の製品ライセンスが必要になります。クラスタリング機能を使用する場合は、Enterprise Edition が必要です。
また、上記の例では VPN Server に対して同時に 300 台の VPN Client が接続することになりますので、クライアント接続ライセンスが
300
クライアント分必要になります。
接続ライセンスはクラスタ全体で管理されるため、クラスタコントローラに対してのみ接続ライセンスを登録する必要があります
(ある瞬間でのクラスタ全体での同時接続数が購入している接続ライセンス数を超えなければ、ライセンス違反にはなりません)。
各 VPN Server 内の仮想 HUB と既存の LAN との間をローカルブリッジ接続する必要もありますが、そのためのブリッジ接続は
VPN Server 内で行うものですので、「ブリッジ接続ライセンス」は不要です。
従って、必要になる製品ライセンスおよび接続ライセンスは下記のとおりです。なお、ライセンス制度に関する詳細は 「1.3 PacketiX VPN 2.0 の製品構成およびライセンス」 をお読みください。
- VPN Server 2.0 Enterprise Edition License x 3
- VPN Server 2.0 Client Connect License (100 Clients) x 3
10.8.6 クラスタコントローラの設置と設定
複数台の VPN Server でクラスタを組む場合は、まず最初に 1 台目の VPN Server
をクラスタコントローラとして設定します。用意した複数台の VPN Server
用のサーバーコンピュータに性能の違いがある場合は、最もメモリ容量が大きくハードウェア的に安定したものをクラスタコントローラにすることをお勧めします。
VPN Server をクラスタコントローラにする方法については、「3.9.2 クラスタコントローラ」 をお読みください。
10.8.7 クラスタメンバサーバーの設置と設定
2 台目以降の VPN Server は 1 台目のクラスタコントローラに対して接続するクラスタメンバサーバーとして設定します。VPN
Server をクラスタメンバサーバーにする方法については、「3.9.3 クラスタメンバサーバー」 をお読みください。
10.8.8 スタティック仮想 HUB の作成
すべての VPN Server の設置が完了したら、クラスタコントローラに対して管理接続し、リモートアクセス用の仮想 HUB を 1
つ作成します。仮想 HUB の種類は、スタティック仮想 HUB
とします。なお、前述したようにもしリモートアクセス先のネットワークの種類が複数セグメントある場合は、その数だけスタティック仮想 HUB
を作成してください。
なお、VPN Server インストール後にデフォルトで作成されている "DEFAULT" という名前の仮想 HUB はダイナミック仮想
HUB ですのでご注意ください (この仮想 HUB をスタティック仮想 HUB に変更して使用することもできます)。
10.8.9 既存の LAN と仮想 HUB のローカルブリッジ
クラスタコントローラに対してスタティック仮想 HUB を作成すると、自動的にすべての VPN Server 上にそのスタティック仮想
HUB のインスタンス (実体) が生成されます (詳しくは 「3.9.7 スタティック仮想 HUB」 をお読みください)。
次に、各 VPN Server に対して直接管理接続し、その仮想 HUB とリモートアクセス先の物理的な LAN
との間でローカルブリッジ接続を構成してください (ローカルブリッジ接続の構成方法については、「3.6 ローカルブリッジ」
をお読みください)。なお、前述したようにもしリモートアクセス先のネットワークの種類が複数セグメントある場合は、複数作成したスタティック仮想
HUB を対応する物理的な LAN との間でローカルブリッジしてください (そのために複数枚の LAN カードが必要になります)。
なお、ローカルブリッジ接続を行う際の注意点については、「10.4.7 ローカルブリッジの設定」 と同等の事項があります。
すべての VPN Server でローカルブリッジの設定が完了したら、そのクラスタはリモートアクセス VPN
システムとしての設定が完了したことになります。この状態で VPN Client がインターネット経由でクラスタコントローラに対して VPN
接続すると、クラスタコントローラは自動的に負荷が最も低い VPN Server に対してクライアントからの接続をリダイレクトし、その VPN
Server がクライアントからの接続を処理します。この際、接続元の VPN Client は接続先の VPN Server
がクラスタであることを意識する必要がありません。
また、もし動作中の VPN Server
の一部がハードウェア故障やオペレーティングシステムのアップデートなどの理由で一時的に停止した場合は、その VPN Server
に接続されていたすべての VPN セッションは自動的に別の VPN Server に割り当てられて通信が継続して行われます。この際にも VPN
Server の管理者は一切操作する必要がありません。
10.8.10 クラスタ環境での VPN セッションの管理
一度クラスタ環境を構築した後は、クラスタ内のクラスタメンバサーバーに対して直接管理接続を行い管理をする必要は基本的にはありません。ログファイルのダウンロード、ログ保存設定の書き込み、現在接続されているセッション一覧の表示、ユーザーの追加
/ 削除 /
編集、使用する外部認証サーバーの設定、信頼する証明書の設定などのほぼすべての管理設定はクラスタコントローラに対してのみ行うことで、自動的にクラスタコントローラが各
VPN Server に対して設定の更新を通知し、クラスタ全体の状態は常に整合性が保たれた状態になります。
|