F5 BIGIP移行ツール

とある案件でBIGIP移行する話があった際に動作させてみたBIGIP Migration Utility環境構築の備忘録です。
詳細は以下のページをご参照ください。
https://www.f5.com/ja_jp/company/blog/migrating-your-big-ip-fleet-amid-supply-chain-challenges
https://github.com/f5devcentral/f5-journeys

# 前提
ESXi：7.0 Update 2 / CPU: 11th i7-11700 / MEM: 128
ホストOS：CentOS7.9
Docker version 23.0.1, build a5ee5b1 / Docker Compose version v2.16.0
Kernel: 3.10.0-1160.88.1.el7.x86_64

# 1. build準備
gitからソースをcloneしておきます。
```bash
mkdir /bigip
cd /bigip
git clone https://github.com/f5devcentral/f5-journeys.git
cd f5-journeys/
```

次に、リリースに記載されている最新ファイルをwgetで取得してチェックサムを実行します。
```bash
wget https://github.com/f5devcentral/f5-journeys/releases/download/v4.2.0/f5-journeys-bundle-4.2.0.tgz
wget https://github.com/f5devcentral/f5-journeys/releases/download/v4.2.0/f5-journeys-bundle-4.2.0.tgz.sha512
sha512sum -c f5-journeys-bundle-4.2.0.tgz.sha512
f5-journeys-bundle-4.2.0.tgz: 完了 #← 完了とでればOK
```

# 2. build ~ コンテナ起動
ダウンロードしたソースを展開してbuildします。
```bash
tar zxvf f5-journeys-bundle-4.2.0.tgz
cd f5-journeys
./install.sh
```

以下のように表示されればOkです。
```bash
[f5-journeys]# ./install.sh
cc2447e1835a: Loading layer [==================================================>]  7.626MB/7.626MB
98ad76d5d6c9: Loading layer [==================================================>]  171.3MB/171.3MB
168a19512614: Loading layer [==================================================>]  7.795MB/7.795MB
56163f08e0d0: Loading layer [==================================================>]  3.584kB/3.584kB
d00705d1fd1a: Loading layer [==================================================>]  1.536kB/1.536kB
48cbf2a59f0a: Loading layer [==================================================>]  53.25kB/53.25kB
d088a8a8e870: Loading layer [==================================================>]  312.3kB/312.3kB
2c1ac12b911a: Loading layer [==================================================>]  287.7kB/287.7kB
2a64b1325e1d: Loading layer [==================================================>]   20.2MB/20.2MB
Loaded image: f5devcentral/f5-automation-config-converter:1.23.3
Loaded image: f5devcentral/f5-bigip-journeys-app:v4.2.0
a483da8ab3e9: Loading layer [==================================================>]  77.83MB/77.83MB
8a99c598a0e4: Loading layer [==================================================>]  10.75kB/10.75kB
e0fba71d9fb9: Loading layer [==================================================>]  10.75kB/10.75kB
88e2e151843a: Loading layer [==================================================>]  4.143MB/4.143MB
31de0c7fac66: Loading layer [==================================================>]  60.15MB/60.15MB
f9d024c0f809: Loading layer [==================================================>]  1.536kB/1.536kB
5f70bf18a086: Loading layer [==================================================>]  1.024kB/1.024kB
2a269272f7cf: Loading layer [==================================================>]  4.096kB/4.096kB
Loaded image: redis:7.2.4
06cfb0e33e68: Loading layer [==================================================>]  12.29kB/12.29kB
bad2d15b8419: Loading layer [==================================================>]  10.15MB/10.15MB
ebb3412998eb: Loading layer [==================================================>]  4.186MB/4.186MB
ce53809fab82: Loading layer [==================================================>]  25.78MB/25.78MB
43eb62aab555: Loading layer [==================================================>]  3.283MB/3.283MB
268fc3fa5e56: Loading layer [==================================================>]  1.536kB/1.536kB
303e1e417635: Loading layer [==================================================>]   7.68kB/7.68kB
3b3f46f49c13: Loading layer [==================================================>]  311.4MB/311.4MB
ac703d5ba35e: Loading layer [==================================================>]  68.61kB/68.61kB
c83713bd9890: Loading layer [==================================================>]  2.048kB/2.048kB
f11865feb940: Loading layer [==================================================>]  3.072kB/3.072kB
acef78c3aab3: Loading layer [==================================================>]  18.94kB/18.94kB
06cc3aa57f42: Loading layer [==================================================>]  3.072kB/3.072kB
Loaded image: postgres:16.1
```

次にJOURNEYSの操作用ディレクトリを作成し、環境ファイルを.envとしてコピーします。
```bash
mkdir /tmp/journeys
cp sample.env .env
```

つづいて、外部からアクセス可能とするためにdocker-compose.yamlを変更します。
```vim
    ports:
      - "ホストIP:${JOURNEYS_PORT}:443"  # ← 「ホストIP」はご自身の環境に合わせてください。
```

では、起動します。
```bash
docker compose up -d
[+] Running 6/6
 ? Network f5-journeys_default            Created                                                                                                           0.2s
 ? Container f5-journeys-acc-1            Started                                                                                                           1.2s
 ? Container f5-journeys-redis-1          Started                                                                                                           1.2s
 ? Container f5-journeys-postgres-1       Started                                                                                                           1.6s
 ? Container f5-journeys-journeys-1       Started                                                                                                           2.0s
 ? Container f5-journeys-celery-worker-1  Started
 ``` 

# 3. ブラウザからアクセス
ブラウザから「ホストIP:8443」でアクセスすると以下画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/9539da32-cbd0-9e47-d4fb-2dd252107c06.png)


あとは「Start Now」ボタンをクリックし、画面下に表示される「Acknowledge」ボタンをクリックすると画面遷移します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/fb7e787f-8f9b-eccb-5170-95d0e8b9ea3f.png)

指示に従って進めると、新しいデバイスに対応してConfigが生成されます。