SAP NetWeaver 運用ガイド

このガイドでは、Compute Engine 上で実行中の SAP NetWeaver システムのための IT 運用を管理する方法の概要を説明します。SAP NetWeaver プロダクトの管理の詳細についての説明はありません。Google Cloud では、SAP NetWeaver アプリケーション サーバーの ABAP と Java、およびこれらのアプリケーション サーバー スタックをベースとする SAP プロダクトの実行が保証されています。

Compute Engine の VM インスタンスの管理

このセクションでは、システムの起動、停止、クローン作成に関する情報など、Compute Engine 上で SAP NetWeaver を操作するのに通常必要となる管理タスクの実行方法について説明します。

VM のライフタイムの管理

このセクションでは、Compute Engine VM の実行状態を管理する方法について説明します。

VM の可用性を維持する

Compute Engine では、インフラストラクチャに関連する特定のイベント時の VM の動作を決定する可用性に関するポリシーが用意されています。SAP NetWeaver の実装環境における VM インスタンスでは、次の機能を無効にしないことが重要です。

  • ライブ マイグレーション。インフラストラクチャの保守イベントに対応する際も、Compute Engine はインスタンスを実行し続けることができます。
  • 自動再起動。インスタンスがクラッシュした場合に Compute Engine がインスタンスを再起動できるようにします。SAP システムは自動的に再起動されないのでご注意ください。

VM を停止する

SAP NetWeaver のホストは台数を問わずいつでも停止できます。VM インスタンスを停止すると、そのインスタンスがシャットダウンされます。シャットダウンが 2 分以内に完了しない場合、インスタンスは強制停止されます。SAP NetWeaver を停止してからインスタンスを停止することをおすすめします。

VM を停止すると、Compute Engine は ACPI 電源オフ信号を VM インスタンスに送信します。停止後は、その VM インスタンスに対する請求は行われません。

VM に永続ディスクが接続されている場合、それらのディスクは削除されず、引き続き課金されます。永続ディスクのデータが重要である場合は、次のいずれかを実行できます。

  • ディスクを保持する。
  • 永続ディスクのスナップショットを作成してからディスクを削除する。このオプションを選択すると、コスト削減になります。スナップショットから別のディスクを作成するには、データをもう一度作成します。

VM を停止するには:

  1. Google Cloud Console で、次の場所に移動します。

    [VM インスタンス] ページ

  2. 停止するインスタンスを選択します。インスタンスは複数選択できます。

  3. [VM インスタンス] ページの上部で、 [停止] をクリックします。

代替手段や詳細については、インスタンスの停止をご覧ください。

VM の再起動

VM を再起動するには:

  1. Cloud Console で、次の場所に移動します。

    [VM インスタンス] ページ

  2. 再起動するインスタンスを選択します。

  3. ページの右上にある [開始] をクリックします。

その他の方法と詳細については、インスタンスを再起動するをご覧ください。

VM の変更

VM のデプロイ後に、VM の種類など、VM のさまざまな属性を変更できます。変更の内容によって、SAP システムをバックアップから復元する必要がある場合や、VM の再起動のみを行う必要がある場合があります。

詳細については、SAP システムの VM 構成の変更をご覧ください。

システムの状態の取得

このセクションでは、システムの状態保存が必要なシナリオと、そのために使用できる Compute Engine の機能について説明します。

スナップショットの使用

永続ディスクのスナップショットを任意のタイミングで作成し、特定時点でのディスクの状態のコピーを生成できます。Compute Engine は、各スナップショットの複数のコピーを複数のロケーションに保存し、データの一貫性を確保するために自動チェックサムを使用します。

スナップショットは、次のユースケースに役立ちます。

