HULFT10 API Gateway をアップデートしてみた

# はじめに
こんにちは。すぎもんです。:smiley:

今回は <font color="blue">**HULFT10 API Gateway のアップデート**</font> をした際の記事になります。

HULFT10 API Gateway について紹介している公式サイトと記事もあわせてご覧ください。


https://www.hulft.com/software/hulft-10/lineup/api-gateway

https://qiita.com/sugimon/items/f48fc75d0c81071116b3

https://qiita.com/sugimon/items/c41a39ddee27f9497907



# 今回やること
今回は HULFT10 API Gateway のバージョンを <font color="blue">**10.2.0**</font> から <font color="blue">**10.2.1**</font> へアップデートを行っていきます。

:::note warn
アップデートを行うには異なるバージョン、レベル、およびリビジョンの実行モジュールを操作する必要があります。
:::



# 実施手順
以下の流れで <font color="blue">**HULFT10 API Gateway のアップデート**</font> を行っていきます。

<dl>
  <dt>① 既存 HULFT10 API Gateway（Ver.10.2.0）のサービスを削除</dt>
  <dd>1. 既存サービスの停止</dd>
  <dd>2. 既存サービスの削除</dd>
  <dt>② 新 HULFT10 API Gateway（Ver.10.2.1）のサービスを登録</dt>
  <dd>1. モジュールの展開</dd>
  <dd>2. 設定ファイルの移行</dd>
  <dd>3. プロダクトキーの登録</dd>
  <dd>4. 新サービスの登録</dd>
  <dd>5. 新サービスの起動</dd>
  <dt>③ 製品情報の確認</dt>
  <dd>1. 製品情報の表示</dd>
  <dd>2. 既存フォルダーの削除</dd>
</dl>



## ① 既存 HULFT10 API Gateway（Ver.10.2.0）のサービスを削除
**既存 HULFT10 API Gateway のサービスの削除** は、下記の手順で行います。

1. 既存サービスの停止
1. 既存サービスの削除



### 1. 既存サービスの停止
コマンドプロンプトを管理者として実行し、HULFT10 API Gateway のモジュールを展開したディレクトリに移動します。
下記の **HULFT10 API Gateway Server 実行ファイル** のコマンドを使用して、HULFT10 API Gateway の **サービスを停止** します。

```ruby:コマンド
hulft-api-gateway.exe --stop
```
**※実行例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/2f2c975e-cadc-49dd-bac6-c58ed8a9820b.png)



### 2. 既存サービスの削除
続けて下記のコマンドを使用して、HULFT10 API Gateway の **サービスの削除** を行います。

```ruby:コマンド
hulft-api-gateway.exe --delete-service
```

**※実行例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/ba405a35-7deb-4a49-9daa-88287a0cd212.png)

:::note
**Point**
サービスから HULFT10 API Gateway が削除されているのが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/7b54c5e5-5d35-49eb-bb66-4490749eec3b.png)
:::



## ② 新 HULFT10 API Gateway（Ver.10.2.1）のサービスを登録
**新 HULFT10 API Gateway のサービスの登録** は、下記の手順で行います。

1. モジュールの展開
1. 設定ファイルの移行
1. プロダクトキーの登録
1. 新サービスの登録
1. 新サービスの起動
1. 製品情報の確認
1. 既存フォルダーの削除



### 1. モジュールの展開
任意のフォルダーに、新しい HULFT10 API Gateway の **セットアップモジュールを展開** していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/f0eda3d1-5a39-47c7-842a-f0d8ea40d65f.png)

モジュールの構成は『[**【公式】HULFT10 API Gateway ガイド**](https://www.hulft.com/help/ja-jp/HULFT-V10/AGW-SUG/Content/HULFT_SUG_AGW/Overview/Module.htm?TocPath=1.%20%E5%B0%8E%E5%85%A5%7C_____1)』から確認が可能です。


### 2. 設定ファイルの移行
既存の導入フォルダーにある <font color="red">**設定ファイル（hul_gtw_config.yml）**</font> で、新しい導入フォルダーにある新しい **設定ファイルの上書き** をしていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/3f5107ed-51ed-4012-b490-d66dd6da6e80.png)

:::note
**Point**
設定ファイルのパスは **`etc/hul_gtw_config.yml`** になります。
:::



### 3. プロダクトキーの登録
再びコマンドプロンプトを管理者として実行し、新しく HULFT10 API Gateway のモジュールを展開したディレクトリに移動します。
下記のコマンドを使用して、**新しいシリアル番号、プロダクトキー、および期間限定キーの登録** を行います。

```ruby:コマンド
hulft-api-gateway.exe
    --activate
    --serial-number SerialNumber
    --product-key ProductKey
    [--term-license-key TermLicenseKey]
    --root-password RootPassword
```

**※実行例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/6b861971-8b57-4d6f-9416-406d19ebb086.png)



### 4. 新サービスの登録
そのまま下記のコマンドを使用して、HULFT10 API Gateway の **サービスを登録** します。

```ruby:コマンド
hulft-api-gateway.exe --register-service [--service-name ServiceName]
```

**※実行例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/d47b1639-1efd-4936-8555-2b2e94b5f99d.png)

:::note
**Point**
ServiceName の指定を省略した場合、サービス名は「**HULFT API Gateway**」で登録されます。
:::


### 5. 新サービスの起動
続けて下記のコマンドを使用して、HULFT10 API Gateway の **サービスを起動** します。

```ruby:コマンド
hulft-api-gateway.exe --start
```

**※実行例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/f27bb650-7429-4ebb-8e17-95b74cea9f3e.png)



## ③ 製品情報の確認
**製品情報の確認** は、下記の手順で行います。

1. 製品情報の確認
1. 既存フォルダーの削除



### 1. 製品情報の確認
HULFT10 API Gateway にログインをして、**[Setting] > [製品情報] > [この製品について]** からバージョンが <font color="red">**10.2.1**</font> になっているのが確認できます。 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/7e03f103-7d38-4aae-be3f-06f4605ef590.png)


:::note
**Point**
下記のコマンドを使えば、 コマンドプロンプトからも **製品情報の確認** が可能です。

```ruby:コマンド
hulft-api-gateway.exe --version
hulft-api-gateway.exe -v
```
**※実行例**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/a44da41c-6b79-475b-a3c2-f63275a36556.png)
:::



### 2. 既存フォルダーの削除
最後に既存の HULFT10 API Gateway が格納されている **フォルダーの削除** を行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/1335c98e-926b-427e-9388-297579b2ee42.png)

これで <font color="blue">**HULFT10 API Gateway のアップデート**</font> は完了です。



# Appendix
<font color="blue">**HULFT10 API Gateway のアップデート**</font> ではなく <font color="Red">**HULFT10 API Gateway のアンインストール**</font> を行う場合は、**サービスの停止** と **サービスの削除**、**フォルダーの削除** を行った後に **データベースの削除** を実施してください。

```ruby:例
DROP DATABASE hulgtw;
```



# 最後に
今回は HULFT10 API Gateway をアップデートしてみましたが、いかがでしたでしょうか。

HULFT10 API Gateway の導入とあまり操作が変わらないため、簡単にアップデートすることが出来ました。皆さんも是非試してみてください！

このブログでは、今後も様々なTopics記事や接続検証等、皆さんの参考になるような記事を投稿していきたいと思います！
ここまで読んでいただきありがとうございました。それでは、また！:raised_hand: