IBM Cloud Docs
SAP S/4HANA を 3-tier IBM Cloud® VPC にデプロイする (Terraform と Ansible )

SAP S/4HANA を 3-tier IBM Cloud® VPC にデプロイする (Terraform と Ansible )

Terraformスクリプトを使用して単層VPCを作成し、bastionサーバー上に分散アーキテクチャで SAP / SAP HANA。 bastion サーバーの作成は、 IBM SAP VPC 自動化ソリューションのすべての前提条件です。 自動化スクリプトは、提供されたVPC情報を使用し、 Ansible プレイブックを呼び出して、指定されたVPC上に SAP アーキテクチャを作成します。 Terraform on IBM Cloud® は、 IBM Cloud VPC インフラリソースの予測可能で一貫性のあるプロビジョニングを可能にし、複雑なクラウド環境を迅速に構築できるようにします。 IBM Cloud VPC インフラストラクチャは、インテル® Xeon CPU やその他のインテル® テクノロジーを使用した SAP 認定ハードウェアで構成されています。

3つの配備方法から選ぶことができる:

  • BastionサーバーのCLIから実行するTerraformスクリプト。
  • カタログタイルのユーザーインターフェースは、 IBM Cloud カタログからアクセスします。
  • IBM Cloud® Schematics クラウドダッシュボードのメニューからアクセスできるユーザーインターフェイス。

SAP 実装されたソリューション

SAP S/4HANA は、 SAP のERPソフトウェア製品ラインのERPシステムである。 このソフトウェアは、革新的な SAP HANA データベース技術に基づいており、2015年に第4世代の製品としてスタートした。 ユーザーは、SAP S/4HANA とオンプレミス・ソリューションのいずれかを選択できます。

ERP システムは、需要指向のビジネス・リソース計画に使用されます。 これは、プロセスを制御し、部門と機能領域を有意義な方法でリンクするために使用されます。 個々のモジュールには、会計、販売、生産、およびマーケティングのアプリケーションが含まれます。 ユーザーやサプライチェーン管理のより複雑なタスクは、ERPソフトウェアによって行われます。 コア製品である SAP ECC の後継として、SAP S/4HANA は新世代のインテリジェント ERP システムとして発表されました。 最新のテクノロジーを駆使したSoftware as Service ( SaaS )バージョンは、企業がプロセスを標準化し、デジタル化への飛躍を支援するように設計されている。

以前の SAP ERP ソリューションは最も一般的なデータベースをサポートしますが、SAP S/4HANA は、SAP によって開発された SAP Hana メモリー内データベースのみを使用します。 このメモリー内のデータベースは、ユーザーに最大の技術的利点を提供し、パフォーマンスの向上によるメリットを享受します。 S/4HANA の "S "は "simple "を表し、"4 "は世代交代を意味する。 ほとんどの企業で現在も使用されている SAP コア製品 SAP ECC と比較して、SAP S/4HANA は、システム・ランドスケープを根本から変革する多くの革新的な機能を提供します。 SAP が2027年までに既存のERPソリューションのメインストリームの保守を終了する予定であるため、 SAP ECCユーザーの多くはすでに SAP S/4HANA への移行を検討している。

図 1. SAP S/4HANA 建築
SAP S/4HANA 建築

作成されるもの

スクリプトは 2 つのフェーズで作業します。 最初のフェーズでは、 Bastion VSI の デプロイ時に作成された VPC 内の IBM Cloud リソースのプロビジョニングを自動化します。 第二段階では、 SAP アーキテクチャを分散環境で構築する。 SAP S/4HANA アプリケーションサーバーを個別のVSI VPCシステム上に、 SAP HANA DBを専用サーバータイプのVSIまたはベアメタルVPCボックスシステム上に構築する。 このアーキテクチャの詳細については、 SAP NetWeaver 7.x と SAP HANA IBM Cloud® VPC を参照のこと。

最初のフェーズでは、 SAP 認証されたストレージとネットワーク構成を持つ2台の仮想サーバー・インスタンスがVPCにプロビジョニングされる。