ユースケース 詳細
別の種類のストレージに移行する スナップショットを使用して、永続ディスクを standard または SSD のディスクタイプから別のディスクタイプに移動できます。Compute Engine のドキュメントのスナップショットを別のディスクタイプに復元するをご覧ください。
SAP NetWeaver を別のゾーンに移行する スナップショットを使用して、SAP NetWeaver システムをあるゾーンから同じリージョン内の別のゾーンに、またはあるリージョンから別のリージョンに移行できます。リージョン間やゾーン間での VM の移行をご覧ください。
ソフトウェアに依存しない、コスト効率に優れたバックアップ ソリューションを提供する スナップショットを使用して、接続されている永続ディスクをバックアップします。ルートディスクと SAP NetWeaver がインストールされているバイナリをバックアップできます。
スナップショットは、データベース システムのバックアップを取得するために使用できます。ただし、実装環境によっては、別のアプローチを取る必要がある場合があります。データベースのバックアップと復元の方法については、データベースの運用にリストされているガイドをご覧ください。

一貫性のあるスナップショットを取得するには、SAP NetWeaver を停止するか、データベースによるファイルシステムへの書き込みを停止する必要があります。

スナップショットを作成するには、スナップショットの作成に記載されている Compute Engine の手順に従います。スナップショットの一貫性を保つために、ディスク バッファからディスクにフラッシュするなどの準備手順には十分に注意してください。

SAP NetWeaver システムのクローニング

Google Cloud に SAP NetWeaver システムをクローニングするには、SAP の標準のエクスポートとインポートの手順を実施します。

  1. Software Provisioning Manager(SWPM)を使用してソースシステムをエクスポートします。
  2. Cloud Storage バケットに、システムとデータベースのエクスポート データをコピーします。
  3. SWPM を使用して新しいターゲット システムを作成し、ソースシステムからエクスポートしたデータをインポートします。ターゲット システムで使用するファイル システムとして Cloud Storage バケットをマウントできます。

イメージを作成する

ブートディスクの状態を取得するには、カスタム イメージを作成します。イメージは、単一のソース VM に基づいて新しい VM インスタンスを作成するのに使用するという点でバックアップとは異なります。

SAP NetWeaver on Google Cloud デプロイメント ガイドの手順に沿って行うと、デプロイ ステップの最後には、1 つ以上のイメージが作成されているはずです。ただし、SAP NetWeaver バイナリのアップデートのインストールや SAP NetWeaver バージョンのアップグレードといった重要な変更をシステムに加えた後には、新しいイメージを作成することをおすすめします。

手順については、次をご覧ください。

リージョン間やゾーン間での VM の移動

Compute Engine を使用すると、同じリージョン内のゾーン間や異なるリージョン内のゾーン間で VM を移動できます。たとえば、新しいリージョンやゾーンが使用できるようになってパフォーマンスが向上する場合や、ゾーンが廃止されたりした場合に VM を移動できます。

Compute Engine のドキュメントには、VM を別のゾーンに移動する方法の詳細な手順が含まれています。

SAP NetWeaver における考慮事項は次のとおりです。

  • マシンタイプの制限により、SAP は特定のゾーンでしか実行できません。詳しくは、SAP NetWeaver on Google Cloud プランニング ガイドをご覧ください。
  • VM を移行すると、VM の ID が変更されます。この変更により SAP HW キーが変更されるため、新しい SAP ライセンスをインポートする必要があります。
  • 新しいゾーンで同じホスト名がまだ使用されていない場合は、ホスト名をそのまま使用できます。ホスト名が変更される場合は、SAP の SWPM の汎用操作機能を使用して、SAP NetWeaver のホスト名を変更する必要があります。

データベースの運用

このセクションでは、Google Cloud で次のデータベース サーバーを管理するためのリソースを提供します。

  • SAP HANA
  • SAP ASE
  • IBM DB2 for Linux、UNIX、Windows(IBM DB2)
  • Microsoft SQL Server

SAP HANA の運用

Google Cloud で SAP HANA を実行する方法について詳しくは、SAP HANA on Google Cloud オペレーション ガイドをご覧ください。このガイドでは、管理、バックアップと復元、セキュリティ、ネットワーキングといったさまざまなトピックについて説明します。

SAP ASE の運用

SAP ASE の使用について詳しくは、SAP Adaptive Server Enterprise をご覧ください。

IBM DB2 の運用

SAP での IBM DB2 の使用について詳しくは、Linux、UNIX、Windows 用 IBM DB2 上の SAP をご覧ください。

