このドキュメントでは、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 クラスタが設定されている高可用性分散デプロイを示しています。

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

SAP HANA ディスク レイアウト
次の図は、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 の使用に関するサポートを利用するをご覧ください。
次のステップ
- SAP S/4HANA システムのデプロイの前提条件を確認します。
- SAP S/4HANA ワークロードをデプロイする方法を学習する。