SAP ABAP Platform 1909, Developer Edition(dockerhub)をopenSUSE Leap 15.3(EC2)で起動してみる
上記の記事でSAP ABAP Platform 1909, Developer Edition
を構築してみましたが。
最初からコンテナに含まれているライセンスキー 及び Trials and Downloads - SAP Developer CenterからダウンロードできるライセンスのハードウェアキーとAWS上に構築したハードウェアキーが食い違っており。
ライセンスキーをminisapから取得してインストールしないとならない事態となりました。
ここらへんSAP側が対応してくれてうまいことなるかはわかりませんが、Developer Edition
は有効期限があり定期的にライセンス更新が必要となり、Trials and Downloads - SAP Developer Center で配布されているライセンスキーも使えない。
といった事を想定して、minisapからDeveloper Edition
のライセンスを取得してインストールする方法を本記事では試しています。
SAP ABAP Platform 1909, Developer Edition(docker)のライセンス更新について
ABAP Platform, Developer Edition SETUP INSTRUCTIONS
上記のLicenses
に記載がありますが、Developer Edition
のコンテナには格納されているライセンスファイルを読み取り更新するスクリプトが仕込まれており、このスクリプトはコンテナ起動時に実行されます。
システム | スクリプト | ライセンスファイル配置場所 |
---|---|---|
ASABAP | /usr/local/bin/asabap_license_update | /opt/sap/ASABAP_license |
HDB | /usr/local/bin/hdb_license_update | /opt/sap/HDB_license |
ライセンスファイルを配置して起動すると毎回、コンテナ起動時にライセンス更新処理が走るため、これを止めたい場合は、ドキュメント上には下記の記載があります。(未検証)
ASABAP
では -no-asabap-license-update
オプションを追加(docker run
に?) もしくは /opt/sap/.no_ASABAP_license_update
を作成する
HDBでは -no-asabap-license-update
オプションを追加(docker run
に?) もしくは /opt/sap/.no_HDB_license_update
を作成する
ASABAP(A4H)のライセンスキー更新
minisapでハードウェアキーを発行するにあたって、必要なハードウェアキーをまずは確認してみます。
# a4hadmでsaplicenseを実行
docker exec -it a4h su - a4hadm -c "/usr/sap/A4H/SYS/exe/run/saplicense -get"
本資料で構築している環境はハードウェアキーがK0132868343
である事がわかりました。
minisapにアクセスし
-
Available SAP Systems for Windows & Linux
はA4H - SAP NetWeaver AS ABAP 7.4 and above (Linux / SAP HANA)
を選択 -
Personal Data & System Info
に必要事項と先程取得したハードウェアキーを入力。 -
License Agreement
にチェック
上記入力を確認して、Generate
を選択
Generate
を選択すると、A4H_Multiple.txt
ファイルがダウンロードできます。
ダウンロードしたファイルをopenSUSE
を構築したEC2インスタンスに配置してください。(scp等々で)
本資料ではec2-userのホームディレクトリに配置しました。
# ホームディレクトリのA4H_Multiple.txtをコンテナの/opt/sap/ASABAP_licenseにコピー
docker cp ~/A4H_Multiple.txt a4h:/opt/sap/ASABAP_license
# asabap_license_updateを実行してライセンスを更新
docker exec -it a4h /usr/local/bin/asabap_license_update
2 SAP license key(s) successfully installed.
と表示されライセンス更新されている事を確認します。
HANADB(HDB)のライセンスキー更新
ASABAPと同様にハードウェアキーの確認をします。
# hdbadmでhdbsqlを実行
# hdbadmとSAPA4Hの情報についてはDocker hubのSETUP INSTRUCTIONSより
docker exec -it a4h su - hdbadm -c "hdbsql -n localhost -i 02 -u SAPA4H -p Ldtf5432 -x 'SELECT * FROM M_license'"
少し見づらいですがハードウェアキーがB1002322283
である事がわかりました。
minisapからハードウェアキーを取得します。
minisapにアクセスし
-
Available SAP Systems for Windows & Linux
はHDB - SAP HANA Platform Edition
を選択 -
Personal Data & System Info
に必要事項と先程取得したハードウェアキーを入力。 -
License Agreement
にチェック
上記入力を確認して、Generate
を選択
Generate
を選択すると、HDB.txt
ファイルがダウンロードできます。
ダウンロードしたファイルをopenSUSEを構築したEC2インスタンスに配置してください。(scp等々で)
本資料ではec2-userのホームディレクトリに配置しました。
# ホームディレクトリのHDB.txtをコンテナの/opt/sap/HDB_licenseにコピー
docker cp ~/HDB.txt a4h:/opt/sap/HDB_license
# hdb_license_updateを実行してライセンスを更新
docker exec -it a4h /usr/local/bin/hdb_license_update
docker exec -it a4h su - hdbadm -c "hdbsql -n localhost -i 02 -u SAPA4H -p Ldtf5432 -x 'SELECT * FROM M_license'"
を実行してライセンスを確認してみます。
minisapで生成したライセンスに切り替わっている事が確認できます。
余談
HANADB(HDB)のライセンス更新時にminisap上でHDB - SAP HANA Platform Edition (64GB)
を選択してライセンスキーを生成しました。
この選択については、Developer Edition
はdocker
以外にもSAP CAL
で提供されており、 SAP CAL
の資料(Getting Started Guide)では上記選択になっていたので参考にしました。
docker版のDeveloper Edition
と SAP CAL版のDeveloper Edition
がどこまで同一といったところですが……
総評
AWS上にopenSUSEのインスタンス用意して、docker
でDeveloper Edition
を構築した際にハマったポイントとしてはライセンス部分くらいでした。
ここらへんSAP側が対応してくれて、Trials and Downloads - SAP Developer Centerから取得できるライセンスキーで問題なければ、わざわざminisap
から取得しなくてもといった所ですが。
コミュニティブログの投稿やコメントをみる限り、ライセンス部分がうまく言ってないケースは結構多そう?