SAP S/4HANA デプロイの概要

このドキュメントでは、Workload Manager のガイド付きデプロイ自動化ツールを使用してデプロイできる SAP S/4HANA システムの概要と、デプロイに関するその他の考慮事項について説明します。詳細については、 Google Cloudの SAP S/4HANA のリファレンス アーキテクチャをご覧ください。

SAP S/4HANA のデプロイ プロセス

次のリストは、Workload Manager がデプロイ プロセス中に完了するさまざまなタスクの概要を示しています。

  • プロジェクトで有効になっていない場合は、必要な API を有効にします。
  • デプロイに必要なインフラストラクチャを構成してプロビジョニングします。
  • VM でオペレーティング システムを構成します。
  • SAP S/4HANA をインストールします。
  • SAP HANA データベースの完全バックアップをファイルに実行します。
  • SAP HANA の高可用性、必要なロードバランサ、ヘルスチェック用に Pacemaker OS クラスタを構成します(HA のみ)。
  • 高可用性のために SAP HANA システム レプリケーション(HSR)を有効にします。
  • SAP アプリケーションの高可用性、必要なロードバランサ、ヘルスチェック用に Pacemaker OS クラスタを構成します。
  • 選択した SAP アプリケーションをインストールします。
  • SAP HANA データベースとインストールされている SAP アプリケーションを起動します。
  • VM に次の必要なエージェントをインストールします。
    • Google Cloudの SAP 用エージェント
    • SAP Host Agent

デプロイが正常に完了すると、空の(「グリーンフィールド」)SAP S/4HANA システムが生成されます。デプロイが成功した後の次のステップの詳細については、SAP S/4HANA のデプロイ後のタスクをご覧ください。

Google Cloud コンソールを使用してデプロイする

Google Cloud コンソールを使用してワークロードをデプロイする場合、Workload Manager は、Terraform スクリプトと Ansible スクリプトの実行やリソースのプロビジョニングなど、エンドツーエンドのデプロイを自動的に処理します。また、デプロイ プロセスで使用されるすべての基盤となるファイルにもアクセスできます。

Workload Manager は、Infrastructure Manager を使用してデプロイ プロセスを自動化します。Infrastructure Manager は、Cloud Build を使用して Terraform を初期化し、他の Terraform コマンドを実行します。Cloud Build は、Terraform ファイルと Terraform 状態ファイルを Cloud Storage バケットに保存します。

Infrastructure Manager の詳細については、Infrastructure Manager の概要をご覧ください。

Terraform は、SAP ワークロードに必要な Compute Engine リソースに加えて、デプロイ内の他のリソースにアクセスできる Ansible Runner VM をデプロイします。Runner VM は、デプロイされたインフラストラクチャの詳細な構成(OS 構成、HA クラスタ構成、SAP アプリケーション インストール プロセスのオケストレーションなど)を実行する Ansible スクリプトを自動的に実行します。

SAP S/4HANA デプロイの概要アーキテクチャ

このセクションでは、Workload Manager のガイド付きデプロイ自動化ツールを使用して SAP S/4HANA をデプロイするときにデプロイされるシステムの概要について説明します。正確なアーキテクチャは、指定した構成と設定によって異なる場合があります。また、デプロイされたリソースがすべて図に含まれているわけではありません。

これらのリソースに加えて、プライマリ ゾーンに一時的な Ansible Runner VM もデプロイされます。この VM は、デプロイメント内の他のリソースにアクセスできます。Ansible Runner VM は、デプロイされたインフラストラクチャの追加構成(OS 構成、HA クラスタ構成、SAP アプリケーションのインストール プロセスのオケストレーションなど)を実行する Ansible スクリプトを自動的に実行します。

高可用性のある分散型

次の図は、特定のリージョンのコンポーネント障害から保護するために、ゾーンをまたがる Linux クラスタが設定されている高可用性分散デプロイを示しています。

HA で分散された SAP S/4HANA
HA アーキテクチャで分散された SAP S/4HANA

分散アーキテクチャ

次の図は、分散デプロイでの SAP S/4HANA のアーキテクチャを示しています。

SAP S/4HANA 分散
SAP S/4HANA 分散アーキテクチャ

SAP HANA ディスク レイアウト

次の図は、SAP HANA データベース ディスク レイアウトを示しています。これは、分散構成と高可用性構成の両方に適用されます。

 Google Cloud上の SAP HANA の推奨ディスク レイアウト

