マルチマシン¶
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 16.04または18.04 Server(ワークステーションではない64ビット)マシン(またはUbuntu 16.04)の必要数。 各マシンを確認します。
- 固定IPアドレスを持っているか
- SSHサーバーがインストールされているか
- 他のマシンと 同じ ユーザ名/パスワードを持っているか(すべてのシステムマシンの統一された資格情報で、 アップデート のために必要)
- インターネットに接続されているか(DNSとプロキシの設定が正しく構成されているか)
- ハードウェア要件 - こちら で指定されています。
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)