目次
- 1. 3.9.1 クラスタリングとは
- 1.1. クラスタリングの必要性
- 1.2. SoftEther VPN Server におけるクラスタリング機能の目的
- 1.3. クラスタリング機能の概要
- 1.4. 前提条件
- 2. 3.9.2 クラスタコントローラ
- 2.1. クラスタコントローラとは
- 2.2. クラスタコントローラによる負荷分散処理の概要
- 2.3. VPN Server をクラスタコントローラに設定する方法
- 2.4. 仮想 HUB の作成や管理
- 3. 3.9.3 クラスタメンバサーバー
- 4. 3.9.4 ロードバランシング
- 5. 3.9.5 性能基準比によるロードバランシングの調整
- 6. 3.9.6 フォールトトレランス
- 7. 3.9.7 スタティック仮想 HUB
- 8. 3.9.8 ダイナミック仮想 HUB
- 9. 3.9.9 スタティック仮想 HUB における任意のサーバーへの接続
- 10. 3.9.10 クラスタ全体の一括管理
- 10.1. クラスタ全体の一括管理について
- 10.2. ローカルブリッジおよび仮想レイヤ 3 スイッチの設定について
- 10.3. 仮想 HUB の種類の変更について
- 11. 3.9.11 クラスタリングと同時に使用できない機能
- 12. 参考文献
SoftEther VPN Server はクラスタリング機能をサポートしています。ここでは、クラスタリング機能に関する解説を行います。
3.9.1 クラスタリングとは
クラスタリングの必要性
一般に「クラスタリング」処理とは、1 台のコンピュータでは処理を行うことが困難な、大量の処理を複数台のコンピュータによって負荷分散しながら処理することができ、またユーザーから見ると全体が 1 つのシステムとして認識されているので、バックグラウンドで複数台のコンピュータによる連携処理が行われていることを意識する必要がないような処理方法のことを意味します。
SoftEther VPN Server におけるクラスタリング機能では、複数台の VPN Server コンピュータを 1 つのクラスタとしてまとめて稼動させることにより、通常 1 台ごとのコンピュータでは処理を行うことができないような大量の処理内容を、全体で処理させることができます。
SoftEther VPN Server におけるクラスタリング機能の目的
SoftEther VPN Server のクラスタリング機能は、下記のような 2 種類のネットワーク、または両方を複合したネットワークを構築するために、設計および実装されています。その他の目的 (たとえばクラスタノード自体を離れた場所に分散させて自律的に稼動させるなど) のために、設計または実装されたものではありません。
- 1 台の VPN Server ですべての同時接続を処理することが困難な「大規模なリモートアクセス VPN サービス」の構築 (詳しくは 「10.8 大規模なリモートアクセス VPN サービスの構築」 をお読みください)。
- 1 台の VPN Server で、すべての仮想 HUB および同時接続を処理することが困難な、「大規模な仮想 HUB ホスティングサービス」の構築 (詳しくは 「10.9 大規模な仮想 HUB ホスティングサービスの構築」 をお読みください)。
クラスタリング機能の概要
複数台の VPN Server でクラスタを構成する場合は、それらのコンピュータの内 1 台を「クラスタコントローラ」モードで動作させ、それ以外のコンピュータをクラスタコントローラに対してクラスタ接続して動作する「クラスタメンバサーバー」として動作させることになります 。VPN Server をインストールした直後の初期状態では VPN Server は「スタンドアロンサーバー」モードで動作しており、クラスタは構成されていません。
クラスタリングによって、下記のことを実現することができます。
- 大量の VPN 接続を処理する必要のある環境において、複数台の VPN Server で負荷分散を行いながら、1 台の VPN Server では処理できなかったり、すべて処理するとパフォーマンスに深刻な影響がでるような処理を全体としてうまく処理することが可能です。
- クラスタ内で動作するクラスタメンバサーバーが、ハードウェアのトラブルやソフトウェアのアップデートなどによって一時的に停止した場合は、そのクラスタメンバサーバーが行うべき処理は、自動的に別のクラスタメンバサーバーに引き継がれます。したがって、個々のサーバーはある程度の長期間運用で故障する可能性はありますが、全体としてはほぼ 「無停止状態」で運用を継続することができます。
- クラスタ内で仮想 HUB を動作させる際に、その目的に応じて動作モードとして「スタティック仮想 HUB」と「ダイナミック仮想 HUB」のどちらかを選択することができます。
- VPN Server 全体の管理者や仮想 HUB の管理者は、各クラスタメンバサーバーの存在を意識することなく、クラスタコントローラにのみ接続して、すべてのクラスタメンバサーバーを簡単に管理することができます。
前提条件
各 VPN Server は、できるだけ「遅延が小さくスループットの高いネットワーク」で接続されていることを推奨します。通常、クラスタを組む場合は、それぞれのサーバーを同一の場所にまとめて設置します 。そのような場合では、すべてのクラスタメンバサーバーが、クラスタコントローラに対して「ルータを経由せずに同一セグメントで直接接続している状態」が最も望ましいと言えます。なお 、パフォーマンスは落ちますが、ルータなどを経由して離れた場所にクラスタコントローラやクラスタメンバサーバを設置することも技術的には可能です。いずれの場合においても、クラスタコントローラは他のすべてのクラスタメンバサーバーから 「TCP/IP プロトコルで通信可能な場所」に設置されている必要があります。
クラスタコントローラとクラスタメンバサーバー間の接続方法
3.9.2 クラスタコントローラ
クラスタコントローラとは
「クラスタコントローラ」は、クラスタ全体の中心となるコンピュータです。クラスタを構築した場合に、「クラスタの代表」となるコンピュータがクラスタコントローラであり、クラスタに対して接続しようとする VPN Client や VPN Server / VPN Bridge などは、接続先 IP アドレスまたはホスト名としてクラスタコントローラの IP アドレスまたはホスト名を指定することになります。
クラスタコントローラによる負荷分散処理の概要
クラスタコントローラは、VPN 接続元コンピュータからの VPN 接続を受け付けると、通常の VPN 接続を処理する場合と同様に「ユーザー認証処理」を行います。ユーザー認証に成功した場合は、次にその接続をどのクラスタメンバサーバーに対して処理させるのかを自動的に選択し、そのクラスタメンバサーバーに対して接続をリダイレクションすることによって負荷分散を実現します。クラスタコントローラとなる VPN Server 自体も負荷分散先の対象となります。なお、負荷分散アルゴリズムは、各 VPN Server の負荷状況 (各 VPN Server が処理している VPN セッション数の合計数) を比較することによって新しく接続された VPN セッションの割り当て先を自動的に決定します。その際、クラスタメンバ一覧の「ポイント」という「整数値」を使用します。また、事前に、クラスタコントローラおよび各クラスタメンバサーバーの設定項目として 、[クラスタ内での性能基準比] を設定しておくことによって、手動で負荷分散のためのパラメータを調整することが可能です。
ここで解説した負荷分散処理は概要であり、実際には VPN 接続が行われた先の仮想 HUB の種類によってより細やかな制御が行われます。詳しくは、3.9.7 および 3.9.8 をお読みください。
VPN Server をクラスタコントローラに設定する方法
VPN Server のデフォルトの動作モードは「スタンドアロンサーバー」です。この動作モードを「クラスタコントローラ」に変更することによって、VPN Server をクラスタコントローラモードで動作させることができます。なお、この設定を含めて、すべてのクラスタリング関係の設定は「VPN Server 全体の管理者」しか行うことができません。
VPN Server をクラスタコントローラモードに設定するには、「VPN サーバー管理マネージャ」で [クラスタリング構成] ボタンをクリックすると表示される [クラスタリング構成] ダイアログで、[クラスタコントローラ] を選択して [OK] をクリックします。「vpncmd」では、「ClusterSettingController」コマンドが使用できます。
クラスタリング構成設定画面
SoftEther VPN Server を「クラスタモード」で使用すると、一部の機能が使用できなくなります。スタンドアロンサーバーモードで使用していた機能のうち、3.9.12 で説明されている機能にかかわる構成データは、サーバーの動作モードをクラスタコントローラモード 、またはクラスタメンバサーバーモードに変更する際にすべて消去されますのでご注意ください。サーバーの動作モードを変更する前にバックアップをとっておくことをお勧めします。 |
仮想 HUB の作成や管理
クラスタリング環境の VPN Server では、仮想 HUB はクラスタコントローラに対して作成します。クラスタメンバサーバーは、必要な場合にクラスタコントローラからの指示によって一時的に仮想 HUB のインスタンスを作成しますが、クラスタメンバサーバーに対して直接仮想 HUB を作成する必要はありません。3.9.10 でも説明しますが、クラスタリング環境では仮想 HUB の作成や 、すべての仮想 HUB に関する設定・管理はクラスタコントローラに対してのみ行うことになります。
3.9.3 クラスタメンバサーバー
クラスタメンバサーバーとは
「クラスタメンバサーバー」は、クラスタの構成員のうち、クラスタコントローラ以外のコンピュータのことを意味します。クラスタコントローラに対してクラスタ接続することによって、クラスタメンバサーバーは接続先クラスタコントローラの制御下に置かれ、クラスタ内での処理 を分担するようになります。
既存のクラスタにクラスタメンバサーバーを追加する場合は、クラスタコントローラの「ホスト名または IP アドレス」と「ポート番号」(クラスタコントローラが公開しているリスナーポートのうちの 1 個) 、および「管理パスワード」が必要です。
VPN Server をクラスタメンバサーバーに設定する方法
VPN Server のデフォルトの動作モードは「スタンドアロンサーバー」です。この動作モードを「クラスタメンバサーバー」に変更することによって、VPN Server を「クラスタメンバサーバー」モードで動作させることができます。
VPN Server をクラスタメンバサーバーモードに設定するには、「VPN サーバー管理マネージャ」から、[クラスタリング構成] ボタンをクリックすると表示される [クラスタリング構成] ダイアログで、[クラスタメンバサーバー] を選択して必要項目を指定してから [OK] をクリックします。「vpncmd」では「ClusterSettingMember」コマンドが使用できます。
この際に入力する必要がある項目は、下記のとおりです。
項目名 | 説明 |
コントローラのホスト名または IP アドレス | 参加するクラスタの代表であるクラスタコントローラコンピュータの「ホスト名」または「IP アドレス」を指定します。ここで指定したホストでは、VPN Server がクラスタコントローラモードで動作している必要があります。 |
コントローラのポート番号 | 接続先クラスタコントローラの「TCP/IP ポート」を指定します。 |
管理パスワード | 接続先クラスタコントローラの「管理パスワード」を指定します。ここに入力した管理パスワードのハッシュ値がチャレンジアンドレスポンス認証によって一致するかどうかで、クラスタへのメンバとしての参加が許可または拒否されます。クラスタコントローラの管理パスワードが変更された場合は 、クラスタメンバサーバーの「クラスタ接続設定の管理パスワード」も変更する必要があります。なお、クラスタメンバサーバー自体の VPN Server の管理パスワードとの関連はありません。 |
公開 IP アドレス | クラスタコントローラに対して申告する、このクラスタメンバの公開する「IP アドレス」です。ここで指定した IP アドレスは、クラスタコントローラが、新しい VPN 接続元からの VPN 接続セッションの負荷分散先として、このクラスタメンバサーバーが選択された場合にリダイレクトを指示する先の IP アドレスになります。何も入力しない場合は、クラスタコントローラへのクラスタ接続の際に使用されるネットワークインターフェイスの IP アドレスが自動的に使用されます。もし、クラスタコントローラへのクラスタ接続の際に使用するネットワークインターフェイスの IP アドレスとは別の IP アドレスを公開 IP アドレスとして申告したい場合は、その IP アドレスを指定してください。 |
公開ポート一覧 | クラスタコントローラに対して申告する、このクラスタメンバの「公開ポート番号」です。通常はこのクラスタメンバサーバーが公開する 「リスナーポートの一覧」を指定してください。公開ポート番号は 1 つ以上指定する必要があり、カンマ記号で区切って複数のポート番号を指定できます。 |
クラスタメンバモードの VPN Server によるクラスタコントローラへのクラスタ接続
クラスタメンバモードで動作する VPN Server は、クラスタコントローラに対して常に「クラスタ接続」と呼ばれる特別な制御用の TCP/IP 接続を行っています。クラスタメンバサーバーは、指定されているクラスタコントローラとの間の制御用クラスタ接続コネクションを可能な限り維持しようとします。また、もしクラスタ接続が切れてしまった場合や接続に失敗した場合は、接続に成功するまで数秒間隔で常に再試行を続けます。
クラスタメンバサーバーが、クラスタコントローラに対して正しくクラスタ接続されているかどうかを知りたい場合、「VPN サーバー管理マネージャ」でクラスタメンバサーバーに接続して [クラスタリング状態] をクリックすると、下記のような情報が表示されます。「vpncmd」では 「ClusterConnectionStatusGet」コマンドを使用することができます。
項目名 | 説明 |
接続状態 | クラスタ接続が、正常な状態で完了している場合は [オンライン] と表示されます。もしクラスタ接続が正しく接続されていない場合は、そのエラーの原因が表示されます。 |
接続開始時刻 | クラスタ接続を開始した日時です。 |
最初の接続確立成功時刻 | 最初にクラスタコントローラへの接続に成功した日時です。 |
現在の接続確立成功時刻 | 現在確立しているクラスタ接続が成功した日時です。 |
接続試行回数 | これまでに試行した、クラスタコントローラへの接続試行回数が表示されます。 |
接続に成功した回数 | これまでに接続試行した内、接続に成功した回数が表示されます。 |
接続に失敗した回数 | これまでに接続試行した内、接続に失敗した回数が表示されます。 |
クラスタコントローラへの接続状態表示画面
クラスタコントローラに接続している VPN Server 一覧の取得と詳細情報の表示
クラスタコントローラに「VPN サーバー管理マネージャ」で接続して [クラスタリング状態] をクリックすると、そのクラスタコントローラに接続されている、すべてのクラスタコントローラおよびクラスタメンバサーバーの一覧が表示されます。「vpncmd」では 「ClusterMemberList」コマンドを使用することができます。
クラスタ内の VPN Server 一覧の管理画面
ここで一覧表として表示されている項目には下記のようなものがあります。
項目名 | 説明 |
種類 | [コントローラ] または [メンバ] のいずれかです。 |
接続時刻 | そのメンバがクラスタコントローラに対してクラスタ接続し、クラスタの一員として「動作を開始した日時」です。 |
ホスト名 | クラスタコントローラ、またはクラスタメンバサーバーの「ホスト名」です。 |
ポイント | クラスタメンバサーバーの負荷状況を示す値です。この値が高いほど負荷が低く、新しい VPN セッションが負荷分散される先のメンバとして指定される可能性が高いことを意味します。 |
セッション数 | VPN Server が処理している「VPN セッション数」が表示されます。 |
TCP コネクション数 | VPN Server が処理している「TCP/IP コネクション数」が表示されます。 |
動作仮想 HUB 数 | VPN Server 内で動作している「仮想 HUB のインスタンス数」が表示されます。 |
なお、[クラスタメンバ一覧] ダイアログの表に表示される「クラスタコントローラ」、および「各クラスタメンバの各種情報」は、クラスタコントローラによって数秒ごとに各メンバサーバーに問い合わせた結果を表示しているため、実際には最新の情報ではなく数秒前の情報である場合があります。
また、「VPN サーバー管理マネージャ」で表示されるクラスタメンバを選択して [クラスタメンバサーバーの情報を表示] をクリックすると、そのクラスタメンバサーバーの詳細情報を表示することができます。「vpncmd」では「ClusterMemberInfoGet」コマンドを使用します。
クラスタ内のメンバサーバーの状態表示画面
クラスタコントローラとクラスタメンバサーバーの間のクラスタ接続の通信は TCP/IP をベースとしたプロトコルですが、SoftEther VPN プロトコルとは異なる、クラスタリング用の「独自の同期および非同期 RPC (リモートプロシージャコール)」によって実装されています。システム管理者は 、このプロトコルについての詳細な知識を必要としません。また、プロトコルの内容は SSL によって暗号化され、認証にはパスワードをハッシュ化したものが使用されます。ただし、SoftEther VPN プロトコルのような高度なサーバー証明書認証などの機能は実装されていません。したがって、クラスタコントローラとクラスタメンバとの間のクラスタ接続は 、同一の LAN 内などの「物理的にセキュアな範囲」で行うことが推奨されています。大抵の場合はクラスタに使用するすべてのコンピュータは、同一の部屋などに設置されるため問題はありませんが、何らかの理由により地理的に分散する場合は注意が必要 となります。 |
3.9.4 ロードバランシング
VPN Client からの通常の VPN 接続や、VPN Server / VPN Bridge 内からのカスケード接続などの VPN 接続をクラスタに対して行う場合は、「クラスタコントローラ」の「IP アドレス」「ポート番号」および「接続先の仮想 HUB 名」を指定します。
VPN 接続元からの接続を受けたクラスタコントローラである VPN Server は、その VPN 接続に対してユーザー認証を行ってから、実際にその VPN セッションを割り振る先のクラスタメンバを選定します。この際、下記のアルゴリズムが使用されます。
VPN 接続先として指定された仮想 HUB が「スタティック仮想 HUB」の場合
クラスタコントローラは、現在のすべての VPN Server のうち「ポイント」の値が最も高い VPN Server に対して接続をリダイレクトします。
なお、スタティック仮想 HUB についての詳細は、3.9.7 を参照してください。
VPN 接続先として指定された仮想 HUB が「ダイナミック仮想 HUB」の場合
下記の手順によって、リダイレクト先の VPN Server が選択されます。
- クラスタ内のいずれかの VPN Server に、その仮想 HUB に対して接続されている VPN セッションがまだ存在しない場合は、現在のすべての VPN Server のうち「ポイント」の値が最も高い VPN Server に対して接続をリダイレクトします。
- クラスタ内のいずれかの VPN Server に、その仮想 HUB に対して接続されている VPN セッションがすでに存在する場合は、その VPN Server に対して接続をリダイレクトします。
なお、ダイナミック仮想 HUB についての詳細は 3.9.8 を参照してください。
3.9.5 性能基準比によるロードバランシングの調整
性能基準比による重み付け
前述のようにクラスタコントローラは、クラスタ内の VPN Server の中から「最も負荷の低いサーバーを 1 つ選択する」場合、VPN Server のうち「ポイント」の値が最も高いものを選択します。
ポイントについてはおおよそ以下の式によって決定されます。
ポイント = (4096 - 同時接続 VPN セッション数 * 100 / 重み) * 100000 / 4096 |
上記の式は、「重み」というパラメータを設定することにより、各 VPN Server の「性能基準比」を定義することができます。VPN Server の [クラスタリングの構成] における設定項目の 1 つである [クラスタ内での性能基準比] の値を設定することにより、「重み」パラメータを自由に変更することができます。なお、初期状態では重みパラメータは「100」です。
[クラスタ内での性能基準比] の値は、通常の VPN Server の性能を「100」として、設定対象の VPN Server の性能がどの程度であるかを設定します。たとえば、2 台のサーバーがあり、それぞれ [クラスタ内での性能基準比] の値が 100 と 200 の場合は、後者の VPN サーバーは前者の VPN サーバーに比べて「2 倍の数の VPN セッションを処理することができる」ことを意味します。VPN クラスタコントローラは、おおむねここで設定された値に基づいて、全体の VPN Server が処理するべき VPN 接続セッション数を決定し、それに基づいて負荷分散を行います
クラスタコントローラ自身が VPN 通信を処理しないようにするための設定
クラスタコントローラは、VPN 接続元から接続された VPN 接続を処理する VPN Server として自分自身を選定することもあります。クラスタコントローラは、新しい VPN セッションの割り当て先 VPN Server を決定する際に、3.9.4 で解説したアルゴリズムに基づいて、クラスタ内の VPN Server の「ポイント」の値を基準に判断するため、クラスタコントローラもクラスタメンバも平等な基準によって選定されます。
しかしながら、クラスタ全体として非常に負荷が大きくなるような大量の VPN 接続数をクラスタで処理しなければならないような場合は、クラスタコントローラは、各クラスタメンバへの VPN 接続のリダイレクション処理を行わせるだけの役割を担わせることによりって、クラスタコントローラ自身の負荷を下げることができるようになっています。この設定を行うためには、VPN Server の [クラスタリングの構成] における設定項目のうち [コントローラ機能のみ (自身は VPN 通信を処理しない)] チェックボックスを有効にしてください。これにより、クラスタコントローラ自身は、新しい VPN セッションの割り当て先 VPN Server を決定する際に自分自身を選定しないようになります。
3.9.6 フォールトトレランス
SoftEther VPN Server のクラスタシステムは、ロードバランシング (負荷分散) を提供するだけではなく「フォールトトレランス」の実現も同時に行います。
クラスタ内で動作しているクラスタメンバサーバーが、ハードウェアのトラブルやソフトウェア/デバイスドライバの不具合によって突然停止してしまった場合や 、VPN Server ソフトウェアプログラムおよびオペレーティングシステムのアップデート処理によって VPN Server プロセスを一時的に停止しなければならないような事態が発生した場合は、そのクラスタメンバサーバーがクラスタコントローラへの接続を失うことによって、クラスタコントローラは自動的にそのクラスタメンバサーバーがクラスタから離脱したと見なし、ロードバランシングの対象としないように処理します。
また、機能を停止したクラスタメンバサーバーに接続していた VPN セッションはすべて、自動的に別のクラスタメンバサーバーに引き継がれます。この処理は自動的に行われ、VPN 接続元の VPN クライアントコンピュータ側では、特別な操作は一切必要ありません。この仕組みによって、インターネットサービスプロバイダや大企業などで使用する複数台の VPN Server のコンピュータのうち一部が不具合によって停止したり、メンテナンスのためシャットダウンしなければならないような場合でも、クラスタに別のコンピュータが残っている限り、クラスタ全体は停止せずに継続して稼動します。
SoftEther VPN クラスタによるフォールトトレランスの実現
3.9.7 スタティック仮想 HUB
クラスタリングを使用しない場合の仮想 HUB には特に種類はありませんが、クラスタ環境における仮想 HUB には「スタティック仮想 HUB」と「ダイナミック仮想 HUB」の 2 種類があります。仮想 HUB は作成時に種類を指定しなければなりません。設定ファイルを直接編集しない限り、後から種類を変更することはできません。
まず、「スタティック仮想 HUB」について解説します。
「スタティック仮想 HUB」は、リモートアクセス VPN のための仮想 HUB を構築するために便利な種類の仮想 HUB です。クラスタ内でスタティック仮想 HUB を作成すると、その仮想 HUB のインスタンス (実体) は、クラスタ内のすべての VPN Server に作成され、クラスタが動作している間はすべての VPN Server 上で動作をし続けます。
リモートアクセス接続をしたい接続元 VPN ソフトウェア (通常はエンドユーザーの VPN Client) が、クラスタコントローラに接続すると、クラスタコントローラはすべての VPN Server の中から前述のアルゴリズムによって 1 つを選択し、その VPN Server 内のスタティック仮想 HUB のインスタンスに対して接続をリダイレクトします。
クラスタ内の各 VPN Server に 1 つずつ作成するスタティック仮想 HUB のインスタンスに対して、各 VPN Server コンピュータに接続されている物理的な LAN カードとの間でローカルブリッジ接続を構成しておき、またローカルブリッジ接続の先の物理的な LAN すべてをリモートアクセスさせたい先の社内 LAN に接続しておくことにより (直接レイヤ 2 で接続しても、ルータや NAT を用いてレイヤ 3 で接続しても構いません)、VPN Client ユーザーは、どの VPN Server に対して接続が振り分けられても、社内 LAN にリモートアクセスすることができます。
この仕組みによって、大量の同時接続数を処理することが必要な「大規模なリモートアクセス VPN サービス」を構築することができます。具体的な構成例については、「10.8 大規模なリモートアクセス VPN サービスの構築」 を参照してください。
3.9.8 ダイナミック仮想 HUB
「ダイナミック仮想 HUB」は、クラスタ内に大量の仮想 HUB を作成し、同一の仮想 HUB に接続したユーザー同士が自由に通信することができるような VPN サーバーサービスを提供する場合に、便利な種類の仮想 HUB です。たとえば、大企業のシステム部門が各部署毎に仮想 HUB を作成したり、インターネットサービスプロバイダが顧客へのサービスとして仮想 HUB を作成したりして、部署のユーザーや顧客などがその仮想 HUB に対する管理権限を持ち、仮想 HUB を自由に運用するといった使用方法に適しています。このような使用方法を行う場合は、VPN Server 全体の管理者は VPN クラスタが正しく動作しているかどうかのみに注意する必要があり、各仮想 HUB の設定や運営などの役割を、すべて「仮想 HUB の管理者」に委譲することができます。
クラスタ内でダイナミック仮想 HUB を作成すると、その仮想 HUB に誰も接続していない状態では仮想 HUB のインスタンス (実体) はクラスタ内のどの VPN Server にも存在していません。クラスタコントローラは、その仮想 HUB を指定して VPN 接続してきた 1 つ目のセッションを処理する段階になってはじめて、その仮想 HUB のインスタンスを動作させるべき VPN Server を 1 台選定し、その VPN Server に対して仮想 HUB のインスタンスを作成し、VPN セッションをその VPN Server に対してリダイレクトします。その仮想 HUB に対する 2 つ目以降のセッションは、自動的にその仮想 HUB のインスタンスが動作している VPN Server に対してリダイレクトされるため、クラスタ内に VPN Server が何台あっても、同一の仮想 HUB に接続している VPN セッション同士は、必ず同じ VPN Server に接続することになります。また、ダイナミック仮想 HUB に誰も接続していない状態になると、そのダイナミック仮想 HUB のインスタンスは自動的に動作を停止して、専有していた CPU およびメモリリソースを解放します。
この仕組みによって、大量の仮想 HUB をホスティングすることができる「大規模な仮想 HUB ホスティングサービス」を構築することができます。具体的な構成例については、「10.9 大規模な仮想 HUB ホスティングサービスの構築」 を参照してください。
3.9.9 スタティック仮想 HUB における任意のサーバーへの接続
前述のように、「スタティックモード仮想 HUB」に対する VPN 接続は、自動的に負荷分散されるため、スタティックモード仮想 HUB に接続する際には、接続してみるまで、どの VPN Server に対して接続されるのかを知ることはできません。
しかし、仮想 HUB の管理者は、管理上の目的のためにクラスタ内の任意の VPN Server のスタティック仮想 HUB のインスタンスに接続する必要があるような場合があります。このような場合は、VPN Client などで接続設定を作成する際に、接続先の VPN Server としてクラスタコントローラを指定するのではなく、直接接続したい「VPN Server のアドレス」と「仮想 HUB 名」を指定してください。また、その際、Administrator ユーザーとして接続するための「パスワード」も指定してください (詳しくは 「3.4 仮想 HUB の機能」 を参照してください)。この場合、例外としてクラスタコントローラを経由せずに直接希望する VPN Server のスタティック仮想 HUB に対して VPN 接続を行うことが可能です。
3.9.10 クラスタ全体の一括管理
クラスタ全体の一括管理について
一度クラスタを構築してしまった後は、VPN Server の管理者や各仮想 HUB の管理者は、クラスタコントローラにのみ管理接続を行うだけで、すべてのクラスタ上で動作している仮想 HUB の状態管理や VPN セッションの管理などを一括管理することができます。VPN Server や仮想 HUB の管理には、クラスタリング機能を使用しない場合と同様に 、「VPN サーバー管理マネージャ」または「vpncmd」を使用します。
クラスタコントローラに対して接続するだけで、VPN Server の管理者はクラスタ内のすべての仮想 HUB の管理を行うことができます。各仮想 HUB の管理者は、自分が管理権限を持っている仮想 HUB に関する管理を行うことができます。
VPN Server の管理者が、クラスタコントローラ以外のクラスタメンバサーバーに対して直接管理接続する必要があるのは、次のような場合のみです。
- クラスタメンバサーバーをクラスタから離脱させ、動作モードを「スタンドアロンサーバー」に戻したい場合。
- クラスタメンバサーバーのライセンスを、「追加」または「削除」したい場合。
- クラスタメンバサーバー内で、実際にどの「仮想 HUB のインスタンス (実体)」が動作しているかを確認したい場合。
- クラスタメンバサーバーの [暗号化と通信の設定] 項目を編集したり、コンフィグレーションファイルの内容を取得したり、サーバー状態などを取得したい場合。
なお、仮想 HUB の管理者は、クラスタコントローラに対してのみ管理接続を行うことができ、各クラスタメンバサーバーに対して管理接続を行うことはできません。
ローカルブリッジおよび仮想レイヤ 3 スイッチの設定について
ローカルブリッジおよび仮想レイヤ 3 スイッチの設定は、各 VPN Server に対して行います。なお、これらの設定には VPN Server 全体の管理者権限が必要です。また、3.9.11 も参照してください。
仮想 HUB の種類の変更について
仮想 HUB を作成した後、種類 (「ダイナミック仮想 HUB」または「スタティック仮想 HUB」) を変更することはできません。仮想 HUB を作成する際に、適切な種類を選択してください。
3.9.11 クラスタリングと同時に使用できない機能
クラスタリング機能を有効にした場合に、同時に使用できなくなる機能については、下記のようなものがあります。
- カスケード接続機能
(別のコンピュータからのカスケード接続を受け付けることは可能です) - SecureNAT 機能の仮想 NAT 機能
- L2TP/IPSec, OpenVPN, SSTP, L2TPv3, EtherIP などのプロトコル互換機能
「ローカルブリッジ機能」、「仮想レイヤ 3 スイッチ機能」については、正常に使用することができます。ただし、ローカルブリッジ定義または仮想レイヤ 3 スイッチの仮想インターフェイス定義として指定されている仮想 HUB のインスタンス (実体) が、実際にその VPN Server に存在する間のみ、当該ローカルブリッジおよび仮想レイヤ 3 スイッチが動作します。「スタティックモード仮想 HUB」の場合、定義されているスタティック仮想 HUB のインスタンスは 、原則として常にすべての VPN Server に存在しますが、「ダイナミック仮想 HUB」の場合は、クラスタ内の VPN Server のうちインスタンスが存在する VPN Server は、同時に 1 つだけなので、通常ダイナミック仮想 HUB に対してローカルブリッジまたは仮想レイヤ 3 スイッチ機能は使用できません。
参考文献
- 3.4 仮想 HUB の機能
- 6.3.12 "ClusterSettingController": VPN Server の種類をクラスタコントローラに設定
- 6.3.13 "ClusterSettingMember": VPN Server の種類をクラスタメンバに設定
- 6.3.14 "ClusterMemberList": クラスタメンバの一覧の取得
- 6.3.15 "ClusterMemberInfoGet": クラスタメンバの情報の取得
- 6.3.16 "ClusterMemberCertGet": クラスタメンバの証明書の取得
- 6.3.17 "ClusterConnectionStatusGet": クラスタコントローラへの接続状態の取得
- 10.8 大規 模なリモートアクセス VPN サービスの構築
- 10.9 大規 模な仮想 HUB ホスティングサービスの構築