SAP NetWeaver 7.x と Db2 を 3-tier IBM Cloud® VPC にデプロイする (Terraform と Ansible )
Terraform スクリプトを使用して単層 VPC を作成し、 SAP NW と Db2 分散 3 層インフラを VPC 上に作成することができます。 Terraform スクリプトは、提供された VPC 情報を使用してから、Ansible プレイブックを呼び出して、指定された VPC 上に SAP アーキテクチャーを作成します。
Terraform on IBM Cloud® は、 IBM Cloud® Virtual Private Cloud (VPC) インフラリソースの予測可能で一貫性のあるプロビジョニングを可能にするので、複雑なクラウド環境を迅速に構築できる。 IBM Cloud VPC インフラは、インテル® Xeon CPU とその他のインテル® テクノロジーを使用する SAP 認定ハードウェアで構成される。
デプロイ方法は2種類から選べる:
- BastionサーバーのCLIから実行するTerraformスクリプト
- Schematics クラウドダッシュボードのメニューからアクセスできるユーザーインターフェース
作成されるもの
スクリプトは、既存の VPC について提供された情報を使用し、 Db2 3-tier で NW7.X をデプロイします。 このアーキテクチャの詳細については、 SAP NetWeaver 7.x on UNIX with Db2 on IBM Cloud® VPCを 参照のこと。 input.auto.tfvars
ファイルで使用する VPC の情報を指定します。
スクリプトは、Ansible Playbook を呼び出し、SAP アーキテクチャーをインストールします。
スクリプト・ファイル
構成ファイルとスクリプト・ファイルは、GitHub で提供されています。 SAP ソリューションのインストールでサポートされる各インターフェイスは、 GitHub リポジトリに独自のフォルダを持っています:
- IBM Cloud 上の Schematics ユーザー・インターフェイスの使用 - GitHub IBM Schematics 用のリポジトリ。
Schematics 展開
Schematics、スクリプトを実行する:
- ワークスペース情報を入力します。
- GitHub のパスを入力する。
- Schematics、パラメータを変更する。 これらは、cli で使用する
input.auto.tfvars
ファイルと同じパラメーターです。
Terraformデプロイメント
Terraform on the bastion server CLIを使って、 SAP NetWeaver ABAP Db2 3-tier GitHub repository for Terraformにあるスクリプトをダウンロードして実行することができる。
Terraform スクリプトを実行するには、以下を変更します。
input.auto.tfvars
あなたのソリューションの情報を指定するファイル:- BastionサーバーのフローティングIPとサブネット情報を入力する。
- 既存のVPC情報を入力します:
- VPC 名
- セキュリティー・グループ
- サブネット
- ホスト名
- プロフィール
- 画像
- 最大 2 つの SSH 鍵
- ソリューションに合わせて、デフォルトの SAP システム構成設定を変更できます。
- SAP キットをダウンロードした場所も指定します。
IBM Cloud 上の IBM Cloud Provider Plug-in for Terraform は、これらの設定ファイルを使用して、 IBM Cloud アカウントの指定された VPC 上で、 Db2 3-tier とともに NW 7.x をインストールする。
サポート - Terraformと Schematics
いかなる種類の保証がなく、これらの資料に対して IBM® から提供されるサービスまたは技術サポートも提供されません。推奨される手法として、ライブ・システムで使用する前に、このサイトからダウンロードする資料を注意深く確認してください。
ここで提供される資料は IBM サービス組織によってサポートされていませんが、開発者はいつでも資料を修正、再適応、または削除する権利を留保しながら、お客様のコメントが歓迎されます。 問題を報告したり、提案やコメントを提供したりするには、GitHub の問題をオープンします。
開始前に
bastion CLIまたは Schematics のスクリプトを使用する前に:
- VPC にアクセスするためのアカウントをセットアップします。 アカウントが有料アカウントにアップグレードされていることを確認します。
- まだ作成していない場合、SAP キットを保管する要塞サーバーを作成します。 詳しくは、SAP 要塞サーバー - SAP メディア・ストレージ・リポジトリーの自動化を参照してください。 デプロイには、BastionサーバーのフローティングIPが必要です。
- SAP ポータルからデプロイメント・サーバーに SAP キットをダウンロードします。 ダウンロード場所をメモします。 Ansible はファイルを解凍します。 詳細については、 Schematics と Terraform のそれぞれの GitHub リポジトリにある readme ファイルと、Catalog Tile の About ページを参照してください。
- IBM Cloud API キーを作成または取得します。 API キーは、 IBM Cloud プラットフォームで認証し、 IBM Cloud サービスに対する権限を決定するために使用されます。
- SSH 鍵 ID の作成または取得。 SSH 鍵の名前ではなく、SSH 鍵の 40 桁の UUID が必要です。
- (オプション - カタログタイル) 認証情報とパスワードの秘密を作成するには Secrets Manager.
SAP NetWeaver 7.x と Db2 を、 Schematics のユーザーインターフェイスを使って 3-tier 上にデプロイする
Schematics ユーザーインターフェイスを使用して、既存の VPC 上で Db2 3-tier を使用して SAP NetWeaver 7.x を構成するには、以下の手順を使用します。 スクリプトが完了するまでに 1 時間から 2 時間かかる可能性があります。
-
IBM Cloud メニューから Schematics.
-
**「ワークスペースの作成 (Create Workspace)」**をクリックします。
-
テンプレートの指定 ページでは、
- デプロイするコードの GitHub URL を入力してください。
- README ファイルにリストされている Terraform のバージョン を選択します。
- 次へ をクリックします。
-
ワークスペースの詳細 ページでは、
- ワークスペースの名前を入力します。
- 「リソース・グループ」 を選択します。
- ワークスペースの**「ロケーション」**を選択します。 ワークスペース・ロケーションは、リソース・ロケーションと一致している必要はありません。
- 次へ をクリックします。
-
作成を選択して、ワークスペースを作成します。
-
ワークスペースの設定(Settings) ページの_入力変数(Input variables)_ セクションで、デフォルトの入力変数を確認し て、ソリューションに合う値を入力します:
- API キー
- ローカル・マシンからの SSH 秘密鍵
- (オプション) Schematics と Bastion Server で自動生成される SSH 鍵の ID_RSA_FILE_PATH を変更できます
- 作成し、 IBM Cloud にアップロードしたSSH鍵のID。 SSH キー ID を角括弧と引用符で囲んで入力します (例: [" ibmcloud_ssh_key_UUID1 "、" ibmcloud_ssh_key_UUID2 "、...] )。
- リソースの地域
- リソースのゾーン
- 既存の VPC を使用するか作成するか
- 既存のサブネットを使用するかどうか
- 新規サブネットの作成時にのみ新規ポートを作成するかどうか
- TCPポート範囲、最小値と最大値
- VPC 名
- サブネット名
- セキュリティー・グループ名
- ホスト名
- プロフィール
- 画像
- 推奨される最小ディスク・サイズ
- SAP メインパスワード - 10文字以上で、大文字と小文字、数字、感嘆符以外の特殊文字が必要です。
- **「変更を保存」**をクリックします。
各パラメーターの詳細については、GitHub リポジトリーの readme ファイルの「入力パラメーター・ファイル (Input parameter file)」の章を確認してください。 また、パスワード、API、SSH秘密鍵のような機密情報を含むパラメータは、必ず「機密」とマークすること(これらはREADMEファイルの「Input parameter file」で「機密」とマークされている)。
-
ワークスペースの設定] ページで、[ プランの生成] をクリックします。 計画が複雑になるのを待つ。
-
**「ログの表示 (View log)」**をクリックして Terraform 実行プランのログ・ファイルを確認します。
-
**「プランの適用 (Apply plan)」**をクリックして Terraform テンプレートを適用します。
-
ログ・ファイルを参照して、プロビジョン、変更、または削除のプロセス中にエラーが発生していないことを確認します。
Terraform と bastion server CLI を使って SAP NetWeaver 7.x と Db2 3-tier をデプロイする
以下の手順で IBM Cloud Provider プラグインを設定し、Terraform を使用して SAP NW 7.x with Db2 3-tier を既存の VPC にインストールします。 スクリプトが完了するまでに 1 時間から 2 時間かかる可能性があります。
-
要塞サーバー cli にアクセスします。
-
ソリューションリポジトリを
https://github.com/IBM-Cloud/sap-netweaver-abap-db2-distributed
とcd
からsap-netweaver-abap-db2-distributed
フォルダにクローンします。git clone https://github.com/IBM-Cloud/sap-netweaver-abap-db2-distributed.git cd sap-netweaver-abap-db2-distributed
-
VPC を指定します。
input.auto.tfvars
ファイルを変更して、既存の VPC、ご利用のゾーン、VPC とコンポーネントの名前、プロファイル、およびイメージの情報を指定します。 このファイルには、40 桁の SSH 鍵 ID が必要です。 2 番目の SSH 鍵はオプションです。 プロファイルのその他のオプションは、インスタンス・プロファイルを参照してください。 画像のオプションについては、 画像を 参照してください。 変数の説明については、README
ファイルを参照。# Infra VPC variables REGION = "eu-de" ZONE = "eu-de-2" VPC = "sap" # EXISTING VPC name SECURITY_GROUP = "sap-securitygroup" # EXISTING security group name SUBNET = "sap-subnet" # EXISTING subnet name RESOURCE_GROUP = "wes-automation" # EXISTING resource group SSH_KEYS = [ "r010-57bfc315-f9e5-46bf-bf61-d87a24a9ce7a" , "r010-3fcd9fe7-d4a7-41ce-8bb3-d96e936b2c7e" ] # SAP Database VSI variables: DB-HOSTNAME = "sapnwdb2" DB-PROFILE = "bx2-4x16" DB-IMAGE = "ibm-redhat-8-4-amd64-sap-applications-4" # 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 = "sapnwapp" APP-PROFILE = "bx2-4x16" APP-IMAGE = "ibm-redhat-8-4-amd64-sap-applications-4" # 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 システム構成をカスタマイズします。 同じファイル
input.auto.tfvars
で、Ansible 自動化デプロイメントに渡される SAP システム構成変数を編集します。変数の説明については、
README
ファイルを参照。# SAP system configuration sap_sid = "NWA" sap_ascs_instance_number = "01" sap_ci_instance_number = "00" # Kits paths kit_sapcar_file = "/storage/NW75DB2/SAPCAR_1010-70006178.EXE" kit_swpm_file = "/storage/NW75DB2/SWPM10SP37_2-20009701.SAR" kit_saphotagent_file = "/storage/NW75DB2/SAPHOSTAGENT51_51-20009394.SAR" kit_sapexe_file = "/storage/NW75DB2/SAPEXE_800-80002573.SAR" kit_sapexedb_file = "/storage/NW75DB2/SAPEXEDB_800-80002603.SAR" kit_igsexe_file = "/storage/NW75DB2/igsexe_13-80003187.sar" kit_igshelper_file = "/storage/NW75DB2/igshelper_17-10010245.sar" kit_export_dir = "/storage/NW75DB2/51050829" kit_db2_dir = "/storage/NW75DB2/51055138/DB2_FOR_LUW_11.5_MP6_FP0SAP2_LINUX_" kit_db2client_dir = "/storage/NW75DB2/51055140"
kit_export_dir
、kit_db2_dir
、およびkit_db2client_dir
ファイルを手動で解凍する必要があることに注意してください。 Ansible は、残りの SAP キット・ファイルを解凍します。 詳しくは、README
ファイル をご覧ください。 -
Terraform CLIを初期化する
terraform init
-
Terraform 実行プランを作成します。 Terraform 実行プランに、アカウント内に仮想プライベート・クラウド・インスタンスを作成するために実行されるすべてのアクションが要約されます。
terraform plan --out plan1
SAP、メインパスワードとAPIキーを入力する必要があります。
SAP メインパスワードは10~14文字で、少なくとも1桁の数字(0~9)を含む必要があります。 使用できる文字は、a から z、A から Z、0 から 9、@、#、$、_ のみです。このパスワードに
!
を含むことはできません。 数字または下線 ( _ ) で始めることはできません。 -
作成するすべてのリソースがプランに表示されていること、および名前と値が正しいことを確認します。 計画を調整する必要がある場合、
input.auto.tfvars
ファイルを編集してリソースを修正し、terraform plan
を再実行します。 -
IBM Cloudで、SAP インスタンスおよび IAM アクセス・ポリシー用の仮想プライベート・クラウドを作成します。
terraform apply "plan1"
仮想プライベート・クラウドとコンポーネントが作成され、
terraform plan
の出力と同様の出力が表示されます。 -
SAP 資格情報と仮想サーバー・インスタンス IP を SAP GUI に追加します。 SAP GUI について詳しくは、SAP GUI を参照してください。
次のステップ
作成後にリソースの名前を変更する必要がある場合、input.auto.tfvars
ファイルを変更して名前を変更し、terraform plan
およびterraform apply
を再度実行します。 VPC の作成後に、IBM Cloud ダッシュボードおよびユーザー・インターフェースを使用して VPC を変更しないでください。 Terraform スクリプトによって完全なソリューションが作成されます。ユーザー・インターフェースを使用してリソースを選択的に変更すると、予期しない結果が生じる可能性があります。
SAP NetWeaver 7.x Db2 の分散インストールを削除する必要がある場合は、プロジェクトフォルダに移動して terraform destroy
を実行してください。 このシナリオでは、VPC が Terraform スクリプトを使用して作成されていないため、terraform destroy
コマンドは VPC を削除しません。