第2段階では、 Ansible プレイブックが呼び出され、 SAP アーキテクチャが専用VSI SAP App VSIシステムと専用 SAP HANA VSIまたはベアメタルボックスの両方にインストールされる。 SAP デプロイされるアーキテクチャは、 SAP S/4HANA リリースをスタンドアロン専用 SAP HANA 2.0 ボックスでリリースする分散デプロイモデルである。 このアーキテクチャーの詳細については、 「Terraform と Ansible を使用して IBM Cloud® VPC 上の SAP HANA スタンドアロン仮想サーバー インスタンスを自動化する」を 参照してください。

シングルホスト SAP HANA システム

シングルホストシステムは、 SAP HANA データベースインスタンスを完全に 1 つのホスト上で実行する、最も単純なシステムインストールタイプです。 この自動化により、HANA DBインスタンスを x86 VSIまたはIntel Virtual Bare Metalサーバータイプのいずれかにデプロイできます。 必要に応じてシステムをスケールアップできます。 単一ホスト・システムには、以下のコンポーネントがあります。

図 2. シングルホスト SAP HANA システム
シングルホスト SAP HANA システム

このスクリプトは、 SAP ( SAP S/4HANA リリース)ソリューションを既存のVPCにインストールし、専用のDB SAP HANA ボックスを1つのタスクフローでインストールするように設計されています。

SAP キット

必要な SAP、DBキットをデプロイメント・サーバー(bastionサーバー)にダウンロードするのはお客様の責任です。 すべてのファイルアーカイブは、自動化展開プロセス中に Ansible によって解凍されます。 詳しくは、README ファイルを参照してください。

Terraformデプロイメント

Bastion サーバー CLI を使用して 、 SAP S/4HANA for Terraform の GitHub リポジトリにある Terraform スクリプトを実行できます。

SAP S/4HANA リリースを専用の SAP HANA 2.0 BOX VSI にデプロイするためのスクリプトを実行するには、以下が必要です:

  • input.auto.tfvars ファイルでソリューションをカスタマイズします。
    • BastionサーバーのフローティングIPとサブネット情報を入力します。

    • デフォルトでは、VSIは次のように設定されている:

      • Red Hat Enterprise Linux® 8.6 for SAP HANA /Applications ( amd64 )、
      • SSHでrootユーザーとしてアクセスするためのSSHキー、
      • ストレージ・ボリューム

      ソリューションに合わせてデフォルト設定を変更できます。

    • ソリューションに合わせて、デフォルトの SAP システム構成設定を変更できます。

    • SAP キットをダウンロードした場所も指定します。

IBM Cloud の Terraform 用 IBM Cloud Provider プラグインは、これらの設定ファイルを使用して、 IBM Cloud アカウントの S/4HANA システムをプロビジョニングする。

Schematics 展開

IBM Cloud® の Schematics ユーザー・インターフェイスを使用し、 S/4HANA Schematics の GitHub リポジトリに入ります。

Schematics インターフェースを使用してスクリプトを実行すると、以下のようになります。

  • ワークスペース情報を入力します。
  • GitHub のパスを入力する。
  • Schematics インターフェースのパラメーターを変更します。

カタログタイル展開

デプロイメントにカタログタイルを使用する場合、以下のようになります:

  • カタログから SAP S/4HANA タイルを選択する。
  • ワークスペースの情報を入力します。 Catalog タイルは Schematics のワークスペースを作成します。
  • Bastionサーバーのパラメータ、個人クレデンシャル情報、およびソリューション固有のその他のパラメータを変更します。

サポート - Schematics と Terraform

また、 IBM からのサービスやテクニカルサポートはありません。 推奨される手法として、ライブ・システムで使用する前に、このサイトからダウンロードする資料を注意深く確認してください。

ここに提供された資料は、 IBM サービス組織によってサポートされているわけではありませんが、開発者はいつでも資料を修正、再適用、または削除する権利を留保しており、あなたのコメントを歓迎します。 問題を報告したり、提案やコメントを提供したりするには、GitHub の問題をオープンします。