上記のディスク レイアウトで説明したディスクは、必要な SAP HANA ファイル システムの一部としてオペレーティング システムに直接マウントされます。これらのディスクは、LVM で作成された論理ボリュームの一部として使用されません。たとえば、df -h コマンドを実行すると、出力は次のようになります。

example-vm:~ # df -h | grep /dev/sd
    Filesystem                        Size  Used Avail Use% Mounted on
    /dev/sda3                          50G  4.3G   46G   9% /
    /dev/sda2                          20M  3.0M   17M  15% /boot/efi
    /dev/sda                           32G  293M   32G   1% /usr/sap
    /dev/sdc                          308G  164G  145G  54% /hana/data
    /dev/sdd                          128G   11G  118G   9% /hana/log
    /dev/sde                          256G   12G  245G   5% /hana/shared
    /dev/sdf                          256G   96G  161G  38% /hanabackup

デプロイ中に作成されたリソース

Workload Manager は、SAP S/4HANA のデプロイに次の Google Cloud API とサービスを使用します。

Compute Engine

VM インスタンス

SAP S/4HANA のデプロイには、次のコンポーネントの Compute Engine リソースが含まれています。これらのコンポーネントの VM を構成する場合は、S/4HANA のデプロイのサイジング要件を満たすように SAP によって認定されたマシンタイプのみを選択できます。

  • SAP HANA データベース
  • ASCS - ABAP SAP セントラル サービス
    • SAP ABAP システムで必要となる Message Server と Enqueue Server が含まれています。
    • HA デプロイの独自の VM インスタンスにデプロイするか、PAS をホストする VM インスタンスにデプロイします。
    • HA デプロイでは、ASCS リソースは Pacemaker などの Linux クラスタ リソース マネージャーによって管理されます。
  • ERS - Enqueue Replication Server または Enqueue Replicator
    • ASCS インスタンスに問題が発生した場合に備えてロックテーブルのレプリカを保持するために HA デプロイにデプロイされます。
    • Pacemaker などの Linux クラスタ リソース マネージャーによって管理されます。
  • PAS - プライマリ アプリケーション サーバー。
    • SAP システムの最初または唯一のアプリケーション サーバー。
  • AAS - 追加のアプリケーション サーバー。
    • 通常、アプリケーション レベルの負荷分散用にデプロイされます。アプリケーション レイヤで高可用性を実現するため、複数の AAS をインストールできます。いずれかのアプリケーション サーバーが停止した場合、そのアプリケーション サーバーに接続しているユーザー セッションはすべて終了しますが、ユーザーは環境内の他の AAS に再度ログインできます。
    • 高可用性構成では、アプリケーション サーバーはプライマリ ゾーンとセカンダリ ゾーンに均等に分割されます。

ストレージ オプション

Persistent Disk または Hyperdisk は、SAP S/4HANA デプロイの VM インスタンスにストレージ容量を提供するために使用されます。

各ボリュームのディスクサイズは、選択したマシンタイプとブロック ストレージ タイプに関する SAP S/4HANA のベスト プラクティスに従って自動的に計算されます。

次の表に、SAP S/4HANA デプロイで作成されるディスクを示します。

VM インスタンス: ディスク サポートされているタイプ*
HANA データベース boot SSD 永続ディスク
HANA データベース /hana/data バランス永続ディスク
SSD 永続ディスク
Hyperdisk Extreme
HANA データベース /hana/log バランス永続ディスク
SSD 永続ディスク
Hyperdisk Extreme
HANA データベース /hana/shared バランス永続ディスク
SSD 永続ディスク
HANA データベース /usr/sap バランス永続ディスク
SSD 永続ディスク
HANA データベース /hanabackup バランス永続ディスク
SSD 永続ディスク
ASCS / ERS boot SSD 永続ディスク
ASCS / ERS /usr/sap バランス永続ディスク
PAS/AAS boot SSD 永続ディスク
PAS/AAS /usr/sap バランス永続ディスク
PAS/AAS export-interfaces バランス永続ディスク

*SAP HANA データベースの場合は、選択したマシンタイプでサポートされている場合、Balanced Persistent Disk、SSD Persistent Disk、または Hyperdisk Extreme を選択できます。バランス永続ディスクまたは SSD 永続ディスクを選択した場合、デプロイメント内のすべてのディスクが選択したディスクタイプになります。Hyperdisk Extreme を選択した場合、/data ボリュームと /log ボリュームのみが Hyperdisk Extreme を使用し、他のディスク ボリュームは SSD Persistent Disk を使用します。

