SAP CALを使ってSAP on GCP環境を一瞬で構築してみた

Shohei Okada
google-cloud-jp
Published in
10 min readJul 6, 2020

TL;DR

SAP Cloud Appliance Library(CAL) を使って、GCP上にSAP S/4 HANAの環境を構築します。その後、SAP on GCPならではの機能をいくつか紹介していきます。

CALとは

SAP Cloud Appliance Library(CAL)は、SAP S/4HANA, SAP HANA Express EditionなどといったSAP社の製品をクイックに試したいときに役立つSAP社提供のオンライン ライブラリです。GCPへのデプロイも簡単にできるようになっています。利用にはSAPのユーザ(S-USER)が必要です。

なおデプロイしたソリューションは、BYOLのモデルに従いコストが発生します。最初の30日間はフリートライアルが使えるので、30日以内で終わるクイックな検証や、クラウドの使い勝手を確認したいときには、ライセンスコストはなしで検証可能です。なお、ソリューションとは別で、クラウド側の利用コストは発生します。こちらは、GCP側にも$300のフリートライアルがあるのでご活用ください。

デプロイ作業

CALからGCPのサービスアカウントを使ってGoogle Compute Engine (GCE)上にSAP HANAを構築します。
ざっくりの流れは、以下の図の通りとなります。

1. Google Cloud側の下準備

上記の図の通り、GCP側に以下の準備が必要となります。

① SAP HANAをデプロイするプロジェクトの作成

プロジェクトの作成を行います。GCPでは、プロジェクトの配下にリソースが配置されます。プロジェクト名は作成後変更ができないので、長く使う場合はご注意ください。

② プロジェクトでの各種API有効化

APIを有効にします。APIを有効化することで、GCPの特定のプロダクトや機能が使えるようになります。今回のCALを使ったSAP HANAの作成には、以下の二つのAPIが必要となります。
Cloud Resource Manager APIは、リソースを作成したり編集したりするのに必要となります。
Compute Engine APIは、GCPのVM提供サービスであるGoogle Compute Engineを利用する上で必要なAPIです。

Cloud Resource Manager API
Compute Engine API

③ 作成するVMに紐づけるサービスアカウントの作成

サービスアカウントは、一般のユーザアカウントとは異なり、アプリケーションやVMで使う特別なアカウントです。

アカウントを作成する手順はこちらにあります。今回はコンソールから、以下の権限をもつサービスアカウントを作ります。

-英語名
Compute Instance Admin (v1)
Compute Network Admin
Compute Security Admin
-日本語名
Compute インスタンス管理者 (v1)
Compute ネットワーク管理者
Compute セキュリティ管理者

サービスアカウントを作成したら、サービスアカウントを利用するのに必要な鍵を作成し、ローカルにダウンロードします。今回はこの鍵をCAL側にアップロードし、CALからGCPのサービスアカウントを利用できるようにします。これにより、上記の権限(Compute インスタン管理者など)をもつアカウントをCAL側から呼び出すことができるようになります。今回はCAL側で指定があるので、JSONを選択します。

2. CAL側の作業

CALにS-USERでログインし、Solutionページを開きます。
この中から、デプロイする対象を選択します。デプロイするソリューションによっては、サービスアカウントに必要な権限が異なるのでご注意ください。(大半は今回のもので対応可能です)
今回は SAP HANA, Platform Edition 2.0 SPS04を選択します。

“Create Instance”をクリックすると、以下のようにCloud側の情報を入力する画面に遷移します。
なお、1で行ったGCP側の準備に関する公式な案内は、 “Google Cloud Platform”の横のinfoマーク押すと出てきます。

1でローカルに用意したjsonファイルをUploadすると、SAP HANAをDeployする先となるインスタンスに関する情報を問われます。RegionとZoneと、デプロイ対象のマスターパスワードを入力します。

エラーに落ちる場合、権限不足や、APIが有効化されていない、リソースの上限値に達している(クオータ)などの理由が考えられます。エラーメッセージにしたがって修正しましょう。

3. デプロイ(自動)

Activatingになったら、30分程待機です。Activeになるまで待ちましょう。

Activeになりました。GCE側にも2つのインスタンスが作成されています。
それぞれ以下のような内容でデプロイがされています。

