Linux 向け SAP MaxDB デプロイガイド

このデプロイガイドでは、Linux オペレーティング システムに SAP MaxDB をインストールする準備ができている Compute Engine 仮想マシン(VM)をデプロイして接続する方法について説明します。

このガイドの手順では、Cloud Deployment Manager を使用して、VM、Linux オペレーティングシステム、SAP MaxDB に必要なディスク ボリュームをデプロイおよび構成します。

デプロイの計画について詳しくは、SAP MaxDB 計画ガイドをご覧ください。

事前準備

課金が有効になっている Google Cloud Platform プロジェクトがまだない場合は、SAP MaxDB のインストール用に VM をデプロイする前に、プロジェクトを作成する必要があります。

プロジェクトを作成するには:

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Google Cloud Platform プロジェクトを選択または作成します。

    [リソースの管理] ページに移動

  3. Google Cloud Platform プロジェクトに対して課金が有効になっていることを確認します。

    課金を有効にする方法について

gcloud コマンド環境の構成

この手順では、Cloud Shell を使用して、GCP リソースのデプロイまたは構成する gcloud コマンドを入力します。Cloud Shell には、ブラウザの GCP Console からアクセスします。

Cloud Shell は、Cloud Shell を起動するたびに GCP がプロビジョニングする VM 上で動作します。初めて Cloud Shell を使用するときには、GCP は永続的な $HOME ディレクトリも作成します。このディレクトリは、Cloud Shell を開くたびに復元されます。

プロビジョニングされた VM には、gcloud コマンドライン インターフェースを提供する最新の Cloud SDK が含まれています。したがって、Cloud Shell で使用する gcloud コマンドは、Cloud SDK のローカルにインストールされたインスタンスで使用するものと同じです。

Cloud SDK がインストールされている場合は、以下の手順の中で使用されている gcloud コマンドをローカルマシンから発行できます。ただし、ローカルにインストールされた Cloud SDK では、必ず最新バージョンの Cloud SDK を使用していることを確認してください。

Cloud Shell または Cloud SDK のどちらを使用する場合も、gcloud コマンド環境のプロパティの設定と変更を行い、それらを構成として保存できます。構成は、gcloud コマンドの動作に影響を与える Key-Value ペアのコレクションです。

Cloud Shell の構成で実行できる基本的な操作は次のとおりです。

  • gcloud init を使用して構成を初期化する。

  • gcloud config list を使用して現在の gcloud 構成の設定を確認する。

  • gcloud config set project [PROJECT_ID] を使用して、対象とする GCP プロジェクトを変更する。[PROJECT_ID] は GCP のプロジェクトを表します。

  • gcloud config set compute/region [REGION] を使用して、デフォルトのリージョンを設定する。[REGION] は GCP のリージョンを表します。

  • gcloud config set compute/zone [ZONE] を使用して、デフォルトのゾーンを設定する。[ZONE] は GCP のゾーンを表します。

  • gcloud config configurations create [NAME] を使用して新しい構成を作成する。[NAME] は構成の名前を表します。

構成に対する操作について詳しくは、Cloud SDK 構成の管理をご覧ください。

ネットワークの作成

セキュリティ上の理由から、新しいネットワークを作成します。アクセスできるユーザーを制御するには、ファイアウォール ルールを追加するか、別のアクセス制御方法を使用します。

プロジェクトにデフォルトの VPC ネットワークがあっても、使用しないでください。代わりに独自の VPC ネットワークを作成することで、明示的に作成したファイアウォール ルールのみを有効にできます。

デプロイ中、VM インスタンスは通常、Google のモニタリング エージェントをダウンロードするためにインターネットにアクセスする必要があります。GCP から入手できる SAP 認定の Linux イメージのいずれかを使用している場合も、ライセンスを登録して OS ベンダーのリポジトリにアクセスするために、VM インスタンスからインターネットにアクセスする必要があります。ターゲット VM に外部 IP がない場合でも、NAT ゲートウェイと VM ネットワーク タグを使用した構成でこのアクセスがサポートされます。