サポート - カタログタイル

カタログタイルは IBM Cloud。 詳細については、 IBM Cloud または SAP からヘルプとサポートを受けるを 参照してください。

SAP のソフトウェアでクライアントの問題が特定された場合、 SAP サポートがクライアントを支援します。 SAP Incident Escalation Procedure(インシデントのエスカレーション手順)について説明した SAP Note 90835 の推奨事項に従ってください。 この SAP Note (およびその他) は、https://support.sap.com/en/index.html にあります。

開始前に

SAP を導入する前に S/4HANA:

  • アカウントが 有料アカウントに アップグレードされていることを確認してください。

  • まだ作成していない場合、SAP キットを保管する要塞サーバーを作成します。 詳しくは、SAP 要塞サーバー - SAP メディア・ストレージ・リポジトリーの自動化を参照してください。 デプロイには、BastionサーバーのフローティングIPが必要です。

  • SAP ポータルから SAP キットを bastion Server にダウンロードします。 ダウンロード場所をメモします。 Ansible はすべてのアーカイブキットを解凍し、パスを必要とする。 詳細については、 GitHub リポジトリ内の readme ファイルと、カタログタイルの About ページを参照してください。

  • IBM Cloud API キーを作成または取得します。 API キーは、 IBM Cloud プラットフォームで認証し、 IBM Cloud サービスに対する権限を決定するために使用されます。

  • SSH 鍵 ID の作成または取得。 SSH 鍵の名前ではなく、SSH 鍵の 40 桁の UUID が必要です。

  • (オプション - カタログタイル) 認証情報とパスワードの秘密を作成するには Secrets Manager.

Terraform スクリプトを使用して SAP S/4HANA をデプロイする