Microsoft SQL Server の運用

次のリソースでは、Google Cloud で Microsoft SQL Server を実行する方法の詳細を示します。

リソース 説明
Microsoft SQL Server のベスト プラクティス Microsoft SQL Server が Compute Engine 上で安定性とパフォーマンスを発揮するように構成する方法を学習します。

SAP システムのベスト プラクティスとは以下の点において重要な違いがあるので注意してください。


  • ローカル SSD ドライブを使用しないでください。永続ディスク SSD を代わりに使用します。
  • 並列クエリ処理の場合、最大並列度は 8 ではなく 1 に設定します。
  • 本番環境システムの Microsoft SQL Server データベースでは、トランザクション ログの設定を「FULL」にする必要があります。
  • バッファプール拡張機能を使用しないでください。
Compute Engine での Microsoft SQL Server のパフォーマンス調整 Compute Engine 上に Microsoft SQL サーバーを作成し、指標を使用してパフォーマンスを最適化する方法について説明します。
HammerDB を使用した Microsoft SQL Server の負荷テスト このチュートリアルでは、HammerDB を使用して Compute Engine の Microsoft SQL Server インスタンスに負荷テストを実施する方法を説明します。
Compute Engine 上の Microsoft SQL Server に対する障害復旧計画の作成 Google Cloud 上の Microsoft SQL Server に対して低コストな障害復旧ソリューションを実装する方法を示します。

IAM の運用

Google Cloud リソースへのアクセス制御は、デプロイメントのセキュリティ保護とオペレーションの重要な部分です。SAP は独自のユーザー管理システムを提供していますが、GCP の Identity and Access Management(IAM)では Google Cloud のリソースに対する権限を一元的に制御できます。誰がどのリソースにアクセスできるのかを定義することで、アクセス制御を管理できます。たとえば、VM、永続ディスク、ネットワークの作成や変更など、SAP インスタンスに対するコントロール プレーンの処理を実行できるユーザーを制御できます。

Compute Engine での IAM の概要については、アクセス制御オプションをご覧ください。

チームメンバーの管理

プロジェクトへのチームメンバーの追加または削除、チームメンバーの権限レベルの変更は、いつでも行えます。チームメンバーの管理方法について詳しくは、チームメンバーの追加、削除、権限の変更をご覧ください。

IAM のロールは、ユーザーに権限を付与する重要な機能です。ロールとそれによって付与される権限について詳しくは、Identity and Access Management のロールをご覧ください。

SSH 認証鍵の管理

デフォルトでは、Compute Engine は SSH 認証鍵を自動的に管理します。SSH 認証鍵を管理することにした場合は、通常の運用時に鍵の追加や削除をする必要があります。詳細な手順については、SSH 認証鍵の追加と削除をご覧ください。

サービス アカウントの管理

アプリケーションやサービスに権限を付与するときに IAM のサービス アカウントを使用できます。従って、Compute Engine 内でサービス アカウントがどのように機能するか理解しておく必要があります。

サービス アカウントが Compute Engine VM に割り当てられている場合、そのサービス アカウントはその VM で実行されるアプリケーションのデフォルトのサービス アカウントとなります。VM のサービス アカウントを使用するアプリケーションは、その VM サービス アカウントに付与されている IAM ロールと権限を継承します。

詳細については、Google Cloud 上での SAP プログラム向け Identity and Access Management をご覧ください。

Cloud Logging を使用する

Cloud Logging は、システム全体のロギング用の Google Cloud ソリューションです。Cloud Logging を使用すると、ログデータやイベントの保存、検索、分析、モニタリング、アラートを実行できます。Cloud Logging を使用するには、各 VM に Cloud Logging エージェントがインストールされている必要があります。

エージェントがインストールされていない場合は、すぐにインストールできます。エージェントのインストールをご覧ください。

サポートされているログについ詳しくは、Compute Engine のログをご覧ください。

アクセス制御

Cloud Logging では、ログとログ操作に対して詳細なアクセス制御が可能です。詳しくは、アクセス制御ガイドをご覧ください。

監査ログ