・Linux:
-インスタンスタイプ: n2-highmem-8 (8 cores, 64GB memory, SSD)
-OS: SUSE Linux Enterprise Server 12 (x86_64)
-アプリケーション: SAP HANA, platform edition 2.0 SPS04

・SAP Frontend
-インスタンスタイプ: n2-standard-4 (4 cores, 16GB memory, SSD)
-OS: Microsoft Windows Server
-アプリケーション: SAP PowerDesigner 16.6 SP09 PL00, XSA client version xs v1.0.123, SAP Web IDE, Anaconda Distribution(Jupyter notebooks含む)

インスタンス名をクリックするとインスタンスの詳細がみれます。

ネットワークタグが二つついていますが、これはCAL側で定義されている以下のようなデータを元に、Resource Managerが自動的に設定したものです。

GCP側で確認・変更を行うことももちろん可能です。

接続するときは、CAL側からFrontendへのRDPクライアントを立ち上げることも可能ですし、GCP側からssh/RDPのクライアントを立ち上げることも可能です。
今回はGCPコンソールからRDPをクリックして接続してみました。
デフォルトではID: Administrator, PW: 入力したパスワード をご利用ください。

接続後は、SAPの中身になるので本記事では細かく触れませんが、RDP接続後はすぐに、以下のような見慣れたSAPツールを使うことができます。

その他のSAP HANAデプロイ方法

今回はCALを用いてクイックにデプロイをしましたが、多様なデプロイ方法を用意しています。

Deployment Managerを使うと、SAP HANAの構成でIaC(Infrastructure as a Code)の環境を実現しつつ、簡単にデプロイを行うことができます。
こちらはGoogle 公式のデプロイツールです。これを利用することで、HANAがインストールされた状態でVMをデプロイすることができますし、クラスタ構成を組んだ状態でデプロイすること可能です。

他にもTerraformを使ったデプロイもできます。ただしこちらはGoogle公式のツールではないのでご注意ください。

Google Cloudならではの機能や特徴を紹介

最後に、SAP on GCPの観点で、GCP特有の機能や仕組みの一部を紹介します。
全ては紹介できないので、興味をもたれた方は是非公式ページなども参照ください。

・ライブマイグレーション

GCEはライブマイグレーションという機能を使って、信頼性の担保や無停止のメンテナンスを実現しています。基本的に動いているワークロードに影響を及ぼさないものですが、コマンドでライブマイグレーションを起こしてみてシミュレーションをして確認してみることも可能です。
所用時間はVMサイズや使用状況にもよると思いますが、今回作成した64GBのHANAに対しては2–3分で終了しました。

shohey_okada@cloudshell:~$ gcloud compute instances simulate-maintenance-event $VM_NAME
Simulating maintenance on instance(s) [https://compute.googleapis.com/compute/v1/projects/$PROJECT_NAME/zones/asia-northeast1-b/instances/$VM_NAME
-linux]...done.
shohey_okada@cloudshell:~ $

・SAP HANA モニタリング エージェントの導入

SAP HANAモニタリングエージェントを使うと、GCPのログ監視のプロダクトである、Cloud Monitoringに対してSAP HANAの中身の監視を行うことができます。

手順はこちら参照いただければと思いますが、これを導入することで、デフォルトの指標 (例: サービスのメモリ使用量や、列テーブルのランタイムデータなど)だけでなく、カスタムクエリを設定し監視することも可能です。

・SAP HANAとBigQueryの連携
SAP HANAに溜まっているデータを、Google CloudのBigQueryにデータ連携し、データ分析に活用することができます。詳しくはこちらを参照ください。

・継続利用割引
継続利用割引は、コミットをしなくても自動的にインスタンスの使用料金が割引される制度です。検証中や、移行中、サイジングが確定していない時期などにも安くインスタンスを使えるようになっています、コミット割引である確約利用割引も存在するので、用途に合わせてご利用ください。

まとめ

今回は、SAP HANAの環境をSAP CALを使ってクイックにデプロイしてみました。その後、GCPならではの機能と、他のデプロイ方法について解説をしました。

--

--

Shohei Okada
google-cloud-jp

Infrastructure Modernization Specialist, Customer Engineer, Google Cloud Japan. All views and opinions are my own.