ネットワーキング

共有 VPC

ホスト プロジェクトの共有 VPC は、サービス プロジェクトのデプロイに使用できます。共有 VPC を選択すると、ホスト プロジェクトに次のネットワーク リソースが作成されます。

  • ファイアウォール ルール
  • ネットワーク Filestore インスタンス
  • 転送ルール

ファイアウォール ルール

デプロイ プロセス中に、Workload Manager はデプロイ内の VM 間で必要な通信を許可するファイアウォール ルールを自動的に作成します。高可用性構成では、これらのファイアウォール ルールにより、指定されたサブネットワークに作成されたロードバランサでヘルスチェックを実行するためのアクセスも提供されます。

Workload Manager は、次のファイアウォール ルールを作成します。

  • DEPLOYMENT_NAME-communication-firewall: デプロイ内の VM インスタンス間の通信を有効にします。
  • Ilb-firewall-ascs-DEPLOYMENT_NAME または Ilb-firewall-ers-DEPLOYMENT_NAME: 高可用性構成のみ。ASCS または ERS のフェイルオーバーで使用されるヘルスチェックを有効にします。
  • Ilb-firewall-db-DEPLOYMENT_NAME: 高可用性構成の場合のみ。SAP HANA データベースのフェイルオーバーで使用されるヘルスチェックを有効にします。

共有 VPC 構成を使用する場合、これらのファイアウォール ルールは、共有されるネットワークがホストされているホスト プロジェクトで作成されます。

ロードバランサと転送ルール

高可用性構成では、次のロードバランサと転送ルールが作成されます。

  • DEPLOYMENT_NAME-ascs-service
    • DEPLOYMENT_NAME-ascs-forwarding-rule
  • DEPLOYMENT_NAME-db-service
    • DEPLOYMENT_NAME-db-forwarding-rule
  • DEPLOYMENT_NAME-ers-service
    • DEPLOYMENT_NAME-ers-forwarding-rule

DNS ゾーン

構成プロセス中に Workload Manager を選択して、デプロイ用の Cloud DNS ゾーンを作成できます。または、構成時に DNS ゾーンの作成をスキップし、後で DNS ゾーンを手動で設定します。

Workload Manager は、次の名前でゾーンと DNS を作成します。

  • ゾーン名: DEPLOYMENT_NAME
  • DNS 名: DEPLOYMENT_NAME-gcp.sapcloud.goog

Workload Manager は、デプロイメント内の各 VM に必要な DNS レコードセットを追加します。

共有 VPC 構成を使用する場合、DNS 関連の構成と設定はサービス プロジェクトで行われます。

Filestore

Filestore Enterprise は、高パフォーマンスのフルマネージド NFS ファイル ストレージであり、構成プロセス中に指定されたネットワークに接続されます。ASCS インスタンスと ERS インスタンスでは、転送ファイル、/usr/sap/SID/ascs ディレクトリ、/usr/sap/SID/ers ディレクトリに使用されます。アプリケーション サーバーでは、sapmnt/SID ディレクトリに使用されます。

共有 VPC 構成を使用する場合、Filestore Enterprise インスタンスはホスト プロジェクトに作成されます。

セキュリティ上の考慮事項

このセクションでは、 Google Cloudのデプロイを保護するために Workload Manager が対処するセキュリティの考慮事項について説明します。

サービス アカウントと権限

構成プロセスで、ワークロードのデプロイ時に認証に使用するサービス アカウントを指定する必要があります。Workload Manager は、このサービス アカウントの権限と認証情報を使用して、デプロイで使用される他の API とサービスを呼び出します。 Google Cloud サービス アカウントを選択すると、Workload Manager は、接続された IAM ロールを自動的に評価し、システムのデプロイに必要な権限があるかどうかを判断します。ロールがない場合は、必要な権限がある場合に、不足しているロールを付与するよう求められます。

SAP S/4HANA システムのデプロイに使用されるサービス アカウントには、次のロールが必要です。また、カスタムロールを作成して、デプロイ プロセス中に必要な個々の権限を割り当てることもできます。必要な権限は例示のみを目的としています。具体的な権限は、選択した構成とプロジェクトの構成によって異なる場合があります。