Cloud 監査ログは、GCP で発生したアクティビティに関する重要な情報を、管理アクティビティデータアクセスの 2 種類のログを通して提供します。 Cloud Console では、アクティビティ フィードとログビューアを表示できます。

SAP NetWeaver 用の Google Cloud モニタリング エージェント

SAP NetWeaver には、システム パフォーマンスの分析、問題の早期発見、診断などの作業を行うために、システム全体のコンポーネントやアクティビティに関するデータを 1 か所で収集するモニタリング システムが用意されています。Google Cloud には、メトリック、イベント、メタデータを収集するために、独自のモニタリング システムである Cloud Monitoring が用意されています。Google Cloud 上に SAP NetWeaver を実装して運用する際、サポート担当者にとって、2 つのばらばらなシステムを使用して実際の問題が存在する場所を特定することは、困難な作業となる可能性があります。より簡単に作業できるよう、Google Cloud と SAP が協力して SAP NetWeaver 用の Google Cloud モニタリング エージェントを作成しました。

モニタリング エージェントによって収集された指標

SAP NetWeaver 用 Google Cloud モニタリング エージェントによって収集される指標は、SAP によって決定されます。エージェントが収集する指標の詳細については、SAP Note 2469354 をご覧ください。

モニタリング エージェントのライフサイクルを把握する

モニタリング オペレーションを管理するときは、SAP NetWeaver 用 Google Cloud モニタリング エージェントが行っている作業を把握しておくことをおすすめします。一般的な仕組みは次のとおりです。

  • Cloud Monitoring には、Google Cloud からメトリクス、イベント、メタデータを収集するローカル エージェントがあります。また、Compute Engine には、モニタリング機能を提供する API が用意されています。
  • デプロイメント内の各 VM は、SAP NetWeaver 用の Google Cloud モニタリングエージェントのインスタンスをホストしている必要があります。モニタリング エージェントは、Windows のサービスまたは Linux のプロセスとして実行されます。
  • SAP NetWeaver 用モニタリング エージェントは、Monitoring と Compute Engine API のモニタリング データを結合します。
  • SAP ホスト エージェントは、HTTP を介して Google のモニタリング エージェントにキャッシュ データの有無をポーリングします。指標を集計して報告し、SAP NetWeaver データベースに保存します。
  • 集計された指標は、SAP のトランザクション ST06 または SAPOSCOL コマンドライン インターフェースに表示されます。
  • ターミナル ウィンドウでコマンドを実行すると、Google Cloud モニタリング エージェントからデータを表示できます。

モニタリング エージェントをインストールすると、付属の起動スクリプトによって以下のタスクが実行されます。

  • 最新バージョンのモニタリング エージェントをダウンロードします。
  • OpenJDK ライブラリや SIGAR ライブラリなどの依存関係をダウンロードします。
  • Linux では、次のタスクを実行する 2 つの cron ジョブを root として作成します。

    • 指標エージェントが実行されているかどうかを監視し、必要に応じてエージェントを再起動します。
    • Google が指標エージェント プロバイダを更新したときにエージェントを更新します。
  • これらの cron エントリを表示するには、次を実行します。

    sudo su -
    crontab -l
    
  • Windows では、モニタリング システムは「GCP Metrics Provider」という名前の Windows サービスとして実行されます。このサービスは必要に応じて自動的に再起動されます。モニタリング システムは、1 日 1 回実行される Windows タスク スケジューラのタスクにも依存します。

Google Cloud モニタリング エージェントの Cloud API アクセス

Compute Engine では、すべての Cloud API に完全アクセス権を使用できるように VM インスタンスを構成し、インスタンス サービス アカウントの IAM 権限のみを使用して Google Cloud リソースへのアクセスを制御することをお勧めします。詳しくは、おすすめの方法をご覧ください。

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

  • Compute Engine: 読み取り専用
  • Stackdriver Monitoring API: 読み取り専用

外部 IP アドレスのない VM で SAP NetWeaver を実行している場合は、Google Cloud モニタリング エージェントが Google API とサービスにアクセスできるように、VM のサブネットで限定公開の Google アクセスを有効にする必要があります。

