SAP ワークロード用エージェントを設定する

SAP ソリューション用ワークロード マネージャーは、Google Cloudの SAP 用エージェントを使用して、SAP システム構成を評価するためのメタデータを検出して収集します。SAP NetWeaver、SAP HANA、SAP ASE、SAP MaxDB など、 Google Cloudで実行されている SAP システムのサポートとモニタリングを行うには、SAP システムを実行するすべての VM インスタンスに SAP 用エージェントと SAP ホスト エージェントが必要です。

始める前に

Google Cloudの SAP 用エージェントをインストールして構成する前に、次の前提条件を満たしていることを確認する必要があります。

エージェントに必要な IAM ロール

Agent for SAP は、認証と Google Cloud リソースへのアクセスに、コンピューティング インスタンスに関連付けられたサービス アカウントを使用します。

セキュリティを強化するため、Compute Engine のデフォルトのサービス アカウントを使用するのではなく、単一目的のサービス アカウントを使用することをおすすめします。

SAP 用エージェントがGoogle Cloud で認証を行い、 Google Cloud リソースにアクセスできるように、サービス アカウントに必要な権限が付与されていることを確認するには、プロジェクトに対する次の IAM ロールをサービス アカウントに付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をサービス アカウントに付与することもできます。

Cloud APIs へのアクセスを有効にする

Compute Engine では、すべての Cloud APIs にすべてのアクセス スコープを使用できるようにインスタンスを構成することをおすすめします。 Google Cloudリソースへのアクセスを制御するには、インスタンス サービス アカウントの IAM 権限のみを使用します。詳細については、ユーザー管理のサービス アカウントを使用する VM を作成するをご覧ください。

Cloud APIs へのアクセスを制限する場合、SAP 用エージェントには、ホスト コンピューティング インスタンスで次の最小 Cloud APIs アクセス スコープが必要です。

https://www.googleapis.com/auth/cloud-platform

詳細については、スコープの効果的な手法をご覧ください。

外部 IP アドレスを持たないコンピューティング インスタンスで SAP アプリケーションを実行している場合は、インスタンスのサブネットでプライベート Google アクセスを有効にして、コンピューティング ワークロード用エージェントが Google API とサービスにアクセスできるようにする必要があります。プライベート Google アクセスを有効にする方法については、プライベート Google アクセスを構成するをご覧ください。

パッケージ マネージャーを使用してエージェントをインストールして構成する

このセクションでは、パッケージ マネージャーを使用して、コンピューティング インスタンスに Agent for SAP をインストールし、SAP ワークロードに接続するように構成する方法について説明します。

VM のフリートにエージェントをインストールして構成する場合は、代わりに VM Extension Manager ポリシーを使用できます。詳細については、VM Extension Manager を使用して VM フリートにエージェントをインストールして管理するをご覧ください。

エージェントをインストールする

まだインストールしていない場合は、SAP ワークロードを実行するすべてのコンピューティング インスタンスに Google Cloudの SAP 用エージェントをインストールします。

Compute Engine インスタンスにエージェントをインストールするには、次の操作を行います。

  1. コンピューティング インスタンスとの SSH 接続を確立します。
  2. ターミナルでオペレーティング システムに固有のコマンドを実行して、エージェントをインストールします。
    • (推奨)エージェントのバージョン 3.13(最新)をインストールするには:

      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 など)に置き換えます。インストール可能なエージェント バージョンについては、使用可能なすべてのエージェント バージョンを一覧取得するをご覧ください。

      エージェントを特定のバージョンにダウングレードする方法については、 Google Cloudの SAP 用エージェントをダウングレードするをご覧ください。

ワークロード マネージャー評価指標の収集を構成する

SAP 用エージェントをインストールしたら、ワークロード マネージャー評価指標の収集用にエージェントを構成する必要があります。