以下の手順を使用して、 SAP S/4HANA 3 層アーキテクチャを既存の VPC に展開します。 スクリプトの完成には2〜3時間かかる。 スクリプトが完了するまでに 1 時間から 2 時間かかる可能性があります。 S/4HANA、対応バージョンは2020年、2021年、2022年、2023年となっている。 詳細については、推奨キットのバージョンに関する readmeを参照してください。

  1. sshを使用してデプロイメント・サーバーにログインします。

  2. リポジトリをクローンし、 sap-s4hana フォルダへのパスを変更します。

    	git clone https://github.com/IBM-Cloud/sap-s4hana.git
    
    	cd sap-s4hana
    
  3. 入力パラメータ・ファイル input.auto.tfvars を編集し、解に合うように変数を修正する。 このファイルは、推奨される最小ディスク・サイズで事前設定されています。 既存のVPCを使用する場合は、変更する必要があります:

    • VPC - 既存のVPC名
    • REGION - VSIの地域
    • ZONE - VSIの可用性ゾーン
    • SECURITY_GROUP - 既存のセキュリティ・グループで、同じVPCにユーザーが作成したもの。
    • SUBNET - VSIと同じ地域およびゾーンにある既存のサブネット。
    • RESOURCE_GROUP - 既存のリソース・グループ。
    • SSH_KEYS - VSIにrootとしてSSHすることが許可されているSSHキーのUUIDのリスト。
    • ID_RSA_FILE_PATH - OpenSSH 形式の id_rsa 秘密鍵ファイルのパス。パーミッションは 0600。
    • APP_HOSTNAME/DB_HOSTNAME - 12文字までのホスト名を入力します。 詳しくは、README ファイルを参照してください。
    • DB_PROFILE/APP_PROFILE - HANA/APP VSIに使用されるインスタンス・プロファイル。 HANAデータベース・インスタンスは、 x86 VSIまたはベアメタル・サーバー・タイプにデプロイできる。
    • DB_IMAGE/APP_IMAGE - DB/APP VSI 用の OS イメージ。

    プロファイルのその他のオプションについては、インスタンス・プロファイルを参照してください。 イメージのその他のオプションについては、イメージを参照してください。 変数の説明については、README ファイルを参照してください。

    	REGION          = ""
    	ZONE            = ""
    	VPC             = ""
    	SECURITYGROUP   = ""
    	SUBNET          = ""
    	SSH_KEYS        = [""]
    ID_RSA_FILE_PATH   = "ansible/id_rsa"
    
    # SAP Database VSI variables:
    	DB_HOSTNAME     = ""
    	DB_PROFILE      = "mx2-16x128"
    	DB_IMAGE        = "ibm-redhat-8-6-amd64-sap-hana-5" # For any manual change in the terraform code, you have to make sure that you use a certified image based on the SAP NOTE: 2927211.
    
    	# SAP APPs VSI variables:
    	APP_HOSTNAME    = ""
    	APP_PROFILE     = "bx2-4x16"
    	APP_IMAGE       = "ibm-redhat-8-6-amd64-sap-applications-5" # For any manual change in the terraform code, you have to make sure that you use a certified image based on the SAP NOTE: 2927211.
    
  4. 自動デプロイのために Ansible playbooks に渡す値で SAP システム構成をカスタマイズする。

    # S/4HANA version
    S4HANA_VERSION = ""
    
    	# SAP HANA DB configuration
    	HANA_SID = "HDB"
    	HANA_SYSNO = "00"
    	HANA_SYSTEM_USAGE = "custom"
    	HANA_COMPONENTS = "server"
    HANA_SERVER_TYPE = ""
    HANA_TENANT = ""
    
    	# SAP HANA Installation kit path
    	KIT_SAPHANA_FILE = "/storage/HANADB/51057281.ZIP"
    
    	#SAP system configuration
    	SAP_SID= "S4A"
    	SAP_ASCS_INSTANCE_NUMBER = "01"
    	SAP_CI_INSTANCE_NUMBER = "00"
    
    	# Number of concurrent jobs used to load and/or extract archives to SAP HANA Host
    	HDB_CONCURRENT_JOBS = "23"
    
    	# SAP S4HANA APP Installation kit path
    	KIT_SAPCAR_FILE = "/storage/S4HANA/SAPCAR_1010-70006178.EXE"
    	KIT_SWPM_FILE = "/storage/S4HANA/SWPM20SP17_0-80003424.SAR"
    	KIT_SAPEXE_FILE = "/storage/S4HANA/KERNEL/793/SAPEXE_60-70007807.SAR"
    	KIT_SAPEXEDB_FILE = "/storage/S4HANA/KERNEL/793/SAPEXEDB_60-70007806.SAR"
    	KIT_IGSEXE_FILE = "/storage/S4HANA/KERNEL/793/igsexe_4-70005417.sar"
    	KIT_IGSHELPER_FILE = "/storage/S4HANA/igshelper_17-10010245.sar"
    	KIT_SAPHOTAGENT_FILE = "/storage/S4HANA/SAPHOSTAGENT61_61-80004822.SAR"
    	KIT_HDBCLIENT_FILE = "/storage/S4HANA/IMDB_CLIENT20_018_27-80002082.SAR"
    	KIT_S4HANA_EXPORT = "/storage/S4HANA/2023"
    
  5. Terraform CLI を初期設定します。

    	terraform init
    
  6. Terraform 実行プランを作成します。 Terraform 実行プランに、アカウント内に仮想プライベート・クラウド・インスタンスを作成するために実行されるすべてのアクションが要約されます。

    	terraform plan --out plan1
    

    SAP HANA メインパスワード、 SAP メインパスワード、 IBM Cloud APIキーの入力を求められます。

    SAP HANA メインパスワードは、少なくとも1桁の数字(0~9)、1文字の小文字(a~z)、1文字の大文字(A~Z)で構成されていなければならない。 使用できる文字は、a から z、A から Z、0 から 9、!、@、#、$、_ のみです。数字または下線 ( _ ) で始めることはできません。

    SAP メインパスワードは10~14文字で、少なくとも1桁の数字(0~9)を含む必要があります。 以下の文字のみを使用できます:a-z、A-Z、0-9、@、#、$、_。このパスワードには ! 、数字やアンダースコア( _ )で始まってはいけません。

    プランに作成したいリソースがすべて表示されていること、名前と値が正しいことを確認します。 計画を調整する必要がある場合、input.auto.tfvarsファイルを編集してリソースを修正し、Terraform 計画を再実行してください。

  7. S/4HANA 用に IBM Cloud リソースを作成し、 SAP システムをインストールする。

    	terraform apply "plan1"
    

    IBM Cloud リソースが作成され、テラフォーム計画出力と同様の出力を見ることができる。