サブネットで限定公開の Google アクセスを有効にするには、限定公開の Google アクセスの構成をご覧ください。

Google Cloud モニタリング エージェントのインストール

インストール手順については、以下のデプロイメントのシナリオに該当するデプロイメント ガイドをご覧ください。

Google Cloud モニタリング エージェントの管理

このセクションでは、モニタリング エージェントを正しく動作させるための操作について説明します。

Google Cloud モニタリング エージェントが実行されているかを確認する

Google Cloud モニタリング エージェントは、ローカル HTTP サーバーです。モニタリング エージェントが実行されているかどうかは、サーバーからヘルスチェックをポーリングすることで確認できます。手順は次のとおりです。

Linux

  1. Cloud Console で Cloud Shell を開きます。

    Cloud Shell を開く

  2. モニタリング対象の VM インスタンスに接続します。VM への接続方法については、SAP NetWeaver on Linux デプロイメント ガイドをご覧ください。

  3. コマンド プロンプトで、次のコマンドを入力します。

    curl http://localhost:18181/health
    

Windows

  1. RDP を使用して、モニタリング対象の VM インスタンスに接続します。
  2. ブラウザで http://localhost:18181/health にアクセスします。

モニタリング エージェントが正常に機能している場合、ステータスは UP になります。例:

{"status":"UP","diskSpace":{"status":"UP","total":105552769024,"free":103920615424f,"threshold":10485760}}

モニタリング エージェントが実行されていない場合は、Google Cloud モニタリング エージェントの再起動をご覧ください。

SAP NetWeaver が指標を受け取っていることを確認する

Google Cloud モニタリング エージェントと SAP NetWeaver の間の接続が機能するかどうか確認するには、SAP NetWeaver ABAP システムにトランザクション ST06 を入力します。概要ペインで可用性と以下のフィールドの内容を確認し、SAP と Google モニタリング インフラストラクチャのエンドツーエンドの設定が正しいか調べます。

  • クラウド プロバイダ: "Google Cloud Platform"
  • 強化されたモニタリング アクセス: "TRUE"
  • 強化されたモニタリングの詳細: "ACTIVE"

Google Cloud モニタリング エージェントのデータ キャッシュを表示する

サーバーにポーリングすると、モニタリング エージェントの活動を表示できます。手順は次のとおりです。

Linux

  1. Cloud Console で Cloud Shell を開きます。

    Cloud Shell を開く

  2. モニタリング対象の VM インスタンスに接続します。

  3. コマンド プロンプトで、次のコマンドを入力します。

    curl http://localhost:18181
    

Windows

  1. RDP を使用して、モニタリング対象の VM インスタンスに接続します。
  2. ブラウザで http://localhost:18181 にアクセスします。

モニタリング エージェントからの出力がターミナル ウィンドウに記録されます。出力の例を次に示します。

<metric category="config" context="host" type="string" unit="none" last-refresh="1491828854808" refresh-interval="0"><name>Hardware Model</name><value>Google</value></metric>

Google Cloud モニタリング エージェントを再起動する

モニタリング エージェントが機能しなくなった場合は、以下のステップに従って再起動してください。

Linux

Linux でエージェントを再起動するには、/opt/gcpmetricsprovider に移動して、次のコマンドを実行します。

nohup jdk1.8.0_25/jre/bin/java -Djava.library.path="/opt/gcpmetricsprovider/sigar-bin/lib/" -jar ./gcpmetricsprovider-1.0-SNAPSHOT.jar >> provider.log&

このコマンドは、エージェントをバックグラウンド ジョブとして起動します。

Windows

モニタリング エージェントのログ(C:\Program Files\Google\GCP Metrics Provider\Logs\gcp-metric-provider.log)をモニタリングして、潜在的な問題を監視します。

Windows では、エージェントは GCP Metrics Provider という名前の Windows サービスとして構成されます。このサービスは通常、エージェントが自動的に再起動するようにします。

Google Cloud における SAP NetWeaver のモニタリングに関するトラブルシューティング

このセクションでは、モニタリング エージェントが機能していない場合に調査すべき問題について説明します。

