Deep Security 10 へバージョンアップする(9.5sp1 Linux/Oracle Database環境 から)

こんにちは、ひろかずです。

[前回](http://qiita.com/fnifni/items/aee7243b0561028a136f)、readmeも読んだことなので、早速バージョンアップしてみたいと思います。
[Deep Security10.0 アップグレードガイドブック](http://files.trendmicro.com/jp/ucmodule/tmds/doc/ds10_upgradeguide.pdf)に記載されているとおり、バージョンアップは一筋縄では行きません。

以下のような検証環境を用意しましたので、作戦を考えてみましょう。

#参考情報
[トレンドマイクロ社ダウンロードページ](http://downloadcenter.trendmicro.com/index.php?regs=jp&clk=latest&clkval=5026&lang_loc=13)
[Deep Security10.0 アップグレードガイドブック](http://files.trendmicro.com/jp/ucmodule/tmds/doc/ds10_upgradeguide.pdf)

#検証環境
##DSMサーバ

- t2.large
- RHEL-7.3_HVM_GA-20161026-x86_64-1-Hourly2-GP2 (ami-6f68cf0f)
- Deep Security Manager 9.5.5600
- Deep Security Agent 9.5.3.2754
- Oracle RDS ( 11.2.0.4.v10 )

##DSA導入サーバ

- t2.large
- amzn-ami-hvm-2016.03.3.x86_64-gp2 (ami-7172b611)
- Deep Security Agent 9.5.3.7523

##ざっくり構成
![DSMdiagram.png](https://qiita-image-store.s3.amazonaws.com/0/46611/7bff182a-b315-85a7-ee3e-7ae09d44a591.png "DSMdiagram.png")
#作戦
今回の検証環境のポイントは、Deep Security Managerが、直接アップデートできる9.5 sp1 patch3ではないことです。
[前回](http://qiita.com/fnifni/items/aee7243b0561028a136f)確認したとおり、10へのアップデートには、データベーススキーマを更新することになりますが、[トレンドマイクロ Q&Aページ DSMデータベーススキーマアップグレード方法](http://esupport.trendmicro.com/solution/ja-jp/1113362.aspx)では、 `本製品 Q&A に記載している手順は、SQL Server 2005 や Oracle データベースはサポートしていません。` と書かれているため、一旦9.5 sp1 patch3(9.5.7008)に上げることにします。

[readme](http://files.trendmicro.com/jp/ucmodule/tmds/95Sp1/patch3/DSM_95_SP1_Patch3_readme.txt)にも、9.5系旧バージョンからのバージョンアップからの注意は記載されていませんね。

というわけで、工程は以下になります。
#工程
1. バックアップの取得
2. DSMサーバを9.5 sp1 patch3(9.5.7008)にバージョンアップする
3. DSMサーバを10にバージョンアップする
4. DSA(Relay)を10にバージョンアップする
5. DSAを10にバージョンアップする


#1. バックアップの取得
当然ですが、DSM両サーバのAMIバックアップと、RDSのスナップショットを取得しておきます。
#1. DSMを9.5 sp1 patch3(9.5.7008)にバージョンアップする
各DSMサーバの作業ディレクトリに9.5 sp1 patch3(9.5.7008)をダウンロードします。

```
# curl -O http://files.trendmicro.com/products/deepsecurity/en/9.5/Manager-Linux-9.5.7008.x64.sh
```

実行権を付けて、インストール時に使用した `dsm.properties` を使用してインストールします。

```
# chmod +x Manager-Linux-9.5.7008.x64.sh
# ./Manager-Linux-9.5.7008.x64.sh  -q -console -varfile ./dsm.properties
Unpacking JRE ...
Preparing JRE ...
Starting Installer ...
3 11, 2017 9:02:44 午後 java.util.prefs.FileSystemPreferences$2 run
情報: Created system preferences directory in java.home.
Trend Micro Deep Security Managerサービスを停止しています...
以前のバージョンのTrend Micro Deep Security Managerを確認しています...
アップグレードの確認画面の設定を許可...
すべての設定を許可しました。実行準備ができました...
以前のバージョンをアンインストールしています
ファイルを解凍しています...
設定しています...
データベースに接続しています...
他のManagerを終了しています...
データベーススキーマをアップデートしています...
データベースのデータをアップデートしています...
データベースのデータをアップデートしています (カウンタをアップグレード)...
作業ディレクトリを作成しています...
レポートをインストールしています...
モジュールとプラグインをインストールしています...
ヘルプシステムを作成しています...
ソフトウェアパッケージをインポートしています...
廃止機能の削除...
検索キャッシュの設定をインポートしています...
パフォーマンスプロファイルをインポートしています...
インストールの記録を記録しています...
セッションをクリアしています...
プロパティファイルを作成しています...
ショートカットを作成しています...
SSLを設定しています...
サービスを設定しています...
Javaセキュリティを設定しています...
Javaのログを設定しています...
クリーンナップしています...
Deep Security Managerを開始しています...
インストールを終了しています...
```

もう一台も実施する必要がありますので注意です。（出力は省略します。）

できたようです。
![dsm9_5_7008.png](https://qiita-image-store.s3.amazonaws.com/0/46611/2dec3f50-0636-4443-6466-d243651e623b.png "dsm9_5_7008.png")

状態も良好ですね。
![dsm95state.png](https://qiita-image-store.s3.amazonaws.com/0/46611/d16cc9a0-f65a-e44c-5db8-f2c6970877de.png "dsm95state.png")


お好みで、この時点のAMIバックアップやスナップショットを取得しておきます。

#2. DSMを10にバージョンアップする
各DSMサーバの作業ディレクトリに10.0(10.0.3259)のインストールモジュールをダウンロードします。

```
# curl -O http://files.trendmicro.com/products/deepsecurity/en/10.0/Manager-Linux-10.0.3259.x64.sh
```

実行権を付けて、インストール時に使用した `dsm.properties` を使用してインストールします。

```
# chmod +x Manager-Linux-10.0.3259.x64.sh
# ./Manager-Linux-10.0.3259.x64.sh -q -console -varfile ./dsm.properties
Unpacking JRE ...
Starting Installer ...
3 11, 2017 9:53:36 午後 java.util.prefs.FileSystemPreferences$2 run
情報: Created system preferences directory in java.home.
無人 (サイレント) モードが開始されました
以前のバージョンのTrend Micro Deep Security Managerを確認しています...
アップグレードの確認画面の設定を許可...
アップグレードのシステムチェックを開始します。
システムチェック概要レポートが生成されました。パス: /current-work-directory/DeepSecurityInstallerReport.csv
アップグレードのシステムチェックが完了しました。
すべての設定を許可しました。実行準備ができました...
Trend Micro Deep Security Managerサービスを停止しています...
他のManagerを終了しています...
以前のバージョンをアンインストールしています
ファイルを解凍しています...
設定しています...
データベースに接続しています...
他のManagerを終了しています...
データベーススキーマを分析しています...
既存のデータベーススキーマの分析: 20 % ...
既存のデータベーススキーマの分析: 40 % ...
既存のデータベーススキーマの分析: 60 % ...
既存のデータベーススキーマの分析: 80 % ...
既存のデータベーススキーマの分析: 100 % ...
データベーススキーマをアップデートしています...
スキーマのアップデート: 20 % ...
スキーマのアップデート: 40 % ...
スキーマのアップデート: 60 % ...
スキーマのアップデート: 80 % ...
スキーマのアップデートを終了しています...
スキーマのアップデート: 100 % ...
作業ディレクトリを作成しています...
レポートをインストールしています...
モジュールとプラグインをインストールしています...
ソフトウェアパッケージをインポートしています...
廃止機能の削除...
検索キャッシュの設定をインポートしています...
パフォーマンスプロファイルをインポートしています...
インストールの記録を記録しています...
セッションをクリアしています...
プロパティファイルを作成しています...
ショートカットを作成しています...
SSLを設定しています...
サービスを設定しています...
Javaセキュリティを設定しています...
Javaのログを設定しています...
クリーンナップしています...
Deep Security Managerを開始しています...
インストールの完了...
```

もう一台も実施する必要がありますので忘れずに実行してください。（出力は省略します。）

インストールプロセスに `システムチェック概要レポートが生成されました。` とありますね。
新機能の `Better upgrade experience` のことでしょうか。
中身を確認してみましょう。

```
$ cat DeepSecurityInstallerReport.csv
Deep Security Manager 10.0アップグレードのシステム概要レポート,,,
,,,
このレポートは、既存のDeep Securityインフラストラクチャの各コンポーネントについて、Deep Security Manager 10.0をインストール/アップグレードする準備ができているかを示したものです。,,,
,,,
アップグレードの準備が100%完了していない場合は、アップグレード手順に進む前に、表示される手順に従って準備してください。,,,
https://help.deepsecurity.trendmicro.com/ja-jp/upgrade-deep-security.html?combo=0&db=2&dsa=3&dsm=1&dsmhw=0&dsmos=0%2C1&dsr=2&dsva=&nodes=1&ten=0&i=2,,,
,,,
,,,
結果,コンポーネント,,理由
,ip-xxx-xxx-xxx-xxx.us-west-2.compute.internal (現在のノード),,
準備完了,,Deep Security Managerバージョン,Deep Security Manager 9.5.7008は10.0に直接アップグレードできます。
準備完了,,Deep Security ManagerのホストOS,Red Hat Linux 7.3はサポートされます。
準備完了,,Deep Security Managerホストのディスク容量,46 GBの空き
準備完了 (警告あり),,Deep Security Managerホストのメモリ,7.4 GBしかRAMがなく、システム要件を満たしていません。パフォーマンスが低下します。
,ip-xxx-xxx-xxx-xxx-us-west-2.compute.internal (他のノード),,
準備完了,,Deep Security Managerバージョン,Deep Security Manager 9.5.7008は10.0に直接アップグレードできます。
準備未完了,,Deep Security ManagerのホストOS,特定のLinuxディストリビューションを検出できません。
準備完了,,Deep Security Managerホストのディスク容量,46.8 GBの空き
N/A,,Deep Security Managerホストのメモリ,他のDeep Security ManagerノードのRAMについては、直接テストすることはできません。他のサーバで別のハードウェアを使用している場合は、RAMが要件を満たしているかどうかを手動で確認してください。
,,,
準備完了,データベース,,Oracle Database 11g Standardエディション
,,,
準備ができました。新しい機能を使用するには、Managerをアップグレードしてから10.0にアップグレードしてください。また、依存関係もアップグレードしてください。,Deep Security Agentバージョン,,1個のAgentがサポートされています。
,,,
準備ができました。新しい機能を使用するには、Managerをアップグレードしてから10.0にアップグレードしてください。また、依存関係もアップグレードしてください。,Deep Security Relayバージョン,,2個のRelayがサポートされています。
,,,
準備完了,Deep Security Virtual Applianceバージョン,,Virtual Applianceは検出されませんでした。
,,,
```

これは手厳しいですね。
メモリで怒られてしまっています。
検証用途なので、t2.large(vcpu 2, Memory 8GB)を選択しましたが、厳密には8GBに達していません

```
# free -m
              total        used        free      shared  buff/cache   available
Mem:           7565        1561        2501          24        3502        5652
Swap:             0           0           0
```

[System requirements](https://help.deepsecurity.trendmicro.com/Get-Started/Install/system-requirements.html)に記載されている内訳はクリアしているので、気にせず進みましょう。

おっ、来ましたね。
![login.png](https://qiita-image-store.s3.amazonaws.com/0/46611/b1d8e82b-7992-c6ba-29af-9eba0882cab8.png "login.png")

状態も良好なようです。
![dsm10state.png](https://qiita-image-store.s3.amazonaws.com/0/46611/41390563-6869-2bb0-85fe-f6157cfab79f.png "dsm10state.png")

#3. DSA(Relay)を10バージョンアップする
##10モジュールのインポート
[管理]タブ＞[ダウンロード]とクリックし、DS10のモジュールをインポートします。
`今すぐインポート` アイコンをクリックすれば、インポート開始です。
DSA(Relay)を導入しているプラットフォームのものを選択しましょう。
![ModuleDL_01.png](https://qiita-image-store.s3.amazonaws.com/0/46611/eee2bd7f-6783-2012-d4aa-dd3ced44a423.png "ModuleDL_01.png")

緑のチェックが入ればインポート完了です。
KSM(Kernel Support Module)も自動的にダウンロードされました。

##続けてDSA(Relay)のバージョンアップ
[コンピュータ]タブから、Relayアイコンの付いているコンピュータをダブルクリックします。
![DSA_update00.png](https://qiita-image-store.s3.amazonaws.com/0/46611/92c028d5-0a47-c0e9-4753-34afa72d1779.png "DSA_update00.png")

[概要]＞[処理]タブ＞[Agentのアップデート]ボタンをクリックします。
![DSA_update01.png](https://qiita-image-store.s3.amazonaws.com/0/46611/0230cb15-d273-3609-c242-46271e4e036d.png "DSA_update01.png")

バージョン10.0が選択されているのを確認して、[OK]ボタンをクリック
![DSA_update02.png](https://qiita-image-store.s3.amazonaws.com/0/46611/6cc41f0c-2d68-10e4-2224-74148c7f637b.png "DSA_update02.png")

無事に終わったようです。
![DSA_update03.png](https://qiita-image-store.s3.amazonaws.com/0/46611/49b97ae8-e862-2529-af74-9ba59fcee201.png "DSA_update03.png")

もう一台も忘れずにバージョンアップしておきます。（画像は省略します）

#4. DSAを10バージョンアップする
##10モジュールのインポート
プラットフォームがDSA(Relay)と異なる場合、先の手順と同様にモジュールのインポートを行います。
Amazon Linuxの10モジュールもインポートすることができました。
![ModuleDL_03.png](https://qiita-image-store.s3.amazonaws.com/0/46611/5290a10f-57a0-6eee-002c-de64ba5814dd.png "ModuleDL_03.png")

Agentアップデートの手順は、先程のDSA(Relay)のバージョンアップと変わりません。
Relayの有効化ボタンをクリックしてしまうと、Agentの再導入(アンインストール/インストール)になるので注意して下さい。
![DSA_update012.png](https://qiita-image-store.s3.amazonaws.com/0/46611/d1e6f4db-7951-a45a-8eb1-77ef093fdd00.png "DSA_update012.png")

無事にできました。
![DSA_update04.png](https://qiita-image-store.s3.amazonaws.com/0/46611/487dd469-d00b-6400-a928-fc0a3a29f53d.png "DSA_update04.png")

最終的なステータスも良好です。
![Final_state.png](https://qiita-image-store.s3.amazonaws.com/0/46611/09897136-2c1f-d98b-d340-a939854734f7.png "Final_state.png")

無事にバージョンアップができました。
今後は、この環境を使っていろいろ検証していきます。

今日はここまでです。
お疲れ様でした。