Insight SQL Testingのバージョンアップ方法

Insight SQL TestingはDBのバージョンアップ時の事前検証にも使っていただけるツールですが、Insight SQL Testing自体のバージョンアップを試してみます！

※マニュアルは[こちら](https://support.insight-tec.com/product/testing/latest/manual/#_%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89)

## 前提
- EC2インスタンスにインストールされたInsight SQL TestingのVer4.0を4.2にアップグレードします。
- 必要な資材は以下の通りで、弊社のサポートサイトより`SQL-Testing-Manager-XXXX-upgrade.tar.gz`を入手しておいてください（LLMのアップグレードを行うならば`model-x.x.x.x-upgrade.tar.gz`も）。これを解凍すると以下を得ます：
    - sql_testing_vXXXX.tar.gz(以降のコード説明部分ではXXXX=4200)
    - updrade.sh
    - model_vxxxx.tar.gz

※今回、推論モデルは更新しないので、model_vxxxx.tar.gzの取得と移動、およびそれに紐づく手順は割愛します。

### 資材の配置
これらのファイルを仮想マシンのInsightユーザーのホームディレクトリへ配置します。
ローカル環境からscpでそれぞれコピーします。

```shell
scp -i xxxxx.pem ./upgrade.sh ec2-user@xx.xx.xx.xx:/home/ec2-user
scp -i xxxxx.pem ./sql_testing_v4200.tar.gz ec2-user@xx.xx.xx.xx:/home/ec2-user

# 配置後、insightユーザのホームディレクトリにそれぞれ移動（以下、ec2-userでsshログインしてから実行）
[ec2-user@idt ~]$ sudo mv ./upgrade.sh /home/insight/upgrade.sh
[ec2-user@idt ~]$ sudo mv ./sql_testing_v4200.tar.gz /home/insight/sql_testing_v4200.tar.gz
```

### 権限周りの変更
各ファイルの所有者を確認し、必要に応じてinsightユーザに変更してください。
```shell
[ec2-user@idt ~]$ sudo ls -l /home/insight
drwxrwxr-x  6 insight  insight    53 Apr 18  2024 idt
drwxr-xr-x 16 insight  insight  4096 Apr 18  2024 piso-manager
-rw-rw-r--  1 ec2-user ec2-user 936218542 Feb 21 20:27 sql_testing_v4200.tar.gz
-rw-rw-r--  1 ec2-user ec2-user 2528 Feb 21 20:15 upgrade.sh

[ec2-user@idt ~]$ sudo chown insight:insight /home/insight/upgrade.sh
[ec2-user@idt ~]$ sudo chown insight:insight /home/insight/sql_testing_v4200.tar.gz

# 念のため再確認
[ec2-user@idt ~]$ sudo ls -l /home/insight
drwxrwxr-x  6 insight insight        53 Apr 18  2024 idt
drwxr-xr-x 16 insight insight      4096 Apr 18  2024 piso-manager
-rw-rw-r--  1 insight insight 936218542 Feb 21 20:27 sql_testing_v4200.tar.gz
-rw-rw-r--  1 insight insight      2528 Feb 21 20:15 upgrade.sh

```

### いざ実行
実行権限をスクリプトに与えます：
```shell
[ec2-user@idt ~]$ sudo chmod +x /home/insight/upgrade.sh
```

スクリプトを実行します
```shell
[ec2-user@idt ~]$ sudo su - insight
Last login: Fri Feb 21 20:39:39 JST 2025 on pts/4
[insight@idt ~]$ ./upgrade.sh sql_testing_v4200.tar.gz  2>&1 | tee -a upgrade.log
Distribution: ol
Version: 8
upgrade: start
terminating SQL-Testing-Manager: start
terminating SQL-Testing-Manager: finish
extracting an app container: start
Getting image source signatures
Copying blob sha256:ce9c5f2b0477e03e714ebf064d1c6e517aebe8456a8ab90efc6c7f0cf0ef1ee7
Copying blob sha256:664144bd1f243d56de6413950a57ce17fd9d25e925a8e06c4771cc4fb2fdbb50
Copying blob sha256:6d12254677a4f2e1bba905033ae81095c7601c491158df3a642ac34549bf665d
Copying blob sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef
Copying blob sha256:b7e435504b34ff9cdf3b51bdf1f32ea17ad36e06d6055be7ef799d9e49bedc91
Copying blob sha256:78ab3d47e58036c28c46ab0d1a5c07f80cf73433e0a56205ba533dea8f544209
Copying blob sha256:1d2d168c42d0849853311545d792b3266057f8c21a423220843ba35bd57949a9
Copying blob sha256:b7e008563cb30b4e6154fdb6034cdf11be0a996904616022566f827ba335738f
Copying blob sha256:63e72f0191505b8f76af0ef5a16b4df1e7a2b7834adbda7e00007ddf4e01aee4
Copying blob sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef
Copying config sha256:59fc00d2e9cd2ff7975e46eb084ea080241d8062b96401c3ba433e53507a24be
Writing manifest to image destination
extracting an app container: finish
upgrade: finish
launching SQL-Testing-Manager: start
Pod:
1881d235f913ea0a1ff2fff969e1eba4e4007b3318bdb77ba7868d4636b55555
Containers:
05f37cc70885e447535d6fe4bcdd73f3515f653b8afca452a5195a137a53a432
bad76dd15c7cd579ec6f40bb4623532afd52ebc52aeae8dbf9ffa59a52d6472f
40a0f851396d9a4b5f9f0870592520f08762ddec5d83ba41e1729799c0b5ac44

launching SQL-Testing-Manager: finish

# コンテナを再起動します。
[insight@idt ~]$ istctl downidt upidt
idt-app
1881d235f913ea0a1ff2fff969e1eba4e4007b3318bdb77ba7868d4636b55555
1881d235f913ea0a1ff2fff969e1eba4e4007b3318bdb77ba7868d4636b55555

Pod:
b75a0924f14abddd5a9f200a730ab008c5aa5dea62fa556465f659e97cb630b1
Containers:
1e349711a4b6be897f728ce1291d06d0030f5f52fc578a2b8c37fdc96ec63c30
71c767cacabe6af50bed2da664a96fca0d2f0774a92573284a8586f8cc834cb0
29cfa4c6c4df12f3563012bd3f6af029290fdce50cd300bbc215f95c3d8dc664
```

これにて完了！作業としては1時間あれば十分です。
※早めの`sudo su - insight`の方が色々手間が省けます。

---
- SQLテストソフトウェア「Insight SQL Testing」
- https://www.insight-tec.com/products/sqltesting/