ネットワークを設定するには:

  1. Cloud Shell に移動します。

    Cloud Shell に移動

  2. カスタム サブネットワーク モードで新しいネットワークを作成するには、次のコマンドを実行します。

    gcloud compute networks create [YOUR_NETWORK_NAME] --subnet-mode custom

    [YOUR_NETWORK_NAME] は新しいネットワークの名前です。ネットワーク名に使えるのは、小文字、数字、ダッシュ(-)のみです。

    デフォルトの自動モードでは、各 Compute Engine リージョンにサブネットが自動的に作成されます。この自動モードを使用しないようにするには、--subnet-mode custom を指定します。詳しくは、サブネット作成モードをご覧ください。

  3. サブネットワークを作成し、リージョンと IP 範囲を指定します。

    gcloud compute networks subnets create [YOUR_SUBNETWORK_NAME] \
            --network [YOUR_NETWORK_NAME] --region [YOUR_REGION] --range [YOUR_RANGE]

    次のように、実際の値に置き換えてください。

    • [YOUR_SUBNETWORK_NAME] は、新しいサブネットワークです。
    • [YOUR_NETWORK_NAME] は、前の手順で作成したネットワークの名前です。
    • [REGION] は、サブネットワークを配置するリージョンです。
    • [YOUR_RANGE] は、CIDR 形式で指定された IP アドレス範囲です(例: 10.1.0.0/24)。複数のサブネットワークを追加する場合は、ネットワーク内の各サブネットワークに重複しない CIDR IP 範囲を割り当ててください。各サブネットワークとその内部 IP 範囲は、単一のリージョンにマッピングされることに注意してください。
  4. 必要に応じて、前の手順を繰り返して、サブネットワークを追加します。

NAT ゲートウェイの設定

パブリック IP アドレスを持たない VM を 1 つ以上作成する場合は、VM がインターネットにアクセスして Google のモニタリング エージェントをダウンロードできるように、NAT ゲートウェイを作成する必要があります。

VM に外部パブリック IP アドレスを割り当てる場合は、この手順をスキップできます。

NAT ゲートウェイを作成するには:

  1. 作成したばかりのサブネットで NAT ゲートウェイとして機能する VM を作成します。

    gcloud compute instances create [YOUR_VM_NAME] --can-ip-forward \
            --zone [YOUR_ZONE]  --image-family [YOUR_IMAGE_FAMILY] \
            --image-project [YOUR_IMAGE_PROJECT] \
            --machine-type=[YOUR_MACHINE_TYPE] --subnet [YOUR_SUBNETWORK_NAME] \
            --metadata startup-script="sysctl -w net.ipv4.ip_forward=1; iptables \
            -t nat -A POSTROUTING -o eth0 -j MASQUERADE" --tags [YOUR_VM_TAG]

    次のように、実際の値に置き換えてください。

    • [YOUR_VM_NAME] は、NAT ゲートウェイに使用する、作成中の VM の名前です。
    • [YOUR_ZONE] は、VM を配置するゾーンです。
    • [YOUR_IMAGE_FAMILY][YOUR_IMAGE_PROJECT] は、NAT ゲートウェイに使用するイメージを指定します。
    • [YOUR_MACHINE_TYPE] は、サポートされている任意のマシンタイプです。高いネットワーク トラフィックが予想される場合は、少なくとも 8 つの仮想 CPU を搭載したマシンタイプを選択してください。
    • [YOUR_SUBNETWORK_NAME] は、VM を配置するサブネットワークの名前です。
    • [YOUR_VM_TAG] は、作成する VM に適用されるタグです。この VM を踏み台インスタンスとして使用する場合、このタグは関連するファイアウォール ルールをこの VM にのみ適用するために使用されます。
  2. トラフィックがデフォルトのインターネット ゲートウェイではなく NAT VM を通過するようにタグ付けされたルートを作成します。

    gcloud compute routes create [YOUR_ROUTE_NAME] \
            --network [YOUR_NETWORK_NAME] --destination-range 0.0.0.0/0 \
            --next-hop-instance [YOUR_VM_NAME] --next-hop-instance-zone \
            [YOUR_ZONE] --tags [YOUR_TAG_NAME] --priority 800

    次のように、実際の値に置き換えてください。

    • [YOUR_ROUTE_NAME] は、作成するルートの名前です。
    • [YOUR_NETWORK_NAME] は、作成したネットワークです。
    • [YOUR_VM_NAME] は、NAT ゲートウェイ用に使用している VM です。
    • [YOUR_ZONE] は、VM を配置するゾーンです。
    • [YOUR_TAG_NAME] は、NAT VM を通過するようにトラフィックを誘導するルート上のタグです。
  3. NAT ゲートウェイ VM を踏み台インスタンスとしても使用する場合は、次のコマンドを実行します。このコマンドは、インターネットからこのインスタンスへの受信側 SSH アクセスを許可するファイアウォール ルールを作成します。

    gcloud compute firewall-rules create allow-ssh --network [YOUR_NETWORK_NAME] --allow tcp:22 --source-ranges 0.0.0.0/0 --target-tags "[YOUR_VM_TAG]"

    次のように、実際の値に置き換えてください。

    • [YOUR_NETWORK_NAME] は、作成したネットワークです。
    • [YOUR_VM_TAG] は、NAT ゲートウェイ VM を作成したときに指定したタグです。このタグは、このファイアウォール ルールが NAT ゲートウェイをホストする VM にのみ適用され、ネットワーク内のすべての VM には適用されないようにするために使用されます。