必要な IAM ロール ユースケース 必要な権限
アクションの閲覧者 プロジェクトが有効であり、サービス アカウントにリソースにアクセスするために必要な権限があることを確認するために必要です。 resourcemanager.projects.get
Cloud Filestore 編集者 デプロイメントに接続されている Filestore Enterprise 共有ストレージ ボリュームの作成と管理に必要な権限。 file.instances.create
file.instances.delete
file.instances.get
file.operations.get
Cloud Infrastructure Manager エージェント Google Cloud コンソールを使用してデプロイするときにインフラストラクチャのデプロイに使用される Infrastructure Manager サービスに必要です。 config.deployments.getLock
config.deployments.getState
config.deployments.updateState
logging.logEntries.create
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
Compute 管理者
デプロイ用に作成されたすべてのコンピューティング リソースの作成と管理に必要な権限
compute.addresses.createInternal
compute.addresses.deleteInternal
compute.addresses.get
compute.addresses.useInternal
compute.disks.create
compute.disks.delete
compute.disks.get
compute.disks.setLabels
compute.disks.use
compute.firewalls.create
compute.firewalls.delete
compute.firewalls.get
compute.forwardingRules.create
compute.forwardingRules.delete
compute.forwardingRules.get
compute.forwardingRules.setLabels
compute.globalOperations.get
compute.healthChecks.create
compute.healthChecks.delete
compute.healthChecks.get
compute.healthChecks.useReadOnly
compute.instanceGroups.create
compute.instanceGroups.delete
compute.instanceGroups.get
compute.instanceGroups.update
compute.instanceGroups.use
compute.instances.create
compute.instances.delete
compute.instances.get
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setServiceAccount
compute.instances.setTags
compute.instances.use
compute.networks.get
compute.networks.updatePolicy
compute.regionBackendServices.create
compute.regionBackendServices.delete
compute.regionBackendServices.get
compute.regionBackendServices.use
compute.regionOperations.get
compute.subnetworks.get
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zoneOperations.get
compute.zones.get
resourcemanager.projects.get
serviceusage.services.list
DNS 管理者
DNS ゾーンの作成と必要なレコードセットの作成に必要な権限。
compute.networks.get
dns.changes.create
dns.changes.get
dns.managedZones.create
dns.managedZones.delete
dns.managedZones.get
dns.networks.bindPrivateDNSZone
dns.resourceRecordSets.create
dns.resourceRecordSets.delete
dns.resourceRecordSets.list
dns.resourceRecordSets.update
resourcemanager.projects.get

プロジェクト IAM 管理者
デプロイの各レイヤ用に作成されたサービス アカウントに IAM ロールを割り当てる権限
resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.setIamPolicy

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

デプロイの各レイヤ用に作成されたサービス アカウントの作成と管理に必要な権限。

iam.serviceAccounts.create

iam.serviceAccounts.delete

iam.serviceAccounts.get

iam.serviceAccounts.getIamPolicy

iam.serviceAccounts.list

iam.serviceAccounts.setIamPolicy

resourcemanager.projects.get

サービス アカウント ユーザー

選択したサービス アカウントが、他のプロダクトやサービスを呼び出すときにサービス アカウントとして機能できるようにするには必須
iam.serviceAccounts.actAs
iam.serviceAccounts.get
iam.serviceAccounts.list
resourcemanager.projects.get
Service Usage 管理者 必要な API のステータスを確認する権限と、必要に応じて API を有効にする権限。 Serviceusage.services.list
serviceusage.services.enable
ストレージ管理者 Cloud Storage にアップロードされた SAP インストール メディア ファイルにアクセスして使用するのに必要な権限。 resourcemanager.projects.get
storage.buckets.getIamPolicy
storage.objects.get
storage.objects.getIamPolicy
storage.objects.list

共有 VPC 構成を使用する場合、サービス プロジェクトで必要な上記のロールに追加して、ホスト プロジェクトで次の IAM 権限が必要になることがあります。

  • compute.firewalls.create
  • compute.firewalls.delete
  • compute.firewalls.get
  • compute.globalOperations.get
  • compute.networks.get
  • compute.networks.updatePolicy
  • compute.subnetworks.get
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • dns.networks.bindPrivateDNSZone
  • file.instances.create
  • file.instances.delete
  • file.instances.get
  • file.operations.get