Terraform の次のステップ

S/4HANA システムを削除する必要がある場合は、プロジェクトフォルダに移動して terraform destroy を実行してください。

カタログタイルインターフェイスで SAP S/4HANA を展開する

以下の手順を使用して、カタログタイルインタフェースを使用して既存の VPC で SAP S/4HANA を構成します。 対応可能な S/4HANA のバージョンは2020、2021、2022、2023。 詳細については、推奨キットのバージョンに関する readme ファイルを参照してください。 スクリプトが完了するまでに 1 時間から 2 時間かかる可能性があります。

  1. IBM Cloud カタログから SAP S/4HANA タイルを選択します。 タイルは SAP S/4HANA の作成タブを開きます。 この配置の詳細については、[バージョン情報]タブまたは Readme ファイルのリンクを参照してください。

  2. SAP S/4HANA ページで、ワークスペースを設定する:

    • ワークスペースの名前を入力するか、デフォルトを使用します。
    • リソースの作成に使用するリソースグループ。 デフォルトを使用するか、リソースグループを作成する。
    • Schematics ワークスペースを作成する場所を選択します。 ワークスペース・ロケーションは、リソース・ロケーションと一致している必要はありません。
  3. 必要な配置値を入力し、デフォルトの入力変数を確認して、ソリューションに合った値を入力します。 これらのパラメータは配置に固有です。 詳細については、 Readmeファイル - 入力パラメータを参照してください。

    必須変数
    パラメーター 説明
    バシオン_フローティング_IP この配置を開始する前に作成した Bastion Server のフローティング IP を入力します。 詳しくは、 Automate SAP bastion server - SAP media storageを ご覧ください。
    地域 リソースが配置されるクラウド領域
    resource_group VSIおよびボリューム用の既存のリソースグループ
    SECURITY_GROUP 既存のセキュリティグループ名
    SSH_KEYS VSIにアクセスするためのSSHキーIDリスト
    サブネット サブネット名
    VPC 既存のVPC名
    ゾーン リソースが配置されるクラウド・ゾーン
    ハナ_メイン_パスワード HANAのメイン・パスワード、または、以下のファイルに保存されているシークレットを使用する。 Secrets Manager
    ibmcloud_api_key IBM Cloud APIキーを使うか、あるいは Secrets Manager
    private_ssh_key id_rsa秘密鍵の内容を入力するか、あるいは Secrets Manager
    sap_main_password SAP メイン・パスワードを使用するか、以下のファイルに保存されている秘密を使用する。 Secrets Manager
  4. オプションのパラメータを見直し、更新する。 Ansible スクリプトは、 SAP キットがリストされたデフォルトの場所にあることを想定しています。 詳細については、 Readmeファイル - 入力パラメータを参照してください。

    オプション変数
    パラメーター 説明
    APP_HOSTNAME APP VSIホスト名
    APP_IMAGE APP VSI OSイメージ
    APP_PROFILE APP VSIプロファイル
    DB_HOSTNAME DB VSIホスト名
    DB_IMAGE DB VSI OSイメージ
    DB_PROFILE DB VSIプロファイル
    ハナ・コンポーネント ハナ・コンポーネント
    HANA_SID ハナ_シド
    HANA_SYSNO ハナ_シスノ
    ハナ_システム利用 ハナ_システム利用
    HANA_TENANT SAP HANA テナントの名前
    hana_server_type SAP HANA サーバーの種類。 許容される値:"仮想 "または "ベアメタル"。
    hdb_concurrent_jobs hdb_concurent_jobs
    kit_hdbclient_file kit_hdbclient_file
    kit_igsexe_ファイル kit_igsexe_ファイル
    kit_igshelper_file kit_igshelper_file
    KIT_S4HANA_EXPORT kit_s4hana_export
    キット_サップカー_ファイル キット_サップカー_ファイル
    kit_sapexe_ファイル kit_sapexe_ファイル
    kit_sapexedb_file kit_sapexedb_file
    kit_saphana_file kit_saphana_file
    kit_saphotagent_file kit_saphotagent_file
    KIT_SWPM_FILE kit_swpm_file
    sap_ascs_instance_number sap_ascs_instance_number
    sap_ci_instance_number sap_ci_instance_number
    SAP_SID sap_sid
    S4HANA_VERSION のバージョン S/4HANA
  5. ご使用条件に同意します。

  6. インストールを選択する。 ディプロイが開始され、ディプロイの進行状況を監視するためのスクリプト ログ ファイルを表示する Schematics ページが表示されます。

