マルチマシン¶
Ericom Shieldは、正確な顧客の要求に応じて、さまざまな方法で導入できます。 小規模な展開のためには、Shieldを単一のマシンにインストールして フル 機能を提供することができます。
負荷の高い環境や、冗長性が必要とされる大規模な展開には、マルチのマシン環境をお勧めします。これは高可用性 (HA)、スケーラビリティを確保し、負荷分散を向上させます。
スケーリングは、必要に応じて(例えば、システム内のユーザ数の増加など)、初期インストール中または後の段階で容易に行えます。 スケーリングは水平方向(ノードを追加すること)と垂直方向(リソースを追加すること)の両方で行うことができます。
ノードタイプの概要¶
Ericom Shieldには、オーケストレーションプラットフォームが含まれています。 オーケストレーションプラットフォームには、ManagerまたはWorkerの2種類のマシン(ノード)が含まれています。 ノードタイプは、ノードを設定するときにスイッチを使用して定義されます。詳細は後述します。 Manager ノードは、コンテナの管理を担当します。 システムが使用されているときにブラウザコンテナを作成し、破棄します。 オーケストレーターはフォールトトレランスにも重要な役割を果たします。 オーケストレーターは、すべてのシステムコンポーネントを1つのクラスタとして参照し、すべての要素が適切に機能していることを常にチェックします。 いずれかのコンポーネントで問題が検出された場合、オーケストレータは破損したコンポーネントをシャットダウンし、そのコンテナの新しいインスタンスを作成し、新しいコンテナをクラスタに参加させ、システムを通常の操作に復元します。 このプロセスはユーザーの介入なしに自動的に行われます。
オーケストレーションが正しく機能するためには、 奇数 のManagerノードを維持することが重要です。 これは、ノードに障害が発生した場合でもクォーラムが確実に維持されるようにするためです。 Managerノードの数に応じて提供されるフォールトトレランスのレベルを強調表示した下の表を参照してください。 たとえば、 5 つのManagerノードがある場合、 2 つのManagerノードが失われても、システムは動作可能なままです。
ノード数 | マジョリティ | フォールト トレランス |
---|---|---|
1 | 1 | 0 |
2 | 2 | 0 |
3 | 2 | 1 |
4 | 3 | 1 |
5 | 3 | 2 |
6 | 4 | 2 |
7 | 4 | 3 |
Managerノードの中で、1つは常に Leader として定義され、このノードはクラスター内の他のマシンを調整します。 既存のLeaderノードに障害が発生すると、他の Manager ノードの1つが Leader に昇格されます(Managerの過半数が残りのノード内に存在する)。
参考
最大7つの Manager ノードが、パフォーマンス的に最適とみなされます。 Manager ノードの数が多いほどオーバーヘッドと見なされます。
Ericomコンポーネントの紹介¶
マルチマシン環境では、Ericom Shieldサーバには3つのタイプがあります。
- Management - システム、管理、オーケストレーションの管理、ログの収集などに関連するすべてのコンポーネントが含まれます。これらのサーバーは領域内にあります( 保護 領域内にあります)。 HAを確実にするためには、3-7つの Management サーバ(奇数である必要があります)を持つことをお勧めします。
- Browsers Farm - すべてのリモートのブラウザー サーバーが含まれています。これらのサーバーは、DMZ にあります。サーバーの数は、負荷によって異なります。
- Core - すべてのコアコンポーネントが含まれます。 これらのサーバーはDMZにあります。 HAを確保するためには、最低2つの Core サーバを持つことをお勧めします。
Ericom Shield環境には、さまざまなコンテナ(前述のCore / Management / Browers)が含まれています。 Managment コンポーネントは Manager ノードにインストールされます。
Core および Browsers Farm は Worker ノードにインストールされています。 クラスタ内のWorkerマシンの数については、特別な推奨はありません。 この数は、システムの規模とサポートする必要のあるユーザー/セッションの数によって決まります。 Browser マシンはすべて同じ仕様(CPUとメモリ)を持つことが重要です。
システム展開の設計¶
セットアップを行う 前 に、システムの展開を適切に設計することが非常に重要です。 その間、場所/サイトの数、ユーザー数、作業負荷、接続オプション、利用可能なリソースなどを考慮してください。
Ericomは、予想される使用のタイプに基づいて、組織が必要とする Browser ノード(マシン)の数を見積もるのに役立つスケーリングモデルを開発しました。 詳細については、サポートセンターにお問い合わせください。
前提条件¶
必要な台数の Linux Ubuntu 18.04(または16.04) サーバーマシン (64-bit. workstationではない) 。 各マシンでは下記を確認してください。
- 固定IPを持っているか
- SSHサーバーがインストールされているか
- 他のマシンと 同じ ユーザ名/パスワードを持っている(すべてのシステムマシンの統一された資格情報で、 アップデート のために必要)
- インターネットとの接続を持っているか(DNSとプロキシの設定が正しく構成されている)
- ハードウェア要件をみたしているか - ここ に指定されています。
参考
Shield マルチマシンシステムでは、マシン間の接続はデフォルトでパスワードを使用します。 SSHキーを使用する方がはるかに安全です。 ほとんどのクラウドプロバイダーは、証明書(公開鍵と秘密鍵を含む)を使用してマシンに接続することを意味するSSH鍵を使用して作業しています。 シールドは証明書を使用した接続をサポートしています。 証明書を使用した接続を有効にするには、証明書(公開鍵と秘密鍵)を作成し、接続しようとしているマシンに公開鍵をコピーします。 SSH鍵とその設定方法の詳細については、 こちら を参照してください。
展開後の手順¶
マルチマシンの便利なサービス¶
クラスタ内のノードの概要、その状態と可用性、およびどのノードが Leader であるかについて確認する。
sudo ./status.sh -n
出力は表として、クラスタ内のノード、IP、ステータス、役割、およびラベルを表示します。
クラスタのより具体的なビューを表示するには、次のコマンドを使用します。
sudo ./status.sh -s
出力は表として、各ノードの列とクラスタ内の各サービスのエントリが表示されます。 この表には、クラスタ内のどのノードでどのサービスが実行されているか、ノードタイプ(Manager/Browser/Core)に応じたこれらのサービスの展開が示されています。
もう一つの有用なサービスです。個々のノードの管理を可能にします。 - ./nodes.sh
このサービスには次のオプションがあります。
ノードの現在のラベルと役割(Manager / Workerなど)をすべて表示する。
sudo ./nodes.sh -show-labels <NodeName>
アクティブノードにラベルを追加する。(例: management
、 shield-core
または browser
)
sudo ./nodes.sh -add-label <NodeName> <LabelName>
アクティブノードからラベルを削除する。(例: management
、 shield-core
または browser
)
sudo ./nodes.sh -remove-label <NodeName> <LabelName>