Deployment Manager を使用した SAP MaxDB 用 Linux VM のデプロイ

以下の手順では、Deployment Manager を使用して、Linux および、SAP MaxDB に必要なすべての永続ディスクを含む VM インスタンスをデプロイします。

Deployment Manager について

この手順では、Deployment Manager 構成ファイル テンプレートでインストール環境のリソース オプションを定義します。

Deployment Manager では、SAP システム用に作成されたすべてのリソースを「デプロイメント」という単一のエンティティとして扱います。GCP Console の [デプロイ] ページで、プロジェクトのすべてのデプロイメントを表示して作業できます。

Deployment Manager を使用するときは、以下の動作に注意してください。

  • デプロイメントを削除すると、そのデプロイメントに関連付けられているすべてのリソース(VM、永続ディスク、VM にインストールされている SAP システムなど)が削除されます。
  • デフォルトでは、Deployment Manager は ACQUIRE リソース作成ポリシーを使用します。プロジェクト内の別の VM ですでに使用されている VM 名を指定した場合、新しい VM は作成されず、既存の VM が新しいデプロイメントに追加されます。元の VM が前回の Deployment Manager の実行で作成されたものである場合、VM は 2 つのデプロイメントに関連付けられます。

    その後、新しいデプロイメントを削除すると、取得した VM は最初に作成したデプロイメントから削除されます。このような事態を避けるには、Deployment Manager リソース ポリシーを CREATE に設定するか、新しいデプロイメントで一意のリソース名を使用してください。

    Deployment Manager でリソースを作成する際に使用できるポリシーとその指定方法については、Deployment Manager のドキュメントをご覧ください。

