SAP NetWeaver 用 Oracle Database をデプロイする

このデプロイガイドでは、 Google Cloudで SAP NetWeaver ベースのアプリケーションで使用するために、Oracle Linux で Oracle Database を実行するために必要なリソースをプロビジョニングする方法について説明します。

この実装の計画については、SAP NetWeaver 用 Oracle Database の実装を計画するをご覧ください。

始める前に

  1. SAP NetWeaver 用 Oracle データベースの実装を計画するをご覧ください。
  2. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Install the Google Cloud CLI.
  10. To initialize the gcloud CLI, run the following command:

    gcloud init
  11. データ所在地、アクセス制御、サポート担当者、規制要件に準拠しながら SAP ワークロードを実行する必要がある場合は、必要な Assured Workloads フォルダを作成する必要があります。詳細については、SAP のコンプライアンスと主権管理 Google Cloudをご覧ください。
  12. Oracle Database インストール メディアにアクセスできることを確認します。

VPC ネットワークの作成

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

プロジェクトにデフォルトの VPC ネットワークがある場合、デフォルトは使用せず、明示的に作成したファイアウォール ルールが唯一の有効なルールとなるように、独自の VPC ネットワークを作成してください。

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

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

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークを作成] をクリックします。
  3. ネットワークの名前を入力します。

    命名規則に従って名前を付けてください。VPC ネットワークは、Compute Engine の命名規則を使用します。

  4. [サブネット作成モード] で [カスタム] をクリックします。
  5. [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。
    1. サブネットの名前を入力します。
    2. [リージョン] で、サブネットを作成する Compute Engine のリージョンを選択します。
    3. [IP スタックタイプ] で [IPv4(シングルスタック)] を選択し、CIDR 形式で IP アドレス範囲を入力します。(10.1.0.0/24 など)

      これはサブネットのプライマリ IPv4 範囲です。複数のサブネットワークを追加する場合は、ネットワーク内の各サブネットワークに重複しない CIDR IP 範囲を割り当ててください。各サブネットワークとその内部 IP 範囲は、単一のリージョンにマッピングされることに注意してください。

    4. [完了] をクリックします。
  6. さらにサブネットを追加するには、[サブネットを追加] をクリックして前の手順を繰り返します。ネットワークを作成した後で、ネットワークにさらにサブネットを追加できます。
  7. [作成] をクリックします。

gcloud

  1. Cloud Shell に移動します。

    Cloud Shell に移動

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

    NETWORK_NAME は、新しいネットワークの名前に置き換えます。命名規則に従って名前を付けてください。VPC ネットワークは、Compute Engine の命名規則を使用します。

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

  3. サブネットワークを作成し、リージョンと IP 範囲を指定します。
    gcloud compute networks subnets create SUBNETWORK_NAME \
        --network NETWORK_NAME --region REGION --range RANGE

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

    • SUBNETWORK_NAME: 新しいサブネットワークの名前
    • NETWORK_NAME: 前の手順で作成したサービスの名前
    • REGION: サブネットワークを配置するリージョン
    • RANGE: CIDR 形式で指定された IP アドレス範囲(例: 10.1.0.0/24)。

      複数のサブネットワークを追加する場合は、ネットワーク内の各サブネットワークに重複しない CIDR IP 範囲を割り当ててください。各サブネットワークとその内部 IP 範囲は、単一のリージョンにマッピングされることに注意してください。

  4. 必要に応じて前の手順を繰り返し、サブネットワークを追加します。

NAT ゲートウェイを設定する

パブリック IP アドレスなしで 1 台以上の VM を作成する必要がある場合は、ネットワーク アドレス変換(NAT)を使用して、VM がインターネットにアクセスできるようにする必要があります。Cloud NAT は、 Google Cloud VM からインターネットへのパケットの送信と、それに対応するパケットの受信を可能にする分散ソフトウェア定義マネージド サービスです。また、別個の VM を NAT ゲートウェイとして設定することもできます。

プロジェクトに Cloud NAT インスタンスを作成する方法については、Cloud NAT の使用をご覧ください。

プロジェクトに Cloud NAT を構成すると、VM インスタンスはパブリック IP アドレスなしでインターネットに安全にアクセスできるようになります。

Oracle Linux イメージを準備する

Oracle Database for SAP システムの実行に必要な Oracle Linux イメージを準備するには、イメージを Google Cloud プロジェクトにインポートし、必要なドライバをインストールする必要があります。

Oracle Linux イメージを準備する手順は次のとおりです。

  1. Oracle から、 Google Cloudで SAP NetWeaver ベースのアプリケーションで使用するために SAP によって認定されている Oracle Linux イメージをダウンロードします。

    SAP 認定 OS バージョンについては、サポートされているオペレーティング システムをご覧ください。

  2. イメージを Compute Engine イメージにインポートします。

  3. カスタム OS イメージを作成します。

    1. インポートしたイメージを使用して小規模な VM を作成し、インスタンス名を vm-ol-gvnic に設定します。

      方法については、カスタム イメージからインスタンスを作成するをご覧ください。

    2. SSH を使用してインスタンスに接続する。

    3. gve ドライバをインストールします。

      yum install kernel-uek-modules-extra.x86_64
      echo gve > /etc/modules-load.d/gve.conf
      
    4. インスタンスを停止します。

      方法については、Compute Engine インスタンスを停止または再起動するをご覧ください。

    5. コンピューティング インスタンスにアタッチされているディスクのデフォルトの自動削除動作を無効にします。これにより、コンピューティング インスタンスを削除してもブートディスクが削除されなくなります。

      gcloud compute instances set-disk-auto-delete vm-ol-gvnic \
         --no-auto-delete \
         --disk=vm-ol-gvnic
    6. ブートディスクの一時イメージを作成します。

      gcloud compute images create ol-uek-temp \
         --source-disk=vm-ol-gvnic \
         --source-disk-zone=ZONE \
         --storage-location=LOCATION
      

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

      • ZONE: ブートディスクがデプロイされているゾーン
      • LOCATION: 画像を保存する Cloud Storage のロケーション
    7. 作成した一時イメージを使用して、Google Virtual NIC(gVNIC)をサポートするブートディスク イメージを作成します。

      gcloud compute images create ol-uek-production \
         --source-image=ol-uek-temp \
         --source-image-project=PROJECT_ID \
         --guest-os-features="GVNIC" \
         --storage-location=LOCATION

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

      • PROJECT_ID: ソースイメージが存在する Google Cloud プロジェクトのプロジェクト ID
      • LOCATION: 画像を保存する Cloud Storage のロケーション
    8. gVNIC 対応のブートディスク イメージを除き、このセクションで作成した一時イメージと VM を削除します。

      gcloud compute images delete ol-uek-temp
      gcloud compute instances delete vm-ol-gvnic --zone=ZONE
      gcloud compute disks delete DISK_NAME --zone=ZONE
      

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

      • ZONE: ブートディスクがデプロイされているゾーン
      • DISK_NAME: 削除する一時 VM のブートディスクの名前

Oracle Database 用の Compute Engine インスタンスを作成する

Compute Engine インスタンスを作成するときに、マシンタイプ、インスタンスの作成先のリージョン、ストレージ用の追加ディスクなど、いくつかのオプションを指定できます。

Oracle Database の Compute Engine インスタンスを作成するには、次の操作を行います。

  1. Google Cloud コンソールで、Compute Engine の [イメージ] ページに移動します。

    [イメージ] に移動

  2. 前のセクションで準備した Oracle Linux イメージを選択し、[インスタンスを作成] をクリックします。

  3. [名前] フィールドに、インスタンスの名前を入力します。

    名前は最大 13 文字です。これは SAP でサポートされている最大文字数です。詳細については、SAP ノート 611361: SAP ABAP Platform サーバーのホスト名をご覧ください。

  4. [リージョン] フィールドと [ゾーン] フィールドで、インスタンスを作成するリージョンとゾーンを選択します。

    これらの選択を行う際は、内部リソースとユーザーのロケーション、使用するマシンタイプの可用性を考慮してください。リージョンとゾーンの選択については、リージョンとゾーンの計画をご覧ください。

  5. マシンタイプを、サポートされているマシンタイプに変更します。

    サポートされているマシンタイプとそれらの永続ディスクの制限については、SAP NetWeaver 用 Oracle Database の実装を計画するをご覧ください。

  6. [OS とストレージ] タブに移動します。

  7. Oracle データベース用の追加ディスクを作成します。ディスクをプロビジョニングする必要があるドライブについては、デプロイ アーキテクチャをご覧ください。

  8. ディスクを作成する手順は次のとおりです。

    1. [追加のストレージと VM のバックアップ] で、[新しいディスクを追加] をクリックします。
    2. [名前] フィールドに、ディスクの名前を入力します。
    3. [ディスク ストレージのタイプ] フィールドで、[空のディスク] を選択します。
    4. [ディスクタイプ] フィールドで、サポートされているディスクタイプを選択します。サポートされているディスクタイプについては、プランニング ガイドのブロック ストレージをご覧ください。
    5. [サイズ] フィールドに、パフォーマンス要件を満たす値を設定します。
    6. [保存] をクリックします。
    7. プロビジョニングするディスクごとに、上記の手順を繰り返します。
  9. [作成] をクリックします。

ディスク ドライブをフォーマットしてマウントする

  1. SSH を使用してコンピューティング インスタンスに接続します。
  2. コンピューティング インスタンスにアタッチした Hyperdisk ボリュームまたは Persistent Disk ボリュームが、インスタンスに高パフォーマンスのストレージを提供できる大きさであることを確認します。
  3. LVM を使用して、必要なすべてのドライブの論理ボリュームを持ったドライブをフォーマットしてマウントします。

ディスクドライブとそのグループ化の詳細については、デプロイ アーキテクチャをご覧ください。

OS を準備する

  1. SSH を使用して Compute Engine インスタンスに接続します。
  2. Oracle の推奨に従って、Transparent HugePages 機能が無効になっていることを確認します。

    確認する手順は次のとおりです。

    1. 次のコマンドを実行して、Transparent HugePages 機能が有効になっているかどうかを確認します。

      cat /sys/kernel/mm/transparent_hugepage/enabled
      
    2. Transparent HugePages 機能が有効になっている場合は、次のコマンドを実行して無効にします。

      ORIGINAL=$(grep GRUB_CMDLINE_LINUX /etc/default/grub)
      INSERT=" transparent_hugepage=never"
      TARGET=$(printf '%s\n' "$ORIGINAL" | sed -e "s/\"$/$INSERT&/")
      sed -i "s%^GRUB_CMDLINE_LINUX.*$%$TARGET%" /etc/default/grub
      grub2-mkconfig -o /boot/grub2/grub.cfg
      
    3. インスタンスを再起動します。方法については、インスタンスを再起動するをご覧ください。

    これらの機能に関する SAP の情報については、次の SAP ノートをご覧ください。

  3. Oracle Database の事前インストール RPM をインストールします。

    yum install oracle-database-preinstall-19c
    

    Oracle Linux 9 を使用している場合は、次のコマンドも実行します。

    yum in libxcrypt-compat
    

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

Google Cloudの SAP 用エージェントは、 Google Cloudで実行される SAP システム(SAP NetWeaver、SAP HANA、SAP ASE、SAP MaxDB など)の SAP サポートに必要です。

SAP Host Agent の指標の場合、Compute Engine インスタンスに Google Cloudの SAP 用エージェントをインストールすると、Cloud Monitoring と Compute Engine API のモニタリング データが結合され、そのデータが SAP Host Agent に提供されます。

Google Cloudが提供する次の「SAP 用」RHEL または SLES OS イメージを使用する場合、 Google Cloudの SAP 用エージェントは OS イメージに含まれています。

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

Google Cloudの SAP 用エージェントでサポートされているオペレーティング システムについては、サポートされているオペレーティング システムをご覧ください。

エージェントの前提条件

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

必要な IAM ロールを設定する

Google Cloudの SAP 用エージェントが使用するサービス アカウントには、少なくとも Compute 閲覧者(roles/compute.viewerモニタリング閲覧者(roles/monitoring.viewerWorkload Manager Insights ライター(roles/workloadmanager.insightWriterのロールを含める必要があります。

サービス アカウントに必要なロールを追加する手順は次のとおりです。

  1. Google Cloud コンソールの [IAM] ページに移動します。

    [IAM] に移動

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

  3. ロールを追加するサービス アカウントを特定します。

    • サービス アカウントがまだプリンシパル リストに含まれていない場合、サービス アカウントには何もロールが割り当てられていません。[追加] をクリックし、サービス アカウントのメールアドレスを入力します。
    • このサービス アカウントがすでにプリンシパル リストに含まれている場合、サービス アカウントには既存のロールがあります。編集するサービス アカウントの [編集] ボタンをクリックします。
  4. 使用可能なロールのリストから必要なロールを選択します。

    • Compute Engine > Compute 閲覧者
    • Monitoring > モニタリング閲覧者
    • Workload Manager > Workload Manager Insights ライター
  5. [追加] または [保存] をクリックして、サービス アカウントにロールを適用します。

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

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

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

  • Cloud Platform: 有効
  • Compute Engine: 読み取り専用
  • Stackdriver Monitoring API: 読み取り専用

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

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

Oracle Linux を使用する Compute Engine インスタンスに Google Cloudの SAP 用エージェントをインストールする手順は次のとおりです。

  1. コンピューティング インスタンスへの SSH 接続を確立します。

  2. エージェントのバージョン 3.6(最新)をインストールするには、次のコマンドを実行します。

    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

エージェントが実行されていることを確認する

エージェントの動作確認の手順は次のとおりです。

  1. Compute Engine インスタンスと 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

Oracle Database をインストールする

サポートを受ける

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

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

サポート要件

  • Oracle Linux ベースの Oracle データベースについて Oracle と SAP からサポートを受けるには、Oracle Linux プレミア サポートを購入していることを確認してください。
  • SAP システムと、そのシステムが使用するインフラストラクチャとサービスに対するサポートを受けるには、サポートプランの最小要件を満たす必要があります。 Google Cloud

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

    Oracle の SAP サポートについては、SAP Note 2799900 - Oracle Database 19c の中央技術ノートをご覧ください。