5.2. 最小構成での導入手順

注意

セットアップする際は下記の点にご注意ください。

  • sudo可能な一般ユーザでインストールを実施する(rootユーザでのインストールも可能 ※1)
  • sudoは付けないでスクリプトを実行する
  • インストール後は、インストールユーザで運用する

※1 rootになる際、"sudo su -" での実行は可能です。"sudo -s" での実行は、一般ユーザのカレントディレクトリや環境変数が引き継がれてしまうため不可となります。

Ericom Shieldは機能ごとにコンポーネントを分離してインストールすることが可能です。 この章では必要最小限の構成でインストールし、評価する手順をご紹介します。

shield-component02

構成としては上記のように、クラスタマネージメントとシステムコンポーネント、ファームサービスが1台、ブラウザーファームが1台という構成になります。

5.2.1. セットアップスクリプトの実行

下記コマンドによりshield-setup.shをダウンロードし、実行します。 これはRancherを配置するノードでのみ実施します。

$ curl -O https://ericom-tec.ashisuto.co.jp/shield/shield-setup.sh
$ chmod +x shield-setup.sh
$ ./shield-setup.sh

実行時点で日本国内で提供されているバージョンの一覧が表示されるので、利用するバージョンの番号を選択してください。(最新版を推奨します。)

<表示例>

###### START ###########################################################
==================================================================
現在インストールされているバージョン: N/A
==================================================================
どのバージョンをセットアップしますか?
1: Rel-20.07_Build:667
2: Rel-20.05_Build:649
3: Rel-20.03_Build:639
4: Rel-20.01.2_Build:622
5: Rel-19.12.1_Build:606
6: Rel-19.11_Build:590
7: Rel-19.09.5_Build:579
8: Rel-19.09.1_Build:570


番号で指定してください:1
Rel-20.07.667 をセットアップします。
BRANCH: Rel-20.07
~略~

初めてのインストール時は、実行ユーザをdockerグループに参加させるため、一度ログオフを行う必要があります。 下記メッセージが表示されたら一度ログオフを行い、再度shield-setup.shを実行してください。

[start] check group
=================================================================================
実行ユーザをdockerグループに追加する必要があります。
追加後、セットアップスクリプトは中断します。
一度ログオフした後、ログインをしなおして、スクリプトを再度実行してください。
=================================================================================
[start] add group
[end] add group
###### DONE ############################################################
続いて、下記のメッセージが表示され、スクリプトを実行しているノードに、どの役割をインストールするかを選択します。
ここでは、「1」を選択してください。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
※この選択の後、複数台構成にする場合に他のノードで実行するコマンドが画面に表示されます。
※必要に応じてコピーの上、他ノードで実行してください。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

このノードに何をセットアップしますか?
1) 全て (Rancher, Cluster Management および Ericom Shield)
2) Rancher and Cluster Management (Ericom Shield を除く)
3) Rancher のみ

番号で選んでください:1

下記のように他のノードで実行すべきコマンドが表示されますので、コピーして実行してください。 表示される内容は毎回異なります。必ず表示されたものを利用してください。 今回の例では3ブロック目を別に用意したブラウザファーム用ノードで実行します。

<実行例>

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
下記のコマンドがこのノードで実行されます。(確認用。実行の必要はありません。)

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.7 --server https://IPアドレス:8443 --token ランダム値 --ca-checksum ランダム値 --etcd --controlplane --worker

------------------------------------------------------------
そして、
(【必要に応じて】 下記コマンドを他の(Cluster Management + Worker)ノードで実行してください。)

curl -s -O https://ericom-tec.ashisuto.co.jp/shield/clean-rancher-agent.sh

chmod +x clean-rancher-agent.sh


curl -s -OL https://ericom-tec.ashisuto.co.jp/shield/delete-all.sh

chmod +x delete-all.sh



sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.7 --server https://IPアドレス:8443 --token ランダム値 --ca-checksum ランダム値 --etcd --controlplane --worker