デプロイの手順

  1. Cloud Shell を開きます。

    Cloud Shell に移動

  2. Cloud Shell で次のコマンドを入力して、template.yaml 構成ファイルのテンプレートを作業ディレクトリにダウンロードします。

    wget https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/template.yaml
    
  3. 必要に応じて template.yaml のファイル名を変更し、このファイルで定義する構成がわかるようにします。

  4. Cloud Shell コードエディタで template.yaml ファイルを開きます。

    Cloud Shell コードエディタを開くには、Cloud Shell ターミナル ウィンドウの右上にある鉛筆アイコンをクリックします。

  5. template.yaml ファイルで、以下のプロパティ値の括弧とその内容をご使用のインストール環境の値に置き換えて更新します。

    プロパティ データ型 説明
    instanceName 文字列 SAP MaxDB がインストールされる VM インスタンスの名前。名前は 13 文字以下で、小文字、数字、またはハイフンで指定する必要があります。
    instanceType 文字列 SAP MaxDB がインストールされる Compute Engine 仮想マシンのタイプ。2 つ以上の vCPU を持つマシンタイプを指定します。たとえば、n1-standard-4 です。同一の VM 上で SAP MaxWeaver を SAP NetWeaver とともに実行する場合は、両方のシステムをサポートするのに十分な CPU とメモリを含むマシンタイプを選択します。SAP NetWeaver 計画ガイドをご覧ください。
    zone 文字列 SAP MaxDB をデプロイしているゾーン。サブネットワーク用に選択したのと同じリージョンにある必要があります。
    subnetwork 文字列 前のステップで作成したサブネットワークの名前。共有 VPC にデプロイする場合は、この値を [SHAREDVPC_PROJECT]/[SUBNETWORK] の形式で指定します。たとえば、myproject/network1 とします。
    linuxImage 文字列 SAP MaxDB で使用している Linux オペレーティング システムのイメージまたはイメージ ファミリーの名前。イメージ ファミリーを指定するには、ファミリ名に接頭辞 family/ を追加します。たとえば、family/rhel-7 または family/sles-12-sp3-sap と指定します。特定のイメージを指定するには、イメージ名のみを指定します。利用可能なイメージ ファミリーの一覧については、Cloud Console の [イメージ] ページをご覧ください。
    linuxImageProject 文字列 使用するイメージを含む GCP プロジェクト。このプロジェクトは独自のプロジェクトか、rhel-sap-cloudsuse-sap-cloud のような GCP イメージ プロジェクトです。GCP イメージ プロジェクトの一覧については、Compute Engine のドキュメントにあるイメージのページをご覧ください。
    maxdbSID 文字列 データベース インスタンス ID。
    maxdbRootSize 整数 データベース インスタンスのルート ディレクトリである /sapdb のサイズ(GB 単位)。maxdbRootSize の最小値とデフォルト値はどちらも 8 GB です。
    maxdbDataSize 整数 データベース データファイルが格納される /sapdb/[DBSID]/sapdata のサイズ。maxdbDataSize の最小値とデフォルト値はどちらも 30 GB です。
    maxdbLogSize 整数 データベース トランザクション ログが格納される /sapdb/[DBSID]saplog のサイズ。maxdbLogSize の最小値とデフォルト値はどちらも 8 GB です。
    maxdbBackupSize 整数 /maxdbbackup ボリュームのサイズ。このプロパティは省略可能です。0 に設定するか省略した場合、ディスクは作成されません。
    maxdbDataSSD ブール値 データドライブが SSD 永続ディスクを使用する(Yes)か、HDD 永続ディスクを使用する(No)かを指定します。デフォルトは Yes です。
    maxdbLogSSD ブール値 ログドライブが SSD 永続ディスクを使用する(Yes)か、HDD 永続ディスクを使用する(No)かを指定します。デフォルトは Yes です。ログドライブには SSD をおすすめします。
    usrsapSize 整数 同じ VM インスタンス上で SAP NetWeaver とともに実行するように SAP MaxDB をインストールする場合にのみ必要です。
    sapmntSize 整数 同じ VM インスタンス上で SAP NetWeaver とともに実行するように SAP MaxDB をインストールする場合にのみ必要です。
    swapSize 整数 同じ VM インスタンス上で SAP NetWeaver とともに実行するように SAP MaxDB をインストールする場合にのみ必要です。

    次の構成ファイルは、SAP MaxDB データベース サーバーと SAP NetWeaver の両方を実行するように構成された VM を作成します。構成ファイルは、SLES 12 SP3 オペレーティング システムを実行している n1-standard-16 VM をデプロイするように Deployment Manager に指示します。VM には、NetWeaver とともに SAP MaxDB を実行するために必要なすべてのディレクトリが含まれています。

     imports:
     - path: https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/sap_maxdb.py
    
     resources:
     - name: sap_maxdb
       type: https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/sap_maxdb.py
       properties:
         instanceName: xmp-maxdb-lin
         instanceType: n1-standard-16
         zone: us-central1-f
         subnetwork: example-sub-network
         linuxImage: family/sles-12-sp3-sap
         linuxImageProject: suse-sap-cloud
         maxdbSID: MD1
         maxdbRootSize: 10
         maxdbDataSize: 50
         maxdbLogSize: 30
         maxdbBackupSize: 100
         maxdbDataSSD: Yes
         maxdbLogSSD: Yes
         usrsapSize: 15
         sapmntSize: 15
         swapSize: 24
    
  6. VM インスタンスを作成します。

    gcloud deployment-manager deployments create [DEPLOYMENT-NAME] --config [TEMPLATE-NAME].yaml
    

    上記のコマンドによって Deployment Manager が起動され、template.yaml ファイルの仕様に従って VM がデプロイされます。処理には数分かかる場合があります。デプロイの進行状況を確認するには、次のセクションの手順を実施してください。

