SAP CALを使いGCP上にERP検証環境を簡単に構築する

この記事を書いたメンバー:

大友 佑介

SAP CALを使いGCP上にERP検証環境を簡単に構築する

目次

大友(@yomon8)です。
今日はタイトルにある通り、SAPのCAL(カル)(Cloud Appliance Libraryの略 )を利用してSAP ERP環境をGCP(Google Cloud Platform)上に構築してみます。

課題

データ分析基盤・データレイクといった企業のデータをどう活用するかというプロジェクトをリードしていることが多くなってきています。
こういったプロジェクトでは、企業内の様々なデータと対峙することになります。その中には、工場機器やセンサー、製品から出力される、時系列データ、画像データ、ログデータ、テキストデータのように本当に様々なデータが含まれます。ただ、そんな中でも企業のデータ分析で外せないものにERPに入っている基幹業務のデータがあります。
弊社はSAP製品を得意としていることもあり、SAP ERPを使われているお客様が多いのですが、パブリッククラウドで提供される新しいサービスとERPを繋ぐなどの話になると、SAP ERPとの繋ぎの検証をするのですが、そういった場合にSAP ERP環境を用意するところで時間をかけるわけにはいきません。
SAP ERPの検証環境を簡単、短時間で構築できるのがSAPのCALです。

SAP CAL

SAP CALはCloud Appliance Libraryの略です。
一言で表せば、「Webメニューから必要なSAP環境を選択し、簡易なパラメータを入力するだけで、パブリッククラウド上に完全自動で環境構築してくれるサービス」 です。
https://cal.sap.com/

はこの記事を書くずっと前に、AWS版とAzure版は以下にホワイトペーパーとして公開しています。CALのポイント等が纏まってますので是非ご覧ください。
AWS版 ホワイトペーパー
Azure版 ホワイトペーパー
この記事では上記のホワイトペーパーとの差分として、GCP上にCALでSAP ERP構築する場合の手順を書いていこうと思います。

GCP側の準備

SAP CALでSAP ERPを構築する前に、GCP側で最低限準備しないといけないことがありますので、そこから書きます。

1. サービスのAPI有効化

2. サービスアカウントの作成

3. サービスアカウントの秘密鍵取得

サービスのAPI有効化

まずはサービスのAPI有効化からです。
GCPはAPIを有効化することでサービスが利用可能となります。(例えば、VMを作成するにはGCEのサービスのAPIを有効化する必要がありますし、BigQueryを使うならBigQueryのサービスのAPIを有効化します。)
CALでSAP ERPを立ち上げるには以下の2つのサービスのAPIを有効化します。

Cloud Resource Manager API

Compute Engine API

作業はコマンドで実行するのが早いです。
コマンドと言ってもGCPの場合はPCに何かをインストールする必要はありません。GCPにはCLOUD SHELLという機能があり、ブラウザ上でコマンド実行が可能です。
以下がGCPのコンソールにログオンしたところなのですが、右上のボタンを押します。

このボタンです。これでCLOUD SHELLが立ち上がります。

ブラウザの下部分にCLOUD SHELLのターミナルが表示されます。ここからGCPの操作用のコマンドを打つことが可能です。

ここで以下の2コマンドを実行します。これでAPIの有効化は終わりです。

 $ gcloud services enable compute.googleapis.com
$ gcloud services enable cloudresourcemanager.googleapis.com

※今回はSAP ERPなので上記の2サービスですが、KubernetesベースのSAP製品をCALで構築する場合は別のサービスも有効化が必要です。この辺りはこちらのFAQに纏められているので参照してみてください。

サービスアカウント作成

次にサービスアカウントを作成します。
GCPのサービスアカウントとは、SAPにおけるシステムユーザのようなものです。コンソールにログインするために使うものではなく、システムが処理の中でログインに使うアカウントとなります。
ここで作成したGCPのサービスアカウントを利用して、SAP CALからSAP ERPが作成されます。
では、早速作っていきます。まず、GCPのコンソールより、「IAMと管理」>「IAM」を選択します。

サービスアカウントの作成を選択します。

サービスアカウント作成のウィザードが始まります。
今回はsapcalというサービスアカウントを作ってみます。以下のように入力して「作成」を選択します。

次に権限を設定する画面になります。以下のように入力しますが、少し補足します。

GCPは権限名が日本語で訳されるのですが、WEB上の手順などで表記が英語の場合もあるので、権限名は要注意です。以下の権限が必要なので確認しながら設定します。

Computeインスタンス管理(v1) :Compute Instance Admin (v1)

Computeセキュリティ管理者 : Compute Security Admin

Computeネットワーク管理者 : Compute Network Admin

次に以下の画面に遷移しますが、何も入力せずに、そのまま完了とします。

これでサービスアカウントが作成されました。

サービスアカウントの秘密鍵取得

サービスアカウントの一覧からsapcalと検索すると、先程作成したアカウントが表示されるはずです。ここで、エントリの右側の三点リーダーを展開し、「鍵を作成」を選択します。

形式を問われるのでJSONを選び「作成」を選択します。ここでサービスアカウントの秘密鍵であるJSONファイルがダウンロードできるので、保存しておきます。

