ABAP Cloud Developer Trialのインストール

以前から使用しているABAP Platform 1909, Developer Edition for Dockerより新しいバージョンであるABAP Cloud Developer Trialが2024年に出ていたようなので遅まきながらインストールしてみました。

https://community.sap.com/t5/technology-blogs-by-sap/abap-cloud-developer-trial-2022-available-now/ba-p/13598069

# 1.今回の手順
以前インストールしたABAP Platform 1909, Developer Edition for Dockerと同じように仮想環境にOSをインストールして仮想環境内からDockerを使ってABAP Cloud Developer Trialの環境を作成していきます。

手順としては以下の順になります。
1. 仮想環境にOSのインストール
2. dockerのインストール
3. ABAP Cloud Developer Trialイメージの取得
4. コンテナの作成
5. ABAP Cloud Developer Trialの実行

# 2.仮想環境の準備
まずは仮想環境の準備なんですが、一応個人ディスクトップの環境情報を記載しておきます。
- ディスクトップ環境情報
  - CPU：AMD Ryzen 5 PRO 3400GE
  - メモリ：32GB
  - OS：Windows10 Home
  
自作でも何でもない普通の市販PCです。(メモリはMAX積んでます、あと電源容量も増やしてます)

仮想環境は以前のDeveloper Editionで使用していたVMware(R) Workstation 17 Playerを引き続き使用してOSをインストールしていきます。
OSは特にこだわりはないですがOpen SUSEにしました。(以前のDeveloper EditionもOpen SUSEを使用していたので…)
ダウンロードは以下でオフラインイメージをダウンロードします。

https://get.opensuse.org/ja/leap/15.6/

ダウンロードが完了したらVMの作成ウィザードから仮想マシンを作成していきます。

インストーラディスクイメージファイルに先ほどダウンロードしたOSのオフラインイメージを選択、自動的にOSの種類が検出されます。
![仮想マシン設定1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/8d44de0b-b27a-49a1-9d37-3fb7ae061679.png)