デプロイの確認

次の手順では Stackdriver Logging を使用します。これにより料金が発生する可能性があります。詳細については、Stackdriver の料金をご覧ください。

  1. Stackdriver Logging を開いてエラーをチェックし、インストールの進行状況をモニタリングします。

    Logging に移動

  2. [リソース] タブで、ロギング リソースとして [グローバル] を選択します。VM に「INSTANCE DEPLOYMENT COMPLETE」と表示されている場合、その VM に対する Deployment Manager の処理は完了しています。

    Logging の表示

  3. SAP MaxDB システムがデプロイされたら、SSH を使用して VM に接続します。Compute Engine の [VM インスタンス] のページで、VM インスタンスの SSH ボタンをクリックするか、希望する SSH メソッドを使用します。

    Compute Engine VM インスタンス ページの [SSH] ボタン

  4. root ユーザーに変更します。

    sudo su -
  5. コマンド プロンプトで、df -h と入力します。//sapdb/[DBSID]/sapdata ディレクトリなど、次のような出力が表示されていることを確認します。

    スクリプトによって作成されたデータ ボリューム。

  6. SAP NetWeaver と同じ VM に SAP MaxDB をインストールする場合は、次のコマンドを入力してスワップ ディレクトリが作成されたことを確認します。

    cat /proc/meminfo | grep Swap

    次の例のような結果が表示されます。

    スワップ ディレクトリが終了したときのターミナルの出力例

確認ステップの途中でインストールに失敗したことが示された場合、次の手順を行います。

  1. エラーを修正します。
  2. [デプロイ] ページでデプロイメントを削除し、失敗したインストールから VM と永続ディスクをクリーンアップします。
  3. デプロイを再実行します。

データベースのインストール

オペレーティング システムが構成されたら、SAP MaxDB データベースをインストールできます。MaxDB は通常、統合されている SAP プロダクトとともにインストールされます。

VM に SAP MaxDB をインストールするには:

  1. Linux ベースの VM への SSH 接続を確立します。
  2. SAP インストール ガイドに従って、SAP Software Provisioning Manager(SWPM)、SAP プロダクト インストール メディア、MaxDB インストール メディアをダウンロードします。
  3. SAP プロダクトの SAP インストール ガイドに従って、SAP プロダクトと SAP MaxDB データベースをインストールします。追加のガイダンスについては、SAP MaxDB documentation をご覧ください。

追加のインストール情報については、SAP Note 1020175 - FAQ: SAP MaxDB installation, upgrade or applying a patch をご覧ください。

デプロイ後の作業を実行する

SAP MaxDB インスタンスを使用する前に、次のデプロイ後の手順を実行することをおすすめします。

  1. 最新のパッチがある場合は、それを使用して SAP MaxDB ソフトウェアを更新します。
  2. 追加のコンポーネントをインストールします。
  3. 新しい SAP MaxDB データベースを構成してバックアップします。

詳細については、SAP MaxDB Database Administration をご覧ください。

トラブルシューティング

このセクションでは、一般的な問題を修正する方法について説明します。

VM への接続に関するトラブルシューティング

SSH 経由で VM に接続する際に問題がある場合は、使用中の GCP ネットワーク上でポート 22 を開くためのファイアウォール ルールが作成されていることを確認してください。

その他の発生する可能性がある問題については、ブラウザから SSH 経由で接続する際の既知の問題をご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...