このファイルはSAP CAL側の操作で利用します。これでGCP側の準備完了です。

[SAP CAL] GCP接続アカウント作成

先程作成したGCPのサービスユーザをSAP CAL側に登録します。こちらのURLよりSAP CALにログインします。
ログインして左側のメニューより「Accounts」を選択し、「Create Account」ボタンを選択します。
※ちなみに画面にも以前に使われたAWSへのアカウントがInactiveで残っていますが、Azure、AWSへの接続もここで作成できます。

Accountのパラメータの設定画面になるので、
「Name」に アカウントの名前を入力し、Cloud Providerに「Google Cloud Platform」を選択します。
「Browse」ボタンから先程取得したGCPサービスアカウントの秘密鍵JSONファイルを選択します。Private Key IDはJSONファイルの内容から自動で入力されるので設定不要です。
これで入力完了なので、「Step2」を選択します。

自身のSユーザが表示されるので、「Review」を選択します。

設定内容のサマリが表示されますので、確認して「Create」を選択します。

以下のように、作成したアカウントが「Active」ステータスで表示されるのが確認できればOKです。このアカウントを利用してSAP ERPをGCP上に構築します。

[SAP CAL] ERP IDES起動

これでSAP ERPを構築する準備が整いました。今回はABAPへの接続を試したいだけなので、DBにSAP ASEを使ったIDES環境を構築します。
※IDES環境とはSAPが提供してくれている架空の会社 、IDES社の業務シナリオやデータが入った環境です
ERPを検索をして出てきた以下のエントリから、「Create Instance」を選択します。

IDESの説明が出てきます。ガイドへのリンクがありますが、ここにIDESに入っているシナリオや、ログオンユーザ、パスワードの情報がありますので開いておくと便利です。「Calculate Cost」からはコスト計算などが可能です。
今回は、インスタンス作成に進みますので「Create Instance」を選択します。

Accountを選択できるので、先程作成したアカウントを選択します。

以下のようにパラメータの設定画面になります。吹き出しにあるとおりAdvanced Modeもあるのですが、今回は基本パラメータで進めてみます。

Name:GCPのラベルに使われるようです

Region:GCPのリージョンを選択します

Zone:GCPのZoneを選択します

Password:マスターパスワードとなります(OSユーザ sidadmやDDIC等のパスワードなどに利用されます)

「Create」を選択します。

なお、Advanced Modeを利用すると以下のような項目も設定できます。既存のネットワーク上に構築なども可能です。

Network

VM Size

Disk Layout

Firewall Rule

以下のようなSSH鍵(PEMファイル)のダウンロード画面が表示されるので、パスワードを設定してダウンロードします。(この鍵ファイルは今回の手順では使いません)

「Instances」のメニューで起動状況が確認できます。「Prepared」から「Active」になるのを待ちます。数十分かかる場合もあるので気長に待ちます。

SAPにログオン

Advanced Modeを指定しないで構築した場合、デフォルトではインターネットに公開されています。

変更も可能なので、必要に応じて変更します。

OSにログオン

GCPコンソールから「Compute Engine」の「VMインスタンス」を選択します。

以下のようなcalから始まるGCEインスタンスが起動しているはずです。こちらがERPのインスタンスになります。SSHボタンがあるので、これをクリックします。


ブラウザのポップアップでSSHクライアントが立ち上がります。

少し待つとターミナルが開きSSHでログオンできます。
構築されるインスタンスのSIDは「ABA」なのでabaadmにスイッチしてみます。(パスワードはCALで設定したものです)

dpmonを打ってみたところです。SAPインスタンス起動してそうです。

SAP GUIよりログオン

では、ついにSAP GUIからログオンしてみます。
先程のGCEインスタンスの画面にPublic IPが表示されいます。これを利用します。

SAP GUIの新規エントリを作成します。
システムIDに「ABA」、インスタンス番号に「00」を指定して、GCEのPublic IPを設定します。

上記作成したエントリをクリックすると、ログオン画面が開きました。IDADMINのパスワードはガイドに記載があります。

ログオン確認できました。メニューからもERPが入っていることがわかります。

環境の削除

最後にSAP CALのインスタンスを削除します。
該当のインスタンスに「Terminate」ボタンがついているので、これを選択するだけです。(ちなみに、画面見ていただいてわかるとおり、色々な操作ができます。スケジュールで停止したりできるのは便利です。)

削除後も暫くはTerminatedのステータスで残りますが、数時間でエントリが消えます。


さいごに

簡単でしたがSAP CALを使うことで、ERPをGCP上に簡単に構築できました。慣れれば1時間かからないで構築できると思います。
私もSAP BASISやってたので、インストールくらいはできるのですが、それでもメディア準備したり、インストール作業、待ち時間などを考えると、圧倒的に楽に構築できます。
ここでは最低限の手順を公開するにとどめておりますが、SAP CALのポイントなどは以下のホワイトペーパーにも記載しておりますので、是非ご覧ください。
AWS版 ホワイトペーパー
Azure版 ホワイトペーパー

カテゴリー
タグ

SAPシステムや基幹システムのクラウド移行・構築・保守、
DXに関して
お気軽にご相談ください

03-6260-6240 (受付時間 平日9:30〜18:00)