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)にバージョンアップする手順を記載します。

バージョンアップ手順の流れとしては、以下の通りとなります。

1:Shield初期インストール設定を確認
2:ポリシー設定をエクスポートして保管
3:最新のJson設定ファイルを取得
4:Ericom Shield 21.11にバージョンアップを実施
5:手順3で事前に取得したJson設定ファイルをリストアすることで設定を復元
6:バージョンアップ後にEricom Shieldが正常に動作することを確認
7:最新のJson設定ファイルを取得
8:Ubuntu18.04LTSからUbuntu22.04LTSまでOSバージョンアップを実施
9:Ericom Shield 23.13を新規でインストールを実施
10:手順7で事前に取得したJson設定ファイルをリストアすることで設定を復元
11:設定リストア後、Shield管理コンソール上で設定状態を調整
12:Ericom Shieldが正常に動作することを確認

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) 通常インストール 」の「 」を選択してください。

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
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を新規でインストールを実施します。

こちらの新規インストールで実施する手順は、以下となります。

⇒「ライセンスのアクティベーション」手順の前まで実施します。

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管理コンソール上で設定状態について、以下の各設定について、確認を行い必要に応じて調整を行ってください。

言語の設定

以下の設定を変更することで、管理コンソール上の表示言語が日本語に一時的に変更されます。

../_images/es2313_veruppattarn_01.jpg
↓↓↓

../_images/es2313_veruppattarn_02.jpg

以下の設定を変更して保存することで、管理コンソール上のデフォルト表示言語が日本語に変更されます。 「設定>国際化>管理コンソールの言語を設定」:[English] ⇒ [日本語]

../_images/es2313_veruppattarn_03.jpg

以下の設定を変更して保存することで、分離ブラウザのコンテキストメニュー表示言語が日本語に変更されます。

「設定>エンドユーザオプション>エンドユーザ言語の選択」:[なし] ⇒ [日本語]
../_images/es2313_veruppattarn_04.jpg

ポリシーの設定

ポリシー設定の各ポリシーについて以下の2点について確認を行い、必要に応じて変更して保存してください。

  • 以下の設定値を保管していたポリシー設定のエクスポートファイルの設置値と比較確認して設定値がリセットされている場合には、正しい値に再設定を行い保存します。
    • 「ファイル操作>ファイルアップロードの検査」
    • 「ファイル操作>ファイルダウンロードの検査」
  • Ver23.05以降から検査モードが実装されたことに伴い、「アクセス:許可」が「アクセス:検査」に表記が変更されました。こちらの変更に伴い、ファイルダウンロード時の挙動が変化しますので、必要に応じて、「検査」から「SSLインスペクション無しで許可」に変更して保存します。

※「アクセス:検査」についての説明は、「 8.5. アクセス「検査」ポリシーについて 」を参照ください。

コンテンツ分離の設定

「許可されたドメイン内の外部オブジェクト」設定を「デフォルト許可」から推奨値の「絶対許可」に変更してください。

「設定>コンテンツの分離>許可されたドメイン内の外部オブジェクト」:「デフォルト許可」⇒「絶対許可」

../_images/es2313_veruppattarn_05.jpg

エンドユーザオプションの設定

以下の設定は、分離ブラウジングである状態を利用者に分かりやすくするための設定となります。必要に応じて、設定をお願いします。

「設定>エンドユーザオプション」

../_images/es2313_veruppattarn_06.jpg

以下の設定は、分離ブラウジング時にコンテキストメニューからユーザ自身でレンダリング方式を変更可能とする設定となります。サイト表示に正常に表示できない場合にユーザ自身でレンダリング方式を変更して回避する場合に、ご利用いただけます。

../_images/es2313_veruppattarn_07.jpg

ファイル&サニタイズの設定

「サニタイズファイルサイズ超過代替ポリシー」設定を「アンチウイルス」から推奨値の「ブロック」に変更してください。

「設定>ファイル&サニタイズ>サニタイズファイルサイズ超過代替ポリシー」:

../_images/es2313_veruppattarn_11.jpg

セッション管理の設定

「リモートブラウザの最小待機セッション数」設定を、デフォルト値(10)から変更をお願いします。

⇒ 「リソース>セッション管理>リモートブラウザの最小待機セッション数」

※ 推奨値としては、ダッシュボード上に表示されている「ブラウザ容量」値の約3分の1となります。実運用にて朝や夕方の利用者が多いタイミングで待機ブラウザ数が枯渇する場合には、必要に応じて、こちらの設定値の値を増やしてください。(例:「最大100」の場合:「35」に変更)

../_images/es2313_veruppattarn_08.jpg

負荷管理の設定

Ver23.13では、最大容量閾値について、デフォルト値から変更する必要があります。

「リソース>負荷管理>最大容量閾値(%)」

../_images/es2313_veruppattarn_09.jpg
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インスペクション無しで許可」で登録することでホワイト設定されます。

../_images/es2313_veruppattarn_10.jpg

注意

ntp.msn.comドメイン以外でも、同様に意図せずブラウザコンテナを消費するドメインが見つかった場合は、それらのドメインもホワイト登録を推奨します。

6.3.12. Ericom Shieldが正常に動作することを確認

以下の点について確認を行い、Ericom Shieldが正常に動作することを確認してください。

  • 分離ブラウザでWebサイトが正常に閲覧することができること。
  • 分離ブラウザでCDRを経由してファイルを正常にダウンロードできること。
  • 非分離(検査やSSLインスペクション無しで許可)でWebサイトが正常に閲覧することができること。
  • Shield管理コンソール上でレポート表示が正常に動作すること。