IBM API ConnectへのFix適用


ローカルPC上のハンズオン環境やデモ環境として稼働しているIBM API Connectの3つのコンポーネント（APIマネージャー、開発者ポータル、DataPower Gateway）にFixを適用する手順です。
本番環境を想定した手順ではないため一部製品のシステム前提を満たさない構成となっている部分がある点にご注意ください。該当箇所は記事中で説明します。

本記事で使用する各コンポーネントの既存のバージョンと適用するFixイメージのバージョンは下図の通りです。

| コンポーネント | 既存のバージョン  | Fixイメージのバージョン |
|:-----------:|:------------:|:------------:|
| DataPower Gateway|  7.5.1.1 | 7.5.2.0 |
| APIマネージャー    | 5.0.2.0 | 5.0.4.0 |
| 開発者ポータル      | 5.0.2.0 | 5.0.4.0 |



##0.使用環境

本記事で使用しているシステム環境は以下の通りです。API Connect V5が前提としているシステム条件ではありませんのでご注意ください。
API Connect V5の本来のシステム前提条件については、[IBM API Connect Version 5.0 requirements](http://www-969.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=3AA8A760EAC011E5AC7795820C28A037 "IBM API Connect Version 5.0 requirements")にて確認できます。

ハードウェア環境
- Microsoft Windows 7 Professional(64bit)
- 物理メモリ 16GB以上
- プロセッサー 1.6GHz以上
- ハードディスク空き容量 30GB

ソフトウェア環境
- VMware Workstation Pro 12 以上
- Mozilla Firefox 46.0.1（ブラウザ）

ネットワーク環境
- VMware環境のネットワークはNAT接続で、サブネットは192.168.102.0としています

※セットアップする環境のサブネットが上記と異なっていても問題ありません。ご使用のローカル環境のアドレスと読み替えてください。

- 各VM間の名前解決は、ローカルのhostsにて行っています

| VM |IPアドレス | ホスト名 |
|:-----------:|:----------:|:---------:|
| DataPower Gateway| 192.168.102.10 |api.example.com|
| APIマネージャー | 192.168.102.20 | mgt.example.com |
| Developer Portal| 192.168.102.30| dev.example.com |


##1.事前準備

###仮想化環境の設定
・Fixを適用する前に、仮想化ソフトウェアの機能でスナップショットを作成するなど、各VMのバックアップを行います。
・Fix適用の際に各VMのリソースが小さい場合、Fix適用が失敗する可能性があるので、メモリのサイズとプロセッサの数を充分な値に設定します。
・Fix適用の手順に入る前に各コンポーネントのVMをそれぞれ起動します。

本記事では、ローカルPC上のハンズオン環境またはデモ環境を使用することを前提としておりますので、下表のリソース割り当てでFix適用を実施して成功しています。

| コンポーネント |メモリ | プロセッサ |
|:-----------:|:----------:|:---------:|
| DataPower Gateway|  8GB | 2コア |
| APIマネージャー |8GB | 2コア |
| 開発者ポータル      | 4GB | 2コア |


＊DataPower Gatewayのメモリが8GB未満だとメモリ不足によってDataPower サービスの再登録が失敗するのでなるべくメモリの値に余裕を持たせるように注意してください。


API Connect V5が本来推奨している各コンポーネントのリソースの値は下表の通りです。

| コンポーネント |メモリ | プロセッサ |
|:-----------:|:----------:|:---------:|
| DataPower Gateway|  16GB | 8コア |
| APIマネージャー |16GB | 8コア |
| 開発者ポータル      | 4GB | 2コア |







###Fixイメージのダウンロード
[IBM Fix central](https://www.ibm.com/support/fixcentral/ "IBM Fix central")からFixイメージをダウンロードします。
※Fix CentralからFixイメージを入手するためにはIBM IDが必要になるので、取得していない方は事前に取得してください。


本記事では以下のFixイメージを使用しています。
- 5.0.4.0-APIConnect-Portal-Essentials-20160920-0134 
- APIConnect_Management_Essentials-5.0.4.0_20160920-0552_8cabe15201d2_27b449d.vcrypt2
- IDG-virtual-7.5.2.0-Firmware


###FTPサーバーの準備

APIマネージャーにFixイメージを適用する際にFTPを使用します。
この手順ではWindowsに標準搭載のインターネット インフォメーション サービス（IIS）V7.5のFTPサーバー使用しています。
※FTPの他にもSFTP、HTTP、HTTPSを使用することができるので、ご使用の環境に適したプロトコルを選定してください。


##2.APIマネージャーへのFix適用
APIマネージャーへのFix適用は、APIマネージャーへのFix適用コマンドの入力によって、FTPサーバー・サイトに配置されたFixイメージを適用することで行います。
[Knowledge Centerの記述](http://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.install.doc/apply_main_mgmt.html "Knowledge Centerの記述")に従って、まず最初にAPIマネージャーへのFix適用を行います。


###2.1.FTPサーバー・サイトへのFixイメージの配置

・FTPサーバーを起動します。

![Kobito.30f5mP.png](https://qiita-image-store.s3.amazonaws.com/0/122591/55f72a8b-88d4-c188-648c-661189550876.png "Kobito.30f5mP.png")

・FTPサーバー・サイトとして指定されているフォルダにFixイメージを移動します。
※ここではWindowsのIISを利用しているため、Fixイメージの移動のみで済みますが、他のFTPソフトを利用する場合やリモート環境にFTPサーバーを構築して使用する場合は、それぞれの状況に適した操作を行ってください。

![Kobito.i7RhiO.png](https://qiita-image-store.s3.amazonaws.com/0/122591/21b6c659-d4eb-51d3-569e-4524196a6b31.png "Kobito.i7RhiO.png")

###2.3.Fix適用コマンドの実行
・SSHで管理権限を持つユーザーとしてAPIマネージャーのVMにログインします。


・以下のコマンドを実行し、Fixを適用します。


```text:Fix適用コマンド
system update firmware from ftp <hostname|ip> user <username> file <filename>
```


この時、
* *\<hostname|ip>* は、FIxイメージをアップロードした FTP サーバーです。
* *\<username>* は、FTP サーバーにログインするユーザー名です。
* *\<filename>* は、Fixイメージのファイル名です。



```text:実行結果	
mgt/APIConnect> system update firmware from ftp 10.116.165.234 user TEC file API
Connect_Management_5.0.4.0_20160920-0552_8cabe15201d2_27b449d.vcrypt2
Fetching upgrade file APIConnect_Management_5.0.4.0_20160920-0552_8cabe15201d2_27b449d.vcrypt2 from FTP server 10.116.165.234
Connecting with username 'TEC'...
Enter host password for user 'TEC':
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1456M  100 1456M    0     0  42.7M      0  0:00:34  0:00:34 --:--:-- 9084k

Transfer successful. File metadata:
sha1sum: 333a2a36ef9f6371f74b0c421c8b6da6ad1f5afe
size: 1.5G
filetype: data

Successfully downloaded image, beginning firmware upgrade...

The upgrade completed successfully
Upgrade Successful, rebooting...
Rebooting... This may take several minutes.
Command complete
```


・約30分〜1時間ほどでアップデートが完了し、APIマネージャーのOSが自動的にリブートします。
・ログインしてsystem show versionコマンドを入力すると、表示されるバージョンが適用したFixのバージョンになっていることが確認出来ます。


```text:バージョン確認
mgt/APIConnect> system show version
Product: API Connect
Mode: Management
Version: API Connect 5.0.4.0_20160920-0552_8cabe15201d2 (Sep 20 2016, SOURCE ID: 27b449d)
Serial Number: VMWPOL6QTA6UG14D
```

##3.開発者ポータルへのFix適用
開発者ポータルへのFix適用は、開発者ポータルへのFix適用コマンドの入力によって、SCP等でローカルにコピーされたFixイメージを適用することで行います。

###3.1.開発者ポータルVMへのFixイメージのコピー

・SSHで管理権限を持つユーザーとして開発者ポータルにログインします。


・SCPを使用して、任意のディレクトリに開発者ポータルのFixイメージをコピーします（下の画像ではTera Termに標準搭載のSCP機能を利用しています）。

![Kobito.pJvltb.png](https://qiita-image-store.s3.amazonaws.com/0/122591/e56627e5-985c-5189-f4df-d6d7bb781502.png "Kobito.pJvltb.png")


###3.2.Fix適用コマンドの実行
・SCPが成功したら、Fix適用のコマンドを実行します。スタンドアロン・ノードとして構成されている場合は1の手順、クラスター・ノードとして構成されている場合は2の手順を実行します。
※ここで、「 *version* -APIConnect-Portal- *yyyymmdd_hhmm* .bin」はFix CentralからダウンロードしたFixイメージのファイル名です。

1.スタンドアロン・ノードの場合


```text:コマンド
bash version-APIConnect-Portal-yyyymmdd_hhmm.bin -a –i
```


2.クラスター・ノードの場合
クラスター内の最後のマシンを除いた全てのマシンに対して


```text:コマンド
bash version-APIConnect-Portal-yyyymmdd_hhmm.bin –a
```


クラスター内の最後のマシンに対して


```text:コマンド
bash version-APIConnect-Portal-yyyymmdd_hhmm.bin -a –i
```


・この記事で使用している環境ではスタンドアロン・ノードとして構成されているため、1の手順を実行します。途中で出てくる質問に対しては「Y」を選択します。

```text:実行結果
admin@dev:~/fix$ bash 5.0.4.0-APIConnect-Portal-20160920-0134.bin -a -i
Checksum archive contents …
Checksum archive contents OK

Applying this fix pack will perform a major version database upgrade.

This requires stopping the database on all cluster members and restarting them together. This means there will be a short time where the database will be stopped on all cluster members at the same time.

This will cause an outrage for the web sites hosted on this cluster.

To by-pass this question when applying the fix pack to the rest of the nodes add -y to the command line of the fix pack script.

Continue (Y/N/n)? Y
```


・約30分でアップデートが完了しますが、バージョン表記の更新は一度VMをリブートしないと反映されません。SSHの画面からsystem reboot コマンドでVMをリブートします。

・VMの起動後の画面のバージョン表記で、Fixの適用が完了したことを確認できます。

```text:バージョン確認
IBM APIC Developer Portal 5.0.4.0-20160920-0134 - IP adds eth0 192.168.102.30
Debian GNU/Linux 7 dev.example.com tty1
dev login:
```



##4.DataPower GatewayへのFix適用
DataPower GatewayへのFix適用は、DataPower GateawyのWebUIを使用して、DataPower GatewayにアップロードされたFixイメージを適用することで行います。

###4.1.Fixイメージの適用

・VMware上でDataPower GatewayのVMを起動し、ブラウザから管理権限を持つユーザーとしてWebUIにdefaultドメインにログインします。

![Kobito.XjFSjO.png](https://qiita-image-store.s3.amazonaws.com/0/122591/5e6174ad-117f-c8af-eacc-7180845942ba.png "Kobito.XjFSjO.png")




・画面をスクロールし、System Controlをクリックします。

![Kobito.00ukrI.png](https://qiita-image-store.s3.amazonaws.com/0/122591/504df90a-724f-eaf9-9875-f75c04f151c1.png "Kobito.00ukrI.png")


・Boot Imageセクションで「Upload」ボタンをクリックします。

![Kobito.MQ6Q2e.png](https://qiita-image-store.s3.amazonaws.com/0/122591/b4d479b7-cf00-529d-b597-491b40825a2a.png "Kobito.MQ6Q2e.png")


・「参照」ボタンをクリックして、適用するFixイメージ選択します。
Fix Centralから「IDG-virtual-7.5.2.0-Firmware」をダウンロードすると、下図のように複数のFixイメージが提供されます。稼働環境やライセンスの種類によって使用可能なイメージが異なるので、[Knowledge Centerのページ](http://www.ibm.com/support/knowledgecenter/ja/SS9H2Y_7.5.0/com.ibm.dp.doc/upgrade_determiningfirmwareimagestodownload.html "Knowledge Centerのページ")を参考にして最適なイメージを選択します。

![Kobito.o9ZyCv.png](https://qiita-image-store.s3.amazonaws.com/0/122591/740bef41-fb91-abaf-710f-c82ab58cbf35.png "Kobito.o9ZyCv.png")


![Kobito.8ZCdun.png](https://qiita-image-store.s3.amazonaws.com/0/122591/fdc18eaa-7979-39dc-3acf-0e25c17f97a8.png "Kobito.8ZCdun.png")


・ファイルのアップロードが成功したら、「Continue」ボタンをクリックします。

![Kobito.qn0RgV.png](https://qiita-image-store.s3.amazonaws.com/0/122591/37ede211-360b-b64d-342d-7b63541168f1.png "Kobito.qn0RgV.png")


・「I accept the terms of the license agreements」にチェックを入れて「Boot Image」ボタンをクリックします。

![Kobito.cUif24.png](https://qiita-image-store.s3.amazonaws.com/0/122591/e8f9d109-c552-6720-6383-d77477fcf18b.png "Kobito.cUif24.png")


・「Execute Action」画面が現れるので、「Confirm」ボタンをクリックすると、ボタンの表示が「Pending…」に変化し、Fixの適用が開始します。
Fix適用が完了するまでに30分〜1時間ほど時間がかかります。


![Kobito.GPJGbq.png](https://qiita-image-store.s3.amazonaws.com/0/122591/54af4063-8e66-16bf-95f1-c72515b7ccb6.png "Kobito.GPJGbq.png")


![Kobito.Jcp5TO.png](https://qiita-image-store.s3.amazonaws.com/0/122591/70baf033-f49d-7185-de94-41a046e5f6fe.png "Kobito.Jcp5TO.png")


・Fixの適用が成功すると、下図のようにメッセージが表示され、自動的にVMがリブートされます。

![Kobito.MSyIdK.png](https://qiita-image-store.s3.amazonaws.com/0/122591/819904b1-69ca-2377-a7d6-1479c33af70e.png "Kobito.MSyIdK.png")


・VMへのログイン時に表示されるバージョン名の変化によって、Fixが適用されたことを確認できます。


```text:バージョン確認
Login: admin
Password: ********

Welcome to IBM DataPower Gateway console configuration.
Copyright  IBM Corporation  1999-2016

Version: IDG.7.5.2.0 build 281259 on Sep 28, 2016 11:53:11 PM
Serial number: 0000000

idg#
```



・本記事で行ったバージョン7.5.1.1 → 7.5.2.0のアップグレードでは、WebUIの画面の変化によってもFixが適用されたことが確認できます。

![Kobito.4WK52G.png](https://qiita-image-store.s3.amazonaws.com/0/122591/3e203055-d7a8-f293-d2be-395658d577c6.png "Kobito.4WK52G.png")




###4.2.DataPower サービスの再登録
Fixが適用されると、APIマネージャーに登録されていたDataPower サービスが非同期の状態になるので、DataPower サービスを一度削除して再登録します。この時、DataPower Gatewayのメモリが8GB未満だとメモリ不足によってDataPower サービスの再登録が失敗するのでなるべくメモリの値に余裕を持たせるように注意してください。

※本記事と異なる手順として、Fix適用前にあらかじめDataPower サービスを削除しておくことも可能ですが、ここではDataPower サービスの停止による影響を最小限に抑える目的でDataPower サービスの消去・再登録をFix適用後に連続して行う手順を採用しています。  
  

・APIマネージャーのクラウド管理コンソールにログインし、「サービス」タブに移動します。
クラウド管理コンソールのURL：https:// *\<hostname>* /cmc

![Kobito.CZKJBN.png](https://qiita-image-store.s3.amazonaws.com/0/122591/103adae5-cedb-f3f8-0544-241475c4f64e.png "Kobito.CZKJBN.png")


・画面をスクロールして「DataPower サービス」セクションに移動し、「状況」が非同期になっているDataPower サービスの「…」ボタンをクリックし、「サーバーの削除」を選択します。
※ あとで再登録する時のために、既存のDataPower サービスの設定内容をメモや画面キャプチャーで残しておくようにしてください。

![Kobito.P5yobW.png](https://qiita-image-store.s3.amazonaws.com/0/122591/d9731efe-5e69-9f4c-04a4-fb0e84a4ab33.png "Kobito.P5yobW.png")

・DataPower サービスが削除されたのを確認し、「サーバーの追加」ボタンをクリックします。

![Kobito.e1WdmZ.png](https://qiita-image-store.s3.amazonaws.com/0/122591/c6232c51-5c93-055f-26dc-dbb283798da0.png "Kobito.e1WdmZ.png")


・DataPower サービスの詳細情報を入力するプロンプトが表示されるので、先ほどメモしておいたDataPower Gatewayの情報を入力して「作成」ボタンをクリックします。

![Kobito.DkEm7p.png](https://qiita-image-store.s3.amazonaws.com/0/122591/f0a41742-8f33-e955-ec37-f5c569ecfa3a.png "Kobito.DkEm7p.png")


・新しいDataPower サービスが追加されて、「状況」が「ACTIVE」になっていることを確認します。

![Kobito.PRdHpk.png](https://qiita-image-store.s3.amazonaws.com/0/122591/1c7a06e9-fd5f-0abd-5190-b30560fa1eaf.png "Kobito.PRdHpk.png")

<br/>


以上で、IBM API Connectの3つのコンポーネント（APIマネージャー、開発者ポータル、DataPower Gateway）へのFixの適用手順は終了です。
<br/>