仮想マシン名は適当につけます。(ここではABAPTRIAL_2022_SP01とします）

![仮想マシン設定2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/097ceb0a-18d5-4ca0-9052-167fd3d3094f.png)

次にディスク最大サイズですが[Docker Hub](https://hub.docker.com/r/sapse/abap-cloud-developer-trial)の概要にLinuxは150GBと記載があるので同じ値に設定しておきます。

![仮想マシン設定3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/e90034b1-0695-4cc2-a6d5-6cdf13001417.png)

ここまで設定された内容が表示されますがメモリが2GBになっているので、これを変更するために「ハードウェアをカスタマイズ」ボタンを押します。

![仮想マシン設定4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/94264bf3-cc85-496f-bd32-b65eb32d0e5d.png)

ハードウェアの設定画面が出てくるので[Docker Hub](https://hub.docker.com/r/sapse/abap-cloud-developer-trial)の概要に記載してある16GBではなく注意事項に記載しているABAP Cloud Developer Trialのイメージを実行するのに必要な32GBを設定します。
(ABAP Platform 1909, Developer Edition for Dockerは16GBだったので倍になりましたね…)

![仮想マシン設定5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/91e4dc38-28c8-4703-947a-cc509e086489.png)

「閉じる」ボタンを押して設定内容が表示されている画面まで戻りメモリが32GBになっていることを確認して「完了」ボタンを押してOSのインストールを進めていきます。

![仮想マシン設定6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/ee5a8dfb-9e6f-4517-918d-d26073843400.png)

# 3.Dockerのインストールとイメージの取得
#### ・Dockerのインストール
OSのインストールが完了したらターミナルを立ち上げて以下コマンドでDockerのインストールを行います。

`zypper install docker`

インストール中に続行するか聞かれるので「Y」を入力して続行してインストールを完了します。

![Dockerインストール1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/380bdc83-8d03-4d86-a4d0-263d71c8b0a8.png)

一応正常にインストールされているか確認するため、以下のコマンドでサービス一覧を表示して確認。
`systemctl list-unit-files -t service`

表示された一覧に`docker.service`があることを確認。(赤枠)
![Dockerインストール2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/9baf4394-9ed2-4778-bd4c-a11b5e49fab8.png)

以下のコマンドでサービスを開始します。
`systemctl start docker`

また仮想マシン実行時に自動起動するように以下のコマンドでサービスの有効化もしておきます。
`systemctl enable docker`

#### ・ABAP Cloud Developer Trialイメージの取得
イメージ取得のためDocker Hubに以下のコマンドにログインします。ログインしないとイメージの取得ができないのでアカウントがない人はアカウント作成を行う必要があります。

https://hub.docker.com/

以下のコマンドでDocker Hubにログインします。ユーザ名とパスワードを聞かれるのでユーザ名とパスワードを入力します。
`docker login`

![イメージ取得1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/8b6531d8-afc9-4a35-a653-adfaa332a4e8.png)

これでDocker Hubからイメージを取得する準備が整ったので以下のコマンドでイメージを取得します。

`sudo docker pull sapse/abap-cloud-developer-trial:ABAPTRIAL_2022_SP01`

以下のようなログが表示されて取得完了です。(結構時間がかかります)
![イメージ取得2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/01962994-1634-40ae-bdf2-9057dda91017.png)

# 4.コンテナの作成とABAP Cloud Developer Trialの実行
イメージの取得が完了したら次はコンテナの作成です。
Docker Hubの概要のHow to create a Docker containerのOtherの記載をもとにして進めていきます。

https://hub.docker.com/r/sapse/abap-cloud-developer-trial#other

今回はHANA DBにも接続したいので`-p 30215:30215` を追加、あと`-agree-to-sap-license`も追加して以下のコマンドとしました。

`sudo docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 30215:30215 -p 50000:50000 -p 50001:50001 sapse/abap-cloud-developer-trial:ABAPTRIAL_2022_SP01 -skip-limits-check -agree-to-sap-license`

起動するまでしばらく待って以下のログが表示されてば起動完了です。
![イメージ取得3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/a0f6d905-0a13-4282-91bc-a3f35db59cad.png)

停止する場合はコンテナを起動したターミナルで`Ctrl+C`か別ターミナルで`docker stop -t 7200 a4h`を実行すると停止します。

停止したコンテナを再開する場合は`docker start -ai a4h`を実行すれば起動されます。

# 5.接続確認
とりあえず接続確認ということで仮想環境外からGUIでアクセスしてみます。

新規ログオンを作成し、アプリケーションサーバの欄には仮想環境のIPを設定するとアクセスできるはずなので仮想環境のIPを設定します。その他は以下の通り。
![動作確認1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/a55d0882-d1d5-4174-9205-87274be5deff.png)

エントリが作成出来たら実行すると……
![動作確認2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/7ed91f77-769e-4cd8-876e-08adb18e6d9f.png)

無事アクセスできました！
![動作確認3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/0445be2a-e83a-470c-942c-014624a78063.png)

# 6.最後に
ここまでで環境の構築は終了です。基本SAP畑の人なのであまりLinuxやDockerの知識がないので怪しい所はあるかもしれませんが生暖かい目で見ていただけるとありがたいですｗ
で、ここからおまけで以前から使っているABAP Platform 1909は16GBで問題なく動いていたので試しに仮想環境のメモリを16GBに変更して動かしてみましたが、起動・アクセスまではできるんですがトランザクションがショートダンプで落ちますｗ
やはり32GBないと厳しいみたいですね……PCのメモリがMAX32GBなのでほんとギリギリで怖い……

次回はGUIやEclipseなどの設定と、今回のABAP Cloud Developer Trialに付いているCloud Connectorの設定などを纏めてみたいと思います。