ファイアウォールがネットワークへのアクセスをブロックする

SAP NetWeaver 用 Google Cloud モニタリング エージェントは、通信プロトコルとして HTTP を使用し、特定のポートを介してネットワークにアクセスする必要があります。エージェントが機能しない場合は、次の手順を行います。

  1. Google Cloud Console で、ファイアウォール ルールに移動します。

    [ファイアウォール ルール] ページに移動

  2. 新しいルールを作成するか、既存のルールを編集してポート 18181 を開きます。

Windows ベースのシステムでは、Windows ファイアウォールがモニタリング エージェントによるポートの使用もブロックしないようにしてください。

メモリ不足の状態

エージェントの使用可能なログを確認してください。

  • Linux の場合: /var/log/gcp-metric-provider/gcp-metric-provider.log
  • Windows の場合: C:\Program Files\Google\GCP Metrics Provider\Logs\gcp-metric-provider.log

ログに OutOfMemoryError エントリが含まれている場合は、エージェントを再起動してください。

十分な IAM 権限がない

Google Cloud モニタリング エージェントは、ホスト VM のサービス アカウントを使用して、Cloud Monitoring の指標を取得します。そのため、モニタリング エージェントは、ホスト VM にサービス アカウントがあり、そのサービス アカウントに事前定義されたモニタリング閲覧者のロールに含まれる monitoring.timeSeries.list 権限が含まれている必要があります。

Cloud Monitoring エージェントをインストールする場合は、事前定義された Monitoring 指標の書き込みロールなど、追加の IAM 権限を VM サービス アカウントに付与する必要があります。モニタリング エージェントに必要な権限を確認するには、Cloud Monitoring のドキュメントをご覧ください。

VM サービス アカウントのアクセス スコープが間違っている

アクセス スコープは、インスタンスの権限を指定するレガシーな方法です。

インスタンスで完全な cloud-platform アクセス スコープを設定し、IAM ロールを使用してサービス アカウントの API アクセス権を安全に制限することをおすすめします。例:

  • 'https://www.googleapis.com/auth/cloud-platform`

VM のアクセス スコープを制限する場合は、ホスト VM に次のアクセス スコープがあることを確認してください。

  • https://www.googleapis.com/auth/source.read_write
  • https://www.googleapis.com/auth/compute
  • https://www.googleapis.com/auth/servicecontrol
  • https://www.googleapis.com/auth/service.management.readonly
  • https://www.googleapis.com/auth/logging.admin
  • https://www.googleapis.com/auth/monitoring
  • https://www.googleapis.com/auth/trace.append
  • https://www.googleapis.com/auth/devstorage.full_control

アクセス スコープを変更するには、VM インスタンスを停止して変更を加え、それからインスタンスを再起動する必要があります。手順については、Compute Engine のドキュメントをご覧ください。この問題においては、IAM ロールの権限を変更する必要はありません。

SAP Host Agent が見つからないか間違っている

モニタリング システムを機能させるには、SAP NetWeaver システムに SAP Host Agent がインストールされており、Host Agent の最小限のパッチレベルが当たっている必要があります。SAP Host Agent のインストール手順については、SAP のドキュメントをご覧ください。

SAP Host Agent のバージョン要件については、以下の SAP Note をご覧ください。

VM がインターネットに公開されない

SAP NetWeaver 用の Google Cloud モニタリング エージェントを実行している VM がパブリック IP アドレスを指定せずに作成された場合、モニタリング エージェントをダウンロードできません。VM にインターネットへの送信アクセスを可能にする NAT ゲートウェイの構成方法については、ご使用のオペレーティング システムの SAP NetWeaver デプロイメント ガイドをご覧ください。

ポートが利用できない

Google Cloud モニタリング はポート 18181 でリクエストをリッスンします。このポートが使用可能でない場合は、モニタリング エージェントを起動できません。この場合、SAP Host Agent のログには Connection Refused エラーが表示されます。モニタリング エージェントがポート 18181 を使用できることを確認してください。別のサービスによってポート 18181 が使用されている場合は、そのサービスを再起動するか、別のポートを使用するように再度構成する必要があります。