------------------------------------------------------------
または、
(【必要に応じて】 下記コマンドを他の Cluster Management単体 ノードで実行してください。)

curl -s -O https://ericom-tec.ashisuto.co.jp/shield/clean-rancher-agent.sh

chmod +x clean-rancher-agent.sh


curl -s -OL https://ericom-tec.ashisuto.co.jp/shield/delete-all.sh

chmod +x delete-all.sh



sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.7 --server https://IPアドレス:8443 --token ランダム値 --ca-checksum ランダム値 --etcd --controlplane

------------------------------------------------------------
または、
(【必要に応じて】 下記コマンドを他の Worker単体 ノードで実行してください。)

curl -s -O https://ericom-tec.ashisuto.co.jp/shield/clean-rancher-agent.sh

chmod +x clean-rancher-agent.sh


curl -s -OL https://ericom-tec.ashisuto.co.jp/shield/delete-all.sh

chmod +x delete-all.sh



sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.7 --server https://IPアドレス:8443 --token ランダム値 --ca-checksum ランダム値 --worker


★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

他ノードでのコマンド実行が完了したら、続けて「y」を入力して処理を進めます。

<実行例>

=================================================================================
それぞれのノードでコマンドの実行は完了しましたか?
先に進んでもよろしいですか? [y/N]:y

クラスタのステータスがActiveになるまで待ってください。

[waiting] Cluster to active
Waiting for state to become active.: provisioning
Waiting for state to become active.: provisioning
Waiting for state to become active.: provisioning
Waiting for state to become active.: waiting
Waiting for state to become active.: waiting
Waiting for state to become active.: active

暫くすると、確認のメッセージが表示されるので、メッセージに従い、ステータスの確認を行い、処理を進めてください。

<実行例>

=================================================================================
【※確認※】 Rancher UI https://IPアドレス:8443 をブラウザで開き、
追加したノードが全てActiveになっていることを確認してください。
先に進んでもよろしいですか? [y/N]:y

つづいて、それぞれのノードににShiledのどのコンポーネントを配置するか選択します。今回の例ではスクリプトを実行しているサーバと、別途用意したブラウザファーム用ノード2台分が表示されます。

表示される ホスト名 を確認し、それぞれで番号を選択してください。

  • システムコンポーネントを稼働させる側のノードでは 2 を選択してください。
  • ブラウザファームを稼働させる側のノードでは 3 を選択してください。
<実行例>

=================================================================================

*** {ホスト名} ***

上記ノードにどのShieldコンポーネントを配置しますか?

0) Cluster Management のみ
---------------------------------------------------------
【System ComponentとBrowserを分ける場合】
---------------------------------------------------------
2) System Component + Farm-service (management, proxy, elk, farm-services)
3) Browser のみ (remort-browsers)
---------------------------------------------------------
99) Advanced Option

番号で選択してください:

このあと、実際にShieldの展開が開始されます。完了するまで暫くお待ち下さい。

<実行例>

[start] deploy shield
[start] deploieng shield
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
...Successfully got an update from the "shield-repo" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete.
Latest Version : 20.05.649
Current Version:
***************         Deploying Ericom Shield 20.05.649 ...
***************         Deploying Shield Farm Services *******************************

~略~

[end] deploieng shield
[end] deploy shield
[start] get Default project id
DEFPROJECTID: c-fj49p:p-qw4xg
[end] get Default project id
[start] Move namespases to Default project
move namespases to Default project/ management
move namespases to Default project/ proxy
move namespases to Default project/ elk
move namespases to Default project/ farm-services
[end] Move namespases to Default project

【※確認※】 Rancher UI https://IPアドレス:8443 をブラウザで開くか、
          /home/ubuntu/ericomshield/shield-status.sh 実行し、
          全てのワークロードが Acriveになることをご確認ください。

###### DONE ############################################################

5.2.2. Rancherからの起動確認

最後の表示された Rancher UI のアドレスをブラウザに入力し、Rancherの管理画面にアクセスしてください。

