6.3. Ubuntu18.04(Rel-20.05~Rel-20.10)⇒Ubuntu22.04(Rel-23.13)¶
Ubuntu18.04LTS(Rel-20.05~Rel-20.10)からUbuntu22.04LTS(Rel-23.13)にバージョンアップする手順を記載します。
バージョンアップ手順の流れとしては、以下の通りとなります。
6.3.1. Shield初期インストール設定を確認¶
- バージョンアップ作業前に、以下のShield初期インストール設定の状態を確認します。
- Kubernetesクラスタでのネットワーク通信方式の設定
- Ericom Shieldが利用するDockerのネットワークアドレス範囲の設定
こちらで確認した設定状態で、Ericom Shield 23.13を新規インストールする際に同設定を行いインストールする必要がありますので、必ず事前に設定状態を確認してメモしてください。
Kubernetesクラスタでのネットワーク通信方式の設定¶
デフォルトでは「Flannel方式」となります。「Calico方式」に変更している場合がありますので以下のコマンドをセットアップスクリプト(shield-setup.sh)を実行したサーバで実行してすることで確認します。
$ kubectl get pods -A -o wide | grep kube-system | grep -e flannel -e calico
Flannel方式の実行結果例
kkauser@sh01:~$ kubectl get pods -A -o wide | grep kube-system | grep -e flannel -e calico
kube-system kube-flannel-2bk8d 2/2 Running 5 2y40d 192.168.100.1 sh01 <none> <none>
Calico方式の実行結果例
kkauser@sh01:~$ kubectl get pods -A -o wide | grep kube-system | grep -e flannel -e calico
kube-system calico-node-5l5b9 1/1 Running 0 47m 192.168.100. 1 sh01 <none> <none>
Ericom Shieldが利用するDockerのネットワークアドレス範囲の設定¶
デフォルトと異なるDockerのネットワークアドレス範囲を利用されている環境の場合、セットアップスクリプト(shield-setup.sh)を実行したサーバに設定変更を行う「.es_custom_env」ファイルを設置してネットワークアドレス範囲を変更してShieldをインストールしています。
以下のコマンド実行することで「.es_custom_env」ファイルが存在する場合には、ネットワークアドレス範囲の設定値が出力されますので確認します。
$ cat ~/.es_custom_env | grep -e service_cluster_ip_range -e docker0 -e cluster_cidr -e cluster_dns_server
実行結果例(「.es_custom_env」ファイルが存在しない場合):
kkauser@sh01:~$ cat ~/.es_custom_env | grep -e service_cluster_ip_range -e docker0 -e cluster_cidr -e cluster_dns_server
cat: /home/kkauser/.es_custom_env: No such file or directory
6.3.2. ポリシー設定をエクスポートして保管¶
Shield管理コンソールにログインを行い、ポリシー設定画面にて設定のエクスポートを行い出力されたファイルを保管します。
※ こちらで出力したエクスポートファイルは、Ver23.13へバージョンアップ後にShield管理コンソール上で設定状態の調整を行う際に、ポリシー設定を比較確認して設定値を変更(調整)して保存する際に利用します。
6.3.3. 最新のJson設定ファイルを取得¶
バージョンアップ作業前に、最新のJson設定ファイルを取得します。
Json設定ファイルの保存場所は、セットアップスクリプト(shield-setup.sh)を実行したサーバにて以下のコマンドを実行することで確認できます。
$ cat ~/ericomshield/custom-management.yaml | grep localPath
実行例:
非冗長構成の場合(ローカルPath)
kkauser@sh01:~$ cat ~/ericomshield/custom-management.yaml | grep localPath localPath: /home/ericom/ericomshield/config-backup/
冗長構成の場合(NFSマウント先Path)
kkauser@sh01:~$ cat ~/ericomshield/custom-management.yaml | grep localPath localPath: /mnt/nfs_shield/ericomshield/config-backup/
対象Pathをlsコマンドで実行した場合の例
kkauser@sh01:~$ ls -l /home/ericom/ericomshield/config-backup/backup/
-rw-r--r-- 1 root root 1513669 Nov 1 22:34 backup2024-11-01-13-34-36.json
-rw-r--r-- 1 root root 1513825 Nov 1 22:34 backup2024-11-01-13-34-48.json
-rw-r--r-- 1 root root 1514281 Nov 1 22:40 backup2024-11-01-13-40-26.json
6.3.4. Ericom Shield 21.11にバージョンアップを実施¶
Ver20.05~Ver20.10のJson設定ファイルをVer23.13にリストアすることができないため、Ver21.11にバージョンアップを行います。
Ranchar証明書更新スプリクトの事前実行¶
「 【重要】Ericom ShieldにおけるRancher証明書期限切れについて 」を参照し、Rancher証明書の更新を実施してください。
バージョンアップ関連スクリプトを最新に上書きアップデート¶
以下のコマンドを実行してバージョンアップ時に、必要となる関連スクリプトを最新に上書きアップデートします。
$ curl -k -Lo ~/shield-update.sh https://ericom-tec.ashisuto.co.jp/shield/shield-update.sh
$ curl -k -Lo ~/ericomshield/shield-stop.sh https://ericom-tec.ashisuto.co.jp/shield/shield-stop.sh
バージョンアップ事前準備¶
以下のコマンドを実行することで、「 Rel-21.11_Build:816.3 」へのバージョンアップ実行を可能とします。
$ echo "21.11.816.3" | sudo tee /home/ericom/.es_prepare
$ cat /home/ericom/.es_prepare
実行例:
kkauser@sh01:~$ echo "21.11.816.3" | sudo tee /home/ericom/.es_prepare
21.11.816.3
kkauser@sh01:~$ cat /home/ericom/.es_prepare
21.11.816.3
バージョンアップ(shield-update.sh)スクリプトを実行¶
以下のコマンドで「 Rel-21.11_Build:816.3 」指定で、バージョンアップ(shield-update.sh)スクリプトを実行します。
$ ./shield-update.sh -v 21.11.816.3
実行例:
kkauser@sh01:~$ ./shield-update.sh -v 21.11.816.3
###### START (update)###########################################################
BRANCH: Rel-20.05
[info] shield-prepare was executed.
==================================================================
現在インストールされているバージョン: Rel-20.05_Build:650
==================================================================
実行済みのshield-prepare-serversバージョン: 21.11.816.3
==================================================================
Rel-21.11_Build:816.3 をセットアップします。
[start] change dir
pwd: /home/kkauser
pwd: /home/kkauser/ericomshield
[end] change dir
[info] shield-prepare was executed.
BRANCH: Rel-21.11
[start] get install scripts
[end] get install scripts
###### START (update)###########################################################
BRANCH: Rel-21.11
=================================================================================
updateを実行します。よろしいですか?(Update前にShieldシステムを停止します。) [y/N]:y
Shieldをシステム停止した上で、アップデートが行われます。「y」を選択するとアップデートが開始されます。
以下のメッセージが表示された際には、「 1) 通常インストール 」の「 1 」を選択してください。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
Rel-21.11.816.2以降、高解像度_8Kディスプレイに対応したブラウザコンテナを選択するオプションが追加されています。
構築されているBrowserサーバのリソース要件を確認の上、必要に応じて高解像度_8Kディスプレイ対応版を選択してください。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
1) 通常インストール
2) 高解像度_8Kディスプレイ対応版インストール
番号で選んでください:1
アップデート処理が継続します。アップデートが完了するまで、暫くおまちください。
[end] resource choice.
E: Can't select installed nor candidate version from package 'docker-ce' as it has neither of them
E: No packages found
[start] install docker
WARNING: No swap limit support
20.10.21 = 20.10 5:$APP_VERSION
[end] install docker
docker login ericomshield1
WARNING! Your password will be stored unencrypted in /home/kkauser/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
Login Succeeded!
******** ./install-shield-from-container.sh -p Ericom98765$ --version Rel-21.11.816.3
Version: Rel-21.11.816.3
~省略~
[end] Waiting System Project is Actived
[start] deploy shield
[start] deploieng shield
******** ./deploy-shield.sh -L .
192.168.100.1
Custom Path: .
*************** Ericom Shield Kube Setup ...
a8385cf3-788b-4687-9b70-209b42d50fed
New Version: Rel-21.11.816.3
Shield is not fully deployed
*************** Deploying Ericom Shield Repo:Rel-21.11.816.3 on System:a8385cf3-788b-4687-9b70-209b42d50fed ...
We are here: /home/kkauser/ericomshield
*************** Deploying Shield Common *******************************
namespace/common created
*************** Deploying Shield Management *******************************
namespace/management created
*************** Deploying Shield Proxy *******************************
namespace/proxy created
*************** Deploying Shield ELK *******************************
namespace/elk created
*************** Deploying Shield Farm Services *******************************
namespace/farm-services created
*************** Done!
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
shield-common common 1 2024-11-03 17:19:30.050921142 +0900 JST deployed shield-21.11.816.3 21.11.816.3
shield-elk elk 1 2024-11-03 17:20:35.712245372 +0900 JST deployed shield-21.11.816.3 21.11.816.3
shield-farm-services farm-services 1 2024-11-03 17:20:37.567828515 +0900 JST deployed shield-21.11.816.3 21.11.816.3
shield-management management 1 2024-11-03 17:19:32.026405093 +0900 JST deployed shield-21.11.816.3 21.11.816.3
shield-proxy proxy 1 2024-11-03 17:20:04.018281888 +0900 JST deployed shield-21.11.816.3 21.11.816.3
[end] deploieng shield
[end] deploy shield
[start] get Default project id
TOPROJECTID: c-sxw4t:p-bvmfb
[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
move namespases to Default project/ common
[end] Move namespases to Default project
[start] Waiting All namespaces are Deploied
[end] Waiting All namespaces are Deploied
【※確認※】 Rancher UI https://192.168.100.1:8443 をブラウザで開くか、
/home/kkauser/ericomshield/shield-status.sh 実行し、
全てのワークロードが Acriveになることをご確認ください。
###### DONE ############################################################
###### DONE (update)############################################################
###### DONE (update)############################################################
###### DONE (update)############################################################
###### DONE (update)############################################################
[DONE]まで出力されておりましたら、正常にバージョンアップ処理が完了しています。
最後に、以下のコマンド(shield-status.sh)を実行して、全てのワークロードがActiveステータスとなることを確認します。
$ ~/ericomshield/shield-status.sh
全てのワークロードがActiveステータスなるまでには、Shieldサービスコンポーネントのダウンロードと展開処理が合わせて実施されておりますので、30分~1時間程度の時間が掛かる場合があります。
全てワークロードがActiveステータスとなるとshield-status.sh実行結果にて「All workloads are Active !」と表示されます。
※ 1時間以上、経過したにもかかわらず、全てワークロードがActiveステータスとならない場合には、以下のコマンドでShield再起動をお試しください。
$ ~/ericomshield/shield-stop.sh
$ ~/ ericomshield/shield-start.sh
6.3.5. 手順3で事前に取得したJson設定ファイルをリストアすることで設定を復元¶
ブラウザを起動し、Shieldの管理コンソールにアクセスします。( https://***.***.***.***:30181/ )
デフォルトのIDとパスワードを入力し、ログインします。(ID:admin / パスワード:ericomshield)
手順3で事前に取得したJson設定ファイルをリストアすることで設定を復元します。
リストアするファイルの設定箇所:「設定>リストア>復元ファイルのアップロード」
リストアを実施後、設定を反映させるために、セットアップスクリプト(shield-setup.sh)を実行したサーバにて以下コマンドを実行してShieldを再起動します。
$ ~/ericomshield/shield-stop.sh
$ ~/ericomshield/shield-start.sh
6.3.6. バージョンアップ後にEricom Shieldが正常に動作することを確認¶
- 以下の2点のみについて確認を行い、Ericom Shieldが正常に動作することを確認してください。
- 分離ブラウザでWebサイトが正常に閲覧することができること。
- 非分離(許可やSSLインスペクション無しで許可)でWebサイトが正常に閲覧することができること。
※ 分離ブラウザでCDR経由でのダウンロードは出来ない場合がありますが、こちらの動作確認の際には、ダウンロードができない状態(エラー発生)でも問題ございません。
6.3.7. 最新のJson設定ファイルを取得¶
バージョンアップ作業前に、最新のJson設定ファイルを取得します。Json設定ファイルの保存場所は、セットアップスクリプト(shield-setup.sh)を実行したサーバにて以下のコマンドを実行することで確認できます。
$ cat ~/ericomshield/custom-management.yaml | grep localPath
実行例:
非冗長構成の場合(ローカルPath)
kkauser@sh01:~$ cat ~/ericomshield/custom-management.yaml | grep localPath localPath: /home/ericom/ericomshield/config-backup/
冗長構成の場合(NFSマウント先Path)
kkauser@sh01:~$ cat ~/ericomshield/custom-management.yaml | grep localPath localPath: /mnt/nfs_shield/ericomshield/config-backup/
対象Pathをlsコマンドで実行した場合の例
kkauser@sh01:~$ ls -l /home/ericom/ericomshield/config-backup/backup/
-rw-r--r-- 1 root root 1513669 Nov 1 22:34 backup2024-11-01-13-34-36.json
-rw-r--r-- 1 root root 1513825 Nov 1 22:34 backup2024-11-01-13-34-48.json
-rw-r--r-- 1 root root 1514281 Nov 1 22:40 backup2024-11-01-13-40-26.json
6.3.8. Ubuntu18.04LTSからUbuntu22.04LTSまでOSバージョンアップを実施¶
Ubuntu18.04LTSからUbuntu22.04LTSまでOSバージョンアップを行います。
「 6.2. OSバージョンアップ手順 」を参考にEricom Shieldのアンインストールを行い、OSバージョンアップを実施してください。
6.3.9. Ericom Shield 23.13を新規でインストールを実施¶
OSバージョンアップが完了した各サーバに対して、Ericom Shield 23.13を新規でインストールを実施します。
こちらの新規インストールで実施する手順は、以下となります。
- 「 5.2. UbuntuOSマシン準備後の事前準備 」
- 「 5.3. 最小構成での導入手順 」or「 5.4. 冗長構成での導入手順 」
⇒「ライセンスのアクティベーション」手順の前まで実施します。
6.3.10. 手順7で事前に取得したJson設定ファイルをリストアすることで設定を復元¶
ブラウザを起動し、Shieldの管理コンソールにアクセスします。( https://***.***.***.***:30181/ )
デフォルトのIDとパスワードを入力し、ログインします。(ID:admin / パスワード:ericomshield)
手順7で事前に取得したJson設定ファイルをリストアすることで設定を復元します。
リストアするファイルの設定箇所:「設定>リストア>復元ファイルのアップロード」
⇒ リストアするファイルを選択後は、「保存」ボタンをクリックしてリストア実行します。
リストアを実施後、設定を反映させるために、セットアップスクリプト(shield-setup.sh)を実行したサーバにて以下コマンドを実行してShieldを再起動します。
$ ~/ericomshield/shield-stop.sh
$ ~/ericomshield/shield-start.sh
6.3.11. 設定リストア後、Shield管理コンソール上で設定状態を調整¶
設定リストア後、Shield管理コンソール上で設定状態について、以下の各設定について、確認を行い必要に応じて調整を行ってください。
言語の設定¶
以下の設定を変更することで、管理コンソール上の表示言語が日本語に一時的に変更されます。
以下の設定を変更して保存することで、管理コンソール上のデフォルト表示言語が日本語に変更されます。 「設定>国際化>管理コンソールの言語を設定」:[English] ⇒ [日本語]
以下の設定を変更して保存することで、分離ブラウザのコンテキストメニュー表示言語が日本語に変更されます。
ポリシーの設定¶
ポリシー設定の各ポリシーについて以下の2点について確認を行い、必要に応じて変更して保存してください。
- 以下の設定値を保管していたポリシー設定のエクスポートファイルの設置値と比較確認して設定値がリセットされている場合には、正しい値に再設定を行い保存します。
- 「ファイル操作>ファイルアップロードの検査」
- 「ファイル操作>ファイルダウンロードの検査」
- Ver23.05以降から検査モードが実装されたことに伴い、「アクセス:許可」が「アクセス:検査」に表記が変更されました。こちらの変更に伴い、ファイルダウンロード時の挙動が変化しますので、必要に応じて、「検査」から「SSLインスペクション無しで許可」に変更して保存します。
※「アクセス:検査」についての説明は、「 8.5. アクセス「検査」ポリシーについて 」を参照ください。
コンテンツ分離の設定¶
「許可されたドメイン内の外部オブジェクト」設定を「デフォルト許可」から推奨値の「絶対許可」に変更してください。
「設定>コンテンツの分離>許可されたドメイン内の外部オブジェクト」:「デフォルト許可」⇒「絶対許可」
エンドユーザオプションの設定¶
以下の設定は、分離ブラウジングである状態を利用者に分かりやすくするための設定となります。必要に応じて、設定をお願いします。
「設定>エンドユーザオプション」
以下の設定は、分離ブラウジング時にコンテキストメニューからユーザ自身でレンダリング方式を変更可能とする設定となります。サイト表示に正常に表示できない場合にユーザ自身でレンダリング方式を変更して回避する場合に、ご利用いただけます。
ファイル&サニタイズの設定¶
「サニタイズファイルサイズ超過代替ポリシー」設定を「アンチウイルス」から推奨値の「ブロック」に変更してください。
「設定>ファイル&サニタイズ>サニタイズファイルサイズ超過代替ポリシー」:
セッション管理の設定¶
「リモートブラウザの最小待機セッション数」設定を、デフォルト値(10)から変更をお願いします。
⇒ 「リソース>セッション管理>リモートブラウザの最小待機セッション数」
※ 推奨値としては、ダッシュボード上に表示されている「ブラウザ容量」値の約3分の1となります。実運用にて朝や夕方の利用者が多いタイミングで待機ブラウザ数が枯渇する場合には、必要に応じて、こちらの設定値の値を増やしてください。(例:「最大100」の場合:「35」に変更)
負荷管理の設定¶
Ver23.13では、最大容量閾値について、デフォルト値から変更する必要があります。
「リソース>負荷管理>最大容量閾値(%)」
- BrowserサーバのCPUコア数により変更する値が異なりますので、以下の通り、変更してください。
- POCシステム要件「CPU: 12 Core」 の場合: 60%
- 通常システム要件「CPU: 28 Core」 の場合: 77%
こちらの変更を行うことで、ダッシュボード上に表示されている「ブラウザ容量」値が推奨値に変更されます。
ntp.msn.comドメインのホワイト設定¶
ntp.msn.comドメインは、EdgeのデフォルトホームのURLです。
Shield経由でこのドメインへアクセスされると、1アクセスしただけで複数のブラウザコンテナが使用されることがあります。また、定期的な更新が行われており意図せずブラウザコンテナが消費されるため、このドメインをホワイト登録することを強くお奨めいたします。
Shield管理コンソール>ポリシー設定から、「ドメイン:ntp.msn.com」を「アクセス:検査もしくは、SSLインスペクション無しで許可」で登録することでホワイト設定されます。
注意
ntp.msn.comドメイン以外でも、同様に意図せずブラウザコンテナを消費するドメインが見つかった場合は、それらのドメインもホワイト登録を推奨します。
6.3.12. Ericom Shieldが正常に動作することを確認¶
以下の点について確認を行い、Ericom Shieldが正常に動作することを確認してください。
- 分離ブラウザでWebサイトが正常に閲覧することができること。
- 分離ブラウザでCDRを経由してファイルを正常にダウンロードできること。
- 非分離(検査やSSLインスペクション無しで許可)でWebサイトが正常に閲覧することができること。
- Shield管理コンソール上でレポート表示が正常に動作すること。