Workload Manager を使用して、デプロイの各レイヤに次のサービス アカウントを作成できます。Workload Manager は、デプロイメントでのロールに必要な権限のみをこれらのサービス アカウントに提供します。または、デプロイの各レイヤに必要な IAM 権限を持つ既存のサービス アカウントを選択することもできます。

サービス アカウント: サービス アカウントのメールアドレス 割り当てられた IAM ロール
Ansible Runner VM DEPLOYMENT_NAME-ansible@PROJECT_ID.iam.gserviceaccount.com
Compute インスタンス管理者(v1)
Compute 閲覧者
DNS 管理者
Logging 管理者
Monitoring 管理者
ロール閲覧者
Secret Manager シークレット アクセサー
Secret Manager 閲覧者
サービス アカウント ユーザー
ストレージ オブジェクト閲覧者
Workload Manager Insights 書き込み
SAP ASCS / ERS VM DEPLOYMENT_NAME-ascs@PROJECT_ID.iam.gserviceaccount.com Compute インスタンス管理者(v1)
Compute 閲覧者
Logging 管理者
Monitoring 管理者
Monitoring 指標の書き込み
ストレージ オブジェクト閲覧者
Workload Manager Insights ライター
アプリケーション VM DEPLOYMENT_NAME-app@PROJECT_ID.iam.gserviceaccount.com Compute 閲覧者
ログ管理者
Monitoring 管理者
Monitoring 指標の書き込み
Storage オブジェクト閲覧者
Workload Manager Insights ライター
データベース VM DEPLOYMENT_NAME-db@PROJECT_ID.iam.gserviceaccount.com
Compute インスタンス管理者(v1)
Compute 閲覧者
Logging 管理者
Monitoring 管理者
Monitoring 指標の書き込み
ストレージ オブジェクト閲覧者
Workload Manager Insights 書き込み

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

  • DEPLOYMENT_NAME: SAP デプロイの名前。
  • PROJECT_ID: デプロイメントを作成する Google Cloud プロジェクトの ID。

Google Cloudで SAP を実行するための IAM と権限の詳細については、 Google Cloud上の SAP プログラムの Identity and Access Management をご覧ください。

SAP データベースとアプリケーションのユーザー認証情報

Workload Manager は、Secret Manager を使用して、管理者アカウントと SYSTEM ユーザー アカウントのパスワードなどの SAP システムの認証情報を保存します。パスワードを安全に提供するには、シークレットを作成して、デプロイ プロセスで使用する必要があります。データベース レイヤとアプリケーション レイヤの認証情報を保存するために、個別のシークレットを作成できます。SAP HANA に提供されたシークレットは、次のユーザーの初期パスワードとして使用されます。

  • システム データベース:
    • SYSTEM
    • SERVICE_BACKUP
    • DBACOCKPIT
  • HANA テナント データベース:
    • SYSTEM
    • SERVICE_BACKUP
  • S/4HANA テナント データベース:
    • SYSTEM
    • SAPDBCTRL
    • DBACOCKPIT
    • SAPHANADB

アプリケーション認証情報は、クライアント 000 内の次のユーザーに使用されます。

  • DDIC
  • SAP*

デプロイが正常に完了したら、これらのユーザーのパスワードを変更するか、新しいパスワードを割り当てることができます。

必要な API

SAP S/4HANA ワークロードをデプロイするには、次の API とサービスが必要です。デプロイ プロセス中に、デプロイに使用しているサービス アカウントに必要な権限がある場合、これらの API は Terraform によって自動的に有効になります。お客様にはこれらの各サービスの利用規約が適用され、デプロイ後にソリューションで使用すると課金が発生するようになります。

  • Resource Manager API: プロジェクトのリソースを管理します。
  • Compute Engine API: デプロイ用の VM を作成して管理します。
  • Cloud DNS API: デプロイメントの DNS ゾーンを作成します。
  • Filestore API: ファイル サーバーの作成と管理。 Google Cloud
  • Service Account Credentials API: Google Cloudでサービス アカウントの認証情報を作成します。
  • Secret Manager API: アプリケーションとデータベースのパスワードを保存するシークレットを作成して管理します。
  • Service Usage API: デプロイに必要なサービスを有効にします。 Google Cloud

サポートの利用

Google Cloud での SAP の使用に関するサポートを利用するをご覧ください。

次のステップ