SAP NetWeaver on Bare Metal Solution のデプロイのガイド

このガイドでは、SAP NetWeaver アプリケーションと SAP アプリケーションに固有の、または関連する Bare Metal Solution 環境を設定する際の側面について説明します。

Bare Metal Solution 環境で、SAP のドキュメントに沿って SAP NetWeaver と他の SAP ソフトウェアをご自身でインストールしてください。

また、このガイドでは、Bare Metal Solution 環境の SAP NetWeaver で必須またはオプションの Google Cloud 基本サービスのインストールと構成についても説明します。

デプロイを計画する際に有用な Bare Metal Solution の SAP NetWeaver の概要については、Bare Metal Solution の SAP NetWeaver プランニング ガイドをご覧ください。

手順の概要

以下のリストでは、マシンの準備が整ったことを Google Cloud が通知した後、Bare Metal Solution に SAP NetWeaver をデプロイするために完了する必要がある手順の概要を示しています。

  1. Bare Metal Solution のドキュメントに従って、新しいマシンへの接続を完了します。設定手順については、Bare Metal Solution ドキュメントの Bare Metal Solution 環境の設定をご覧ください。
  2. SAP NetWeaver のマシン構成を検証します
  3. ソフトウェア アップデートのためにインターネットの接続を確立します。Bare Metal Solution ドキュメントのインターネットにアクセスするをご覧ください。
  4. Google Cloud APIs への接続を確立します。Bare Metal Solution ドキュメントの Google Cloud APIs とサービスへのアクセスの設定をご覧ください。
  5. ネットワーク タイム プロトコル(NTP)サーバーへのアクセスを設定します(このガイドでは説明しません)。
  6. ドメイン ネーム システム(DNS)サーバーを設定します(このガイドでは説明しません)。
  7. Bare Metal Solution サーバーに Google Cloud の SAP 用エージェントをインストールします

SAP NetWeaver のマシン構成を検証する

初めてマシンにログインするときに、マシン構成が注文と一致していることを確認する必要があります。

Bare Metal Solution のマシン検証については、Bare Metal Solution マシンに初めてログインするをご覧ください。

アプリケーション サービス アカウントの設定

Bare Metal Solution 環境から Google Cloud リソースにアクセスするアプリケーション プログラム、エージェント、またはプロセスには、認証と認可用の IAM サービス アカウントが必要です。

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

  1. Google Cloud Console で、[サービス アカウント] ページに移動します。

    [サービス アカウント] ページに移動

  2. Google Cloud プロジェクトを選択します。

  3. [サービス アカウントを作成] をクリックします。

  4. サービス アカウントの名前を指定します。必要であれば、説明も入力します。

  5. [作成して続行] をクリックします。

  6. [このサービス アカウントにプロジェクトへのアクセスを許可する] パネルで、アプリケーションに必要な権限を含むロールを選択します。

    たとえば、高可用性クラスタで使用される fence_gce エージェントには、IAM ロール roles/baremetalsolution.editorroles/baremetalsolution.admin に含まれる baremetalsolution.service.resetInstance 権限が必要です。

  7. [続行] をクリックします。

  8. 必要に応じて、他のユーザーにサービス アカウントへのアクセス権を付与します。

  9. [完了] をクリックします。

  10. Google Cloud コンソールの [サービス アカウント] ページで、作成したサービス アカウントのメールアドレスをクリックします。

  11. サービス アカウント名で [キー] タブをクリックします。

  12. [鍵を追加] プルダウン メニューをクリックして [新しい鍵を作成] を選択し、サービス アカウント キーを作成します。

  13. 鍵のタイプとして JSON を選択し、[作成] をクリックします。秘密鍵がパソコンに保存されます。

  14. JSON キーファイルを、必要とするアプリケーションからアクセスできる Bare Metal Solution サーバーの安全な場所にアップロードします。

  15. アプリケーションを構成して、JSON キーファイルにアクセスします。

    たとえば、fence_gce エージェントを使用する高可用性クラスタ リソースを作成する場合は、fence_gce 構成プロパティで JSON キーファイルのパスとファイルの名前を指定します。

IAM サービス アカウントの詳細については、以下をご覧ください。

アプリケーション サーバーへの接続の確認

アプリケーション サーバーとアプリケーション サーバーの間にネットワーク接続があることを確認します。

Google Cloud とゲスト オペレーティング システムのファイアウォール ルールで、サーバー間のトラフィックが許可されていることを確認します。

SAP NetWeaver をインストールする

Bare Metal Solution ホストマシンに SAP NetWeaver をインストールするには、ご使用のバージョンの SAP NetWeaver に関する SAP インストール ドキュメントに沿って進める必要があります。

ご使用の SAP NetWeaver バージョンのインストールに関するドキュメントを確認するには、SAP ヘルプポータルをご覧ください。

Google Cloud の SAP 用エージェントをインストールする

Bare Metal Solution サーバーで実行されている SAP システムの SAP サポートには、Google Cloud の SAP 用エージェントが必要です。

Google Cloud が提供する次の「SAP 用」RHEL または SLES OS イメージを使用すると、Google Cloud の SAP 用エージェントが OS イメージにパッケージ化されます。

  • RHEL: すべての「SAP 用」イメージ
  • SLES: SAP 用 SLES 15 SP4 以降のバージョン

Bare Metal Solution サーバーで SAP の実行に使用できるオペレーティング システムについては、以下をご覧ください。

Bare Metal Solution サーバーに Google Cloud の SAP 用エージェントをインストールするには、次の操作を行います。

  1. Bare Metal Solution サーバーとの SSH 接続を確立します。

  2. ターミナルでオペレーティング システムに固有のコマンドを実行して、エージェントをインストールします。

    • (推奨)エージェントのバージョン 3.6(最新)をインストールするには:

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
      [google-cloud-sap-agent]
      name=Google Cloud Agent for SAP
      baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=0
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOM
      sudo yum install google-cloud-sap-agent

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent
    • 特定のバージョンのエージェントをインストールするには:

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
      [google-cloud-sap-agent]
      name=Google Cloud Agent for SAP
      baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=0
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOM
      sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      VERSION_NUMBER は、インストールするエージェントのバージョン番号(3.1-606637668 など)に置き換えます。インストール可能なエージェント バージョンについては、使用可能なすべてのエージェント バージョンを一覧取得するをご覧ください。

  3. 次の構成ファイルを開きます。

    /etc/google-cloud-sap-agent/configuration.json

  4. 次のパラメータを変更するか、構成ファイルに追加します。

    • 最初のセクション:
      • bare_metal: true に設定します
    • cloud_properties セクションを追加し、次のパラメータを指定します。
      • project_id: Google Cloud プロジェクトを指定します
      • instance_name: Bare Metal Solution サーバーの名前を指定します
      • region: Bare Metal Solution サーバーのリージョンを指定します
  5. 構成ファイルを保存します。

  6. エージェントを再起動します。

    sudo systemctl restart google-cloud-sap-agent

構成パラメータの詳細については、Google Cloud の SAP 用エージェントを Bare Metal Solution サーバーにインストールするをご覧ください。

Google Cloud の SAP 用エージェントと SAP Host Agent をインストールしたら、エージェントのインストールを検証するの説明に従って、Google Cloud の SAP 用エージェントのインストールを検証します。

Google Cloud の SAP 用エージェントのインストールを検証する

  1. Bare Metal Solution サーバーと SSH 接続を確立します。

  2. 次のコマンドを実行します。

    systemctl status google-cloud-sap-agent

    エージェントが正常に機能している場合、出力には active (running) が含まれます。例:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

エージェントが実行されていない場合は、エージェントを再起動します。

SAP Host Agent が指標を受信していることを確認する

Google Cloud の SAP 用エージェントによってインフラストラクチャの指標が収集され、SAP Host Agent に正しく送信されていることを確認するには、次の操作を行います。

  1. SAP システムで、トランザクションとして「ST06」を入力します。
  2. 概要ウィンドウで可用性と以下のフィールドの内容を確認し、SAP と Google モニタリング インフラストラクチャのエンドツーエンドの設定が正しいか調べます。

    • クラウド プロバイダ: Google Cloud Platform
    • Enhanced Monitoring Access: TRUE
    • Enhanced Monitoring Details: ACTIVE

高可用性クラスタを構成する

ビジネス クリティカルなワークロードに、クラスタリングまたは最適な高可用性ソリューションを構成します。Pacemaker クラスタリングをおすすめします。

いくつかの要件と推奨事項を除き、オペレーティング システム ベンダーが提供するクラスタリングの手順に沿って、Bare Metal Solution マシンで高可用性クラスタを構成します。

Google Cloud の要件と、Bare Metal Solution で高可用性の SAP NetWeaver システムを構成するための推奨事項については、Bare Metal Solution での SAP NetWeaver 用の高可用性クラスタをご覧ください。

フローティング IP アドレス

SAP NetWeaver の高可用性クラスタは、2 つのフローティングまたは仮想 IP アドレス(VIP)を使用します。1 つは SAP セントラル サービス コンポーネントとのネットワーク通信に使用し、もう 1 つはノード間のエンキュー レプリケーション サーバーの通信に使用します。VIP を構成する場合は、標準の IPaddr2 Pacemaker リソースを使用します。これは、Gratuitous ARP リクエストを使用してホスト間で VIP を移動します。詳細については、アドレス解決プロトコルをご覧ください。

次の例は、SUSE の SAP セントラル サービスの IPaddr2 リソース定義を示しています。

crm configure primitive scs-vip-rsc-name IPaddr2 \
    params ip=10.0.0.79 \
    op monitor interval=10 timeout=20

目的の SAP セントラル サービス リソースまたはエンキュー レプリケーション サーバー リソースを含むリソース グループに各 IPaddr2 リソースを追加して、フェイルオーバー中にリソースが移動されるようにします。たとえば、次のコマンドは SAP セントラル サービス用のグループを作成します。

crm configure group scs-rsc-group-name \
  scs-file-system-rsc-name \
  scs-vip-rsc-name \
  scs-instance-sap-rsc-name \
  meta resource-stickiness=3000

同様に、次のコマンドはエンキュー レプリケーション サーバー用に別のグループを作成します。

crm configure group ers-rsc-group-name \
  ers-file-system-rsc-name \
  ers-vip-rsc-name \
  ers-instance-rsc-name

fence_gce エージェントを構成する

次の詳細な手順は、Linux オペレーティング システムとともに含まれる fence_gce エージェントを使用する高可用性クラスタに、フェンシング リソースを構成するのに役立ちます。

  1. Google Cloud プロジェクトで、baremetalsolution.service.resetInstance 権限を含む IAM ロールを、JSON キーファイルがある新規または既存の IAM サービス アカウントに割り当てます。

    事前定義ロール roles/baremetalsolution.editor には必要な権限が含まれています。または、カスタムロールを作成してロールに含まれる権限をさらに細かく管理できます。

    詳細情報

  1. サービス アカウントの JSON キーファイルを、高可用性クラスタ内のすべての Bare Metal Solution サーバーにアップロードします。

  2. fence_gce エージェントのバージョンが Bare Metal Solution をサポートしていることを確認します。

    1. Bare Metal Solution サーバーに SSH で接続します。

    2. fence_gce エージェントのヘルプを表示します。

      $ sudo fence_gce --help
    3. fence_gce ヘルプで、次のプロパティを確認します。

      --baremetalsolution            Enable on bare metal
      ...
      --serviceaccount=[filename]    Service account json file location e.g.
                                         serviceaccount=/somedir/service_account.json
      

      --baremetalsolution プロパティと --serviceaccount=[filename] プロパティの両方が表示されない場合は、エージェントを更新する必要があります。パッチの適用手順については、Cloud カスタマーケアにお問い合わせください。パッチ適用手順は、使用している Linux のバージョンによって異なります。

  3. オペレーティング システムのベンダーが提供するクラスタリングの手順に沿ってクラスタ リソースを構成する場合は、各クラスタノードでフェンシング デバイスとして fence_gce エージェントを指定します。

    リソースを定義する際に、次の fence_gce パラメータを指定して、Bare Metal Solution 環境用のエージェントを有効にします。

    • baremetalsolution="true"
    • serviceaccount="file_path/key_file.json"

    次の例に、SUSE で定義されている fence_gce フェンシング デバイス リソースを示します。

    crm configure primitive STONITH-"server_name" stonith:fence_gce \
     op monitor interval="300s" timeout="60s" on-fail="restart" \
     op start interval="0" timeout="60s" onfail="restart" \
     params port="server_name" zone="Google_Cloud_zone" project="Google_Cloud_project_ID" \
       baremetalsolution="true" method="cycle" \
       serviceaccount="file_path/key_file.json"

    フェンシング リソースの例では、次の定義を使用します。

    定義 説明
    baremetalsolution=true Bare Metal Solution 環境で動作するようにフェンシング エージェントを構成します。
    serviceaccount=file_path/key_file.json フェンシング エージェントが Google Cloud APIs にアクセスするために使用するサービス アカウントのキーが含まれる JSON キーファイルへのファイルパス。
    port=server_name フェンス デバイスがリセットできる Bare Metal Solution サーバーの元のホスト名。
    method=cycle 失敗したサーバーのリセットに使用するメソッドを定義します。
  4. フェンシング リソースを定義したら、フェンシング デバイスの場所を、リセットするサーバー以外のサーバーに設定します。

    crm configure location LOC_STONITH_server_name STONITH-server_name -inf: server_name

Bare Metal Solution サーバーの再起動

resetInstance API 呼び出しを発行することで Bare Metal Solution サーバーを再起動できます。これにより、サーバーのハードリセットが開始されます。

サーバーを再起動する前に、サーバーで実行中のすべてのアプリケーションとデータベースを停止してください。

Bare Metal Solution API を有効にして、resetInstance API 呼び出しを行う手順については、Bare Metal Solution マシンの再起動をご覧ください。

Bare Metal Solution 上の SAP NetWeaver に関するサポートを利用する

Bare Metal Solution 上の SAP NetWeaver と SAP アプリケーションのデプロイで問題が発生した場合には、必要な診断情報を収集して Cloud カスタマーケアまでお問い合わせください。詳細については、Bare Metal Solution の SAP 診断情報をご覧ください。

サポート

Google Cloud のインフラストラクチャやサービスに関する問題については、カスタマーケアにお問い合わせください。連絡先は、Google Cloud コンソールのサポートの概要ページで確認できます。カスタマーケアが SAP システムに問題があると判断した場合は、SAP サポートをご案内します。

SAP プロダクト関連の問題については、SAP サポートでサポート リクエストを送信してください。SAP はサポート チケットを評価し、Google Cloud インフラストラクチャの問題と判断した場合は、そのチケットをシステム内の適切な Google Cloud コンポーネント(BC-OP-LNX-GOOGLE または BC-OP-NT-GOOGLE)に転送します。

サポート要件

SAP システムと、そのシステムが使用する Google Cloud のインフラストラクチャおよびサービスに対するサポートを受けるには、サポートプランの最小限の要件を満たす必要があります。

Google Cloud での SAP に関する最小限のサポート要件について詳しくは、以下をご覧ください。