Schematics インターフェースで SAP S/4HANA を展開する

Schematics インタフェースを使用して、既存の VPC 上で SAP S/4HANA を設定するには、以下の手 順を実行します。 スクリプトが完了するまでに 1 時間から 2 時間かかる可能性があります。 S/4HANA、対応バージョンは2020年、2021年、2022年、2023年となっている。 詳細については、推奨キットのバージョンに関する readmeを参照してください。

  1. IBM Cloud メニューから、Schematics を選択します。

  2. **「ワークスペースの作成 (Create Workspace)」**をクリックします。

  3. テンプレートの指定 ページでは、

    • Schematics インターフェースの URL を入力します。
    • Terraform のバージョンを選択します。
    • 次へ をクリックします。
  4. ワークスペースの詳細 ページでは、

    • ワークスペースの名前を入力します。
    • 「リソース・グループ」 を選択します。
    • ワークスペースの**「ロケーション」**を選択します。 ワークスペース・ロケーションは、リソース・ロケーションと一致している必要はありません。
    • **「次へ」**を選択します。
  5. 作成を選択して、ワークスペースを作成します。

  6. ワークスペースの設定ページの入力変数セクションで、デフォルトの入力変数を確認し、ソリューションに一致する値を指定します。

    • API キー
    • ローカルシステムからのSSH秘密鍵
    • 作成し、 IBM Cloud にアップロードしたSSH鍵のID。 SSH キー ID を角括弧と引用符で囲んで入力します (例: [" ibmcloud_ssh_key_UUID1 "、" ibmcloud_ssh_key_UUID2 "、...] )。
    • 要塞サーバーのフローティング IP アドレス。
    • リソース・グループ
    • リソースの地域
    • リソースのゾーン
    • VPC 名
    • サブネット名
    • セキュリティー・グループ名
    • ホスト名
    • プロフィール
    • 画像
    • SAP HANA メインパスワード - このパスワードは、大文字と小文字、数字、特殊文字で、8~14文字でなければなりません。
    • SAP メインパスワード - このパスワードは、大文字と小文字、数字、感嘆符以外の特殊文字で、10~14文字でなければなりません。
    • **「変更を保存」**をクリックします。

    各パラメーターの詳細については、GitHub リポジトリーの readme ファイルの「入力パラメーター・ファイル (Input parameter file)」の章を確認してください。 また、パスワード、API、ssh秘密鍵のような機密情報を含むパラメータは、必ず「sensitive」とマークすること。 これらのパラメータは、Readmeファイルの「Input parameter file」の項目で「sensitive」とマークされている。

  7. ワークスペースの設定ページで、計画の生成をクリックします。 プランが完了するまで待ちます。

  8. **「ログの表示 (View log)」**をクリックして Terraform 実行プランのログ・ファイルを確認します。

  9. **「プランの適用 (Apply plan)」**をクリックして Terraform テンプレートを適用します。

  10. ログ・ファイルを参照して、プロビジョン、変更、または削除のプロセス中にエラーが発生していないことを確認します。