Google Cloudの SAP 用エージェントを構成するには、次の操作を行います。

  1. エージェントが ワークロード マネージャー評価指標を収集できるようにするには:

    sudo /usr/bin/google_cloud_sap_agent configure -feature=workload_evaluation -enable

  2. 省略可: ワークロード マネージャー で SAP HANA Insights と SAP HANA セキュリティのベスト プラクティスの指標の収集を有効にするには、エージェントの構成ファイルの collect_workload_validation_metrics の後に workload_validation_db_metrics_config セクションを追加し、次のパラメータを指定します。

    • hana_db_user: SAP HANA インスタンスのクエリに使用するユーザー アカウントを指定します。
    • hostname: SAP HANA インスタンスをホストするマシン(ローカルまたはリモート)の識別子を指定します。
    • port: SAP HANA インスタンスがクエリを受け付けるポートを指定します。
    • hana_db_password_secret_name: ユーザー アカウントのパスワードを格納する Secret Manager に Secret の名前を指定します。

      Secret の代わりに、hdbuserstore_key 構成パラメータを使用できます。

    • hdbuserstore_key: hana_db_user に指定したユーザーを認証する hdbuserstoreを指定します。

      hdbuserstore_key を指定すると、hostname パラメータと port パラメータの指定をスキップします。

    これらのパラメータの詳細については、構成パラメータをご覧ください。

    次の例は、Compute Engine インスタンスで実行されているGoogle Cloudの SAP 用エージェントの完全な構成ファイルです。ここでは、ワークロード マネージャー評価指標の収集が有効になっています。

    SAP HANA 認証の場合、エージェントは次の優先順位を使用します。指定されている場合、hdbuserstore_key 構成パラメータは hana_db_password パラメータよりも優先され、これは hana_db_password_secret_name パラメータよりも優先されます。構成ファイルで設定する認証オプションは 1 つだけにすることをおすすめします。

    • 次の例では、SAP HANA 認証にセキュア ユーザーストア(hdbuserstoreキーを使用します。
      {
        "provide_sap_host_agent_metrics": true,
        "bare_metal": false,
        "log_level": "INFO",
        "log_to_cloud": true,
        "collection_configuration": {
          "collect_workload_validation_metrics": true,
          "workload_validation_db_metrics_frequency": 3600,
          "workload_validation_db_metrics_config": {
            "hana_db_user": "system",
            "sid": "DEH",
            "hdbuserstore_key": "user_store_key"
          },
          "collect_process_metrics": false
        },
        "discovery_configuration": {
          "enable_discovery": true,
          "enable_workload_discovery": true
        },
        "hana_monitoring_configuration": {
          "enabled": false
        }
      }
    • 次の例では、SAP HANA 認証にユーザー名と Secret Manager シークレットを使用します。
      {
        "provide_sap_host_agent_metrics": true,
        "bare_metal": false,
        "log_level": "INFO",
        "log_to_cloud": true,
        "collection_configuration": {
          "collect_workload_validation_metrics": true,
          "workload_validation_db_metrics_frequency": 3600,
          "workload_validation_db_metrics_config": {
            "hana_db_user": "system",
            "sid": "DEH",
            "hana_db_password_secret_name": "instance-id-hana-db-password-secret",
            "hostname": "localhost",
            "port": "30015"
          },
          "collect_process_metrics": false
        },
        "discovery_configuration": {
          "enable_discovery": true,
          "enable_workload_discovery": true
        },
        "hana_monitoring_configuration": {
          "enabled": false
        }
      }
    • 次の例では、SAP HANA 認証にユーザー名とパスワードを使用します。この方法ではなく、SAP HANA 認証には Secret Manager シークレットまたはセキュア ユーザーストア(hdbuserstoreキーを使用することをおすすめします。
      {
        "provide_sap_host_agent_metrics": true,
        "bare_metal": false,
        "log_level": "INFO",
        "log_to_cloud": true,
        "collection_configuration": {
          "collect_workload_validation_metrics": true,
          "workload_validation_db_metrics_frequency": 3600,
          "workload_validation_db_metrics_config": {
            "hana_db_user": "system",
            "sid": "DEH",
            "hana_db_password": "TempPa55word",
            "hostname": "localhost",
            "port": "30015"
          },
          "collect_process_metrics": false
        },
        "discovery_configuration": {
          "enable_discovery": true,
          "enable_workload_discovery": true
        },
        "hana_monitoring_configuration": {
          "enabled": false
        }
      }

  3. エージェントを再起動して、新しい設定を有効にします。

    sudo systemctl restart google-cloud-sap-agent

    エージェントが正常に再起動すると、エージェントはワークロード マネージャー評価指標をワークロード マネージャーに送信し始めます。

VM Extension Manager を使用して VM フリートにエージェントをインストールして管理する

このセクションでは、VM Extension Manager を使用して VM のフリートに Agent for SAP をインストールして管理する方法について説明します。

VM Extension Manager を設定する

VM Extension Manager を設定するには、次の操作を行います。

VM フリートにエージェントをインストールして構成する

VM Extension Manager ポリシーを使用して、特定のゾーン内の VM フリートに最新バージョンの Agent for SAP をインストールするには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで、[VM 拡張機能ポリシー] ページに移動します。

    [VM 拡張機能ポリシー] に移動

  2. [拡張機能ポリシーを作成] をクリックします。

  3. [名前] フィールドに、ポリシーの名前を入力します。

  4. 省略可: [説明] フィールドに、ポリシーの説明を入力します。

  5. [優先度] フィールドで、ポリシー間の競合を解決するための優先度番号を指定します。数字が小さいほど優先度が高くなります。デフォルト値は 1000 です。

  6. [リージョン] リストと [ゾーン] リストで、このポリシーを適用するゾーンを選択します。

  7. [拡張機能] セクションで [拡張機能を追加] をクリックし、次の操作を行います。

    1. [拡張機能] リストから、[Google Cloud's Extension for Compute Workloads] を選択します。
    2. [バージョン] フィールドは空欄のままにします。

      これにより、Google Cloudの SAP 用エージェントの最新バージョンをインストールするようにポリシーが指示されます。

    3. [構成ファイルの内容] フィールドに、エージェントに適用する構成を入力します。

      SAP ワークロードのエージェントでサポートされている構成パラメータについては、構成パラメータをご覧ください。

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

  8. 省略可: ポリシーのロールアウトを必要な VM に制限するには、次の操作を行います。

    1. [ラベルを追加] をクリックし、必要な VM を識別するラベルを追加します。
    2. [完了] をクリックします。
  9. [作成] をクリックします。

gcloud

gcloud compute zone-vm-extension-policies create POLICY_NAME \
    --zone=ZONE \
    --extensions=google-cloud-sap-extension \
    --config-from-file=google-cloud-sap-extension=CONFIG_FILE_PATH \
    [--description="DESCRIPTION" \]
    [--inclusion-labels=KEY_1=VALUE_1 \]
    [--inclusion-labels=KEY_2=VALUE_2,KEY_3=VALUE_3 \]
    [--priority=PRIORITY]

次のように置き換えます。

  • POLICY_NAME: VM 拡張機能ポリシーの名前。

    指定した名前のポリシーがゾーンにすでに存在する場合、コマンドは失敗します。

  • ZONE: このポリシーを適用するゾーン。

  • CONFIG_FILE_PATH: SAP ワークロードに接続するための Agent for SAP の構成を含む JSON ファイルのローカルパス。

    • あるいは、構成をインライン文字列として指定する場合は、--config-from-file ではなく --config フラグを使用します。例: --config=google-cloud-sap-extension="CONFIG"Google Cloud は --config-from-file の使用を推奨しています。
    • --config-from-file または --config のいずれかを使用できますが、同じコマンドで両方を使用することはできません。
    • SAP ワークロードのエージェントでサポートされている構成パラメータについては、構成パラメータをご覧ください。
  • DESCRIPTION: ポリシーの説明(省略可)。

  • KEY_1=VALUE_1: ポリシーが VM をターゲットにするために使用するラベルを定義する Key-Value ペアのカンマ区切りのリスト。

    • ポリシーの対象となる VM には、指定されたすべてのラベルが設定されている必要があります。
    • --inclusion-labels を複数回指定すると、ポリシーは、指定されたセレクタのいずれかに一致する VM をターゲットにします(論理 OR)。このフラグを省略すると、ポリシーは指定されたゾーン内のすべての VM をターゲットにします。
  • PRIORITY: ポリシーの優先度を定義する 065535 の整数。数字が小さいほど優先度が高くなります。デフォルト値は 1000 です。

例:

次のコマンドは、test-project という名前のGoogle Cloud プロジェクトに test-agent-policy という名前のポリシーを作成します。このポリシーは、ゾーン us-centrail-f にデプロイされたすべての VM に最新バージョンのコンピューティング ワークロード用エージェントをインストールします。agent-config.json で指定された構成がエージェントに適用されます。

gcloud compute zone-vm-extension-policies create test-agent-policy  \
    --project=test-project \
    --zone=us-central1-f \
    --extensions=google-cloud-sap-extension \
    --config-from-file=google-cloud-sap-extension="/usr/agent-config.json"

エージェントのバージョンを確認する

Google Cloud では、SAP ワークロードを正確に評価するには、SAP 用エージェントの最新バージョンをインストールすることをおすすめします。SAP 用エージェントの定期的なリリースで、評価に使用される指標が追加または変更される可能性があります。

Google Cloudの SAP 用エージェントの最新バージョンを使用するには、定期的に更新を確認し、エージェントを更新する必要があります。

更新を確認する

ご使用のオペレーティング システムに応じて、次の操作を行います。

RHEL

  1. インスタンスと SSH 接続を確立します。
  2. 次のコマンドを実行します。
    sudo yum check-update google-cloud-sap-agent

SLES

  1. インスタンスと SSH 接続を確立します。
  2. 次のコマンドを実行します。
    sudo zypper list-updates -r google-cloud-sap-agent

更新をインストールする

ご使用のオペレーティング システムに応じて、次の操作を行います。

RHEL

  1. インスタンスと SSH 接続を確立します。
  2. エージェント インスタンスを更新します。
    • (推奨)エージェントのバージョン 3.13(最新)に更新するには:
      sudo yum --nogpgcheck update google-cloud-sap-agent
    • エージェントを特定のバージョンに更新するには:
      sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64

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

SLES

  1. インスタンスと SSH 接続を確立します。
  2. エージェント インスタンスを更新します。
    • (推奨)エージェントのバージョン 3.13(最新)に更新するには:
      sudo zypper --no-gpg-checks update google-cloud-sap-agent
    • エージェントを特定のバージョンに更新するには:
      sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

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

ワークロード マネージャーの評価指標の収集の設定を確認する

エージェントの status コマンドを実行して、Workload Manager 評価指標の収集に正しい Google Cloud 設定がされているかどうかを確認できます。このコマンドは、エージェントのバージョン 3.7 以降でサポートされています。

Google Cloud の設定を検証するには、次の操作を行います。

  1. Compute Engine インスタンスと SSH 接続を確立します。
  2. 次のコマンドを実行します。
    sudo /usr/bin/google_cloud_sap_agent status -f="workload_manager,sap_discovery"

    Workload Manager 評価指標の収集の Google Cloud 設定が正しい場合、出力には次のものが含まれます。構成には、default 以外の値が含まれている場合があります。

        Agent Status:
            ...
            Systemd Service Enabled: True
            Systemd Service Running: True
            Cloud API Full Scopes: True
            Configuration File: /etc/google-cloud-sap-agent/configuration.json
            Configuration Valid: True
        ...
        ----------------------------------------------------------------------------
        System Discovery: Enabled
            Status: Fully Functional
            IAM Permissions: All granted
            Configuration:
                enable_discovery:                  true  (default)
                enable_workload_discovery:         true  (default)
                sap_instances_update_frequency:    60    (default)
                system_discovery_update_frequency: 14400 (default)
        ----------------------------------------------------------------------------
        Workload Manager Evaluation: Enabled
            Status: Fully Functional
            IAM Permissions: All granted
            Configuration:
                collect_workload_validation_metrics:      true       (default)
                config_target_environment:                PRODUCTION (default)
                fetch_latest_config:                      true       (default)
                workload_validation_db_metrics_frequency: 3600       (default)
                workload_validation_metrics_frequency:    300        (default)
        ...
        
  3. 出力に設定が不足していることが示されている場合は、前のセクションで説明した情報を確認して必要なアクションを実行し、status コマンドを再実行して設定を再検証します。

構成ファイルの例

次の例は、Compute Engine インスタンスで実行されているGoogle Cloudの SAP 用エージェントの完全な構成ファイルです。ここでは、ワークロード マネージャー評価指標の収集が有効になっています。

SAP HANA 認証の場合、エージェントは次の優先順位を使用します。指定されている場合、hdbuserstore_key 構成パラメータは hana_db_password パラメータよりも優先され、これは hana_db_password_secret_name パラメータよりも優先されます。構成ファイルで設定する認証オプションは 1 つだけにすることをおすすめします。

  • 次の例では、SAP HANA 認証にセキュア ユーザーストア(hdbuserstoreキーを使用します。
    {
      "provide_sap_host_agent_metrics": true,
      "bare_metal": false,
      "log_level": "INFO",
      "log_to_cloud": true,
      "collection_configuration": {
        "collect_workload_validation_metrics": true,
        "workload_validation_db_metrics_frequency": 3600,
        "workload_validation_db_metrics_config": {
          "hana_db_user": "system",
          "sid": "DEH",
          "hdbuserstore_key": "user_store_key"
        },
        "collect_process_metrics": false
      },
      "discovery_configuration": {
        "enable_discovery": true,
        "enable_workload_discovery": true
      },
      "hana_monitoring_configuration": {
        "enabled": false
      }
    }
  • 次の例では、SAP HANA 認証にユーザー名と Secret Manager シークレットを使用します。
    {
      "provide_sap_host_agent_metrics": true,
      "bare_metal": false,
      "log_level": "INFO",
      "log_to_cloud": true,
      "collection_configuration": {
        "collect_workload_validation_metrics": true,
        "workload_validation_db_metrics_frequency": 3600,
        "workload_validation_db_metrics_config": {
          "hana_db_user": "system",
          "sid": "DEH",
          "hana_db_password_secret_name": "instance-id-hana-db-password-secret",
          "hostname": "localhost",
          "port": "30015"
        },
        "collect_process_metrics": false
      },
      "discovery_configuration": {
        "enable_discovery": true,
        "enable_workload_discovery": true
      },
      "hana_monitoring_configuration": {
        "enabled": false
      }
    }
  • 次の例では、SAP HANA 認証にユーザー名とパスワードを使用します。この方法ではなく、SAP HANA 認証には Secret Manager シークレットまたはセキュア ユーザーストア(hdbuserstoreキーを使用することをおすすめします。
    {
      "provide_sap_host_agent_metrics": true,
      "bare_metal": false,
      "log_level": "INFO",
      "log_to_cloud": true,
      "collection_configuration": {
        "collect_workload_validation_metrics": true,
        "workload_validation_db_metrics_frequency": 3600,
        "workload_validation_db_metrics_config": {
          "hana_db_user": "system",
          "sid": "DEH",
          "hana_db_password": "TempPa55word",
          "hostname": "localhost",
          "port": "30015"
        },
        "collect_process_metrics": false
      },
      "discovery_configuration": {
        "enable_discovery": true,
        "enable_workload_discovery": true
      },
      "hana_monitoring_configuration": {
        "enabled": false
      }
    }

SAP 用エージェントでサポートされている構成パラメータについては、構成パラメータをご覧ください。

次のステップ