IDは admin で、パスワードはセットアップ中に指定したものです。

shield-howto-all-r1

作成したクラスタを上部から選択し、Workload を開きます。全てのワークロードが Active となるまで待って下さい。

shield-howto-all-r2

shield-howto-all-r3

5.2.3. ライセンスのアクティベーション

ブラウザを起動し、Shieldの管理コンソールにアクセスします。( https://***.***.***.***:30181/ ) 今回の例ではRancherサーバと別に用意したShieldサーバのアドレスを指定します。

デフォルトのIDとパスワードを入力し、ログインしてください。(ID:admin / パスワード:ericomshield

shield-howto-all-1

ライセンスアクティベーション については 展開ガイド - 管理コンソール - ライセンス をご参照ください。

警告

アクティベーションを行う前に行った設定は再起動により初期化されてしまいます。必ず最初にアクティベーションを実施してください。

5.2.4. DNSの設定 / 上位プロキシの設定

アクティベーションと同時に、DNSの設定と、ご利用の場合には上位プロキシの設定を実施してください。上位プロキシはご利用でない場合は設定不要です。

DNSの設定

展開ガイド - 管理コンソール - 設定 - DNS をご確認いただき、内部DNSおよび外部DNSのアドレスを設定してください。内部DNSでインターネットの名前解決が行える場合、両方で同じDNSサーバを指定していただいても問題ありません。

shield-howto-all-2

上位プロキシの設定

展開ガイド - 管理コンソール - 設定 - プロキシ & インテグレーション をご確認いただき、Shieldの上位プロキシとなるサーバの情報を設定してください。

基本的にはいずれも同じプロキシサーバのアドレスを指定します。

shield-howto-all-3n-ext

shield-howto-all-3n-int

5.2.5. クライアントからのアクセス

アクティベーションが完了すると、デフォルトの設定状態ですぐにShieldをご利用いただけます。ご利用にあたってはクライアントPCで下記2点(Internet Explorerをクライアントとして利用している場合は3点)の設定が必要となります。

ルート証明書のインストール

HTTPS通信をシールドするためにクライアントPCにルート証明書をインストールする必要があります。証明書は企業独自の証明書を利用することも可能ですし、配布の方法も様々ありますが、 ここではビルドインのEricom社の自己署名の証明書を各ブラウザに導入する手順をご案内します。

展開ガイド - インストール後の手順 - 証明書の設定 を参照し、クライアントPCに証明書を導入してください。

プロキシ設定の変更

実際にクライアントのWebアクセスをShield経由にするために、プロキシサーバとしてShieldのアドレスを指定します。 指定の方法は様々ありますが、ここではブラウザ毎に直接設定を行う方法をご案内します。

展開ガイド - インストール後の手順 - プロキシの構成 を参照し、設定を行ってください。

(IEのみ) WebSocket接続の上限数変更

Internet Explorerをクライアントとして利用した場合、WebSocket接続の上限数が少ないことでSSLエラーが発生することがあります。下記を参照し、接続数の上限を変更してください。

  1. [ファイル名を指定して実行] より、gpedit.msc と入力します。
../../_images/iewebsocket01.jpg
  1. [コンピュータの構成] - [管理用テンプレート] - [Windowsコンポーネント] - [Internet Explorer] - [セキュリティの機能] - [AJAX] を開きます。
../../_images/iewebsocket02.jpg
  1. [サーバーあたりの最大WebSocket接続数を設定する] を選択します。
../../_images/iewebsocket03.jpg
  1. [有効]にチェックを入れ、最大接続数を変更します。
../../_images/iewebsocket04.jpg

参考

WebSocketの接続数につきましては、レジストリの値を変更することにより上限数を上げることも可能です。 参考までにご確認ください。

WebSocket Maximum Server Connections
https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330736(v=vs.85)?redirectedfrom=MSDN#websocket-maximum-server-connections.

以上で最低限の設定は完了です。