Questo documento fornisce una panoramica dei sistemi SAP S/4HANA che puoi implementare utilizzando lo strumento di automazione del deployment guidato in Workload Manager e ulteriori considerazioni per il deployment. Per ulteriori informazioni, consulta la architettura di riferimento di Google Cloudper SAP S/4HANA.
Procedura di deployment di SAP S/4HANA
L'elenco seguente fornisce una panoramica delle varie attività completate da Workload Manager durante il processo di implementazione:
- Abilita le API richieste, se non sono abilitate nel progetto.
- Configura e esegue il provisioning dell'infrastruttura richiesta per il deployment.
- Configura il sistema operativo sulle VM.
- Installa SAP S/4HANA.
- Esegue un backup completo del database SAP HANA in un file.
- Configura il cluster del sistema operativo Pacemaker per l'alta disponibilità di SAP HANA, i bilanciatori del carico richiesti e i controlli di integrità (solo HA)
- Consente la replica del sistema SAP HANA (HSR) per l'alta disponibilità.
- Configura il cluster del sistema operativo Pacemaker per l'alta disponibilità dell'applicazione SAP, i bilanciatori del carico richiesti e i controlli di integrità.
- Installa l'applicazione SAP selezionata.
- Avvia il database SAP HANA e l'applicazione SAP installata.
- Installa i seguenti agenti obbligatori sulle VM:
- Agente per SAP diGoogle Cloud
- Agente host SAP
L'output di un deployment riuscito è un sistema SAP S/4HANA vuoto ("greenfield"). Per ulteriori informazioni sui passaggi successivi dopo un deployment riuscito, consulta Attività di post-deployment per SAP S/4HANA.
Esegui il deployment utilizzando la console Google Cloud
Quando scegli di eseguire il deployment del tuo carico di lavoro utilizzando la console Google Cloud, Workload Manager gestisce automaticamente il deployment end-to-end, inclusa l'esecuzione di script Terraform e Ansible e il provisioning delle risorse. Hai anche accesso a tutti i file sottostanti utilizzati durante il processo di deployment.
Workload Manager utilizza Infrastructure Manager per automatizzare il processo di deployment. Infrastructure Manager utilizza Cloud Build per inizializzare Terraform ed eseguire altri comandi Terraform. Cloud Build archivia quindi i file Terraform e il file di stato Terraform in un bucket Cloud Storage.
Per scoprire di più su Infrastructure Manager, consulta la panoramica di Infrastructure Manager.
Oltre alle risorse Compute Engine necessarie per il tuo carico di lavoro SAP, Terraform esegue il deployment di una VM Ansible Runner che ha accesso ad altre risorse nel deployment. La VM Runner esegue automaticamente gli script Ansible che eseguono un'ulteriore configurazione dell'infrastruttura di cui è stato eseguito il deployment, inclusa la configurazione del sistema operativo, la configurazione del cluster HA e l'orchestrazione del processo di installazione dell'applicazione SAP.
Architettura di alto livello del deployment di SAP S/4HANA
Questa sezione fornisce una panoramica del sistema di cui viene eseguito il deployment quando si esegue il deployment di SAP S/4HANA utilizzando lo strumento di automazione del deployment guidato in Workload Manager. Tieni presente che l'architettura esatta potrebbe variare in base alla configurazione e alle impostazioni specificate e che non tutte le risorse di cui è stato eseguito il deployment sono incluse nelle figure.
Oltre a queste risorse, nella zona principale viene eseguita anche il deployment di una VM Ansible Runner temporanea che ha accesso ad altre risorse nel deployment. La VM Ansible Runner esegue automaticamente gli script Ansible che eseguono un'ulteriore configurazione dell'infrastruttura di cui è stato eseguito il deployment, inclusa la configurazione del sistema operativo, la configurazione del cluster HA e l'orchestrazione del processo di installazione dell'applicazione SAP.
Distribuito con disponibilità elevata
La figura seguente mostra un deployment distribuito con alta disponibilità in cui i cluster Linux sono configurati in più zone per proteggersi dai guasti dei componenti in una determinata regione.
Architettura distribuita
La figura seguente mostra l'architettura di SAP S/4HANA in un deployment distribuito.
Layout dei dischi SAP HANA
Il seguente diagramma mostra il layout del disco del database SAP HANA, che si applica sia alle configurazioni distribuite sia a quelle distribuite con alta disponibilità.
I dischi descritti nel layout precedente vengono montati direttamente nel sistema operativo come parte dei file system SAP HANA richiesti. Questi dischi non vengono utilizzati come parte dei volumi logici creati tramite LVM. Ad esempio, l'output è simile al seguente quando esegui il comando 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
Risorse create durante il deployment
Workload Manager utilizza le seguenti Google Cloud API e servizi per il deployment di SAP S/4HANA.
Compute Engine
Istanze VM
I deployment di SAP S/4HANA includono risorse Compute Engine per i seguenti componenti. Quando configuri le VM per questi componenti, puoi selezionare solo i tipi di macchine certificati da SAP in modo che corrispondano ai requisiti di dimensionamento per l'implementazione di S/4HANA.
- Database SAP HANA
- ASCS – ABAP SAP Central Services
- Contiene il server di messaggistica e il server di coda, obbligatori in qualsiasi sistema SAP ABAP.
- Eseguite il deployment su una propria istanza VM nei deployment HA o su un'istanza VM che ospita il PAS.
- Nei deployment HA, le risorse ASCS sono gestite da un gestore delle risorse del cluster Linux come Pacemaker.
- ERS: Enqueue Replication Server o Enqueue Replicator
- Viene eseguito il deployment nei deployment ad alta disponibilità per mantenere una replica della tabella delle chiavi in caso di problemi con l'istanza ASCS.
- Gestito da un gestore delle risorse del cluster Linux come Pacemaker.
- PAS: server di applicazioni principale.
- Il primo o l'unico server di applicazioni per il sistema SAP.
- AAS: server di applicazioni aggiuntivo.
- Di solito viene implementato per il bilanciamento del carico a livello di applicazione. Puoi installare più AAS per ottenere una maggiore disponibilità anche dal punto di vista del livello di applicazione. Se uno dei server delle applicazioni si arresta in modo anomalo, tutte le sessioni utente collegate a quel server vengono interrotte, ma gli utenti possono accedere di nuovo all'altro AAS nell'ambiente.
- Nelle configurazioni ad alta disponibilità, i server delle applicazioni sono suddivisi equamente tra le zone principali e secondarie.
Opzioni di archiviazione
I dischi permanenti o Hyperdisk vengono utilizzati per fornire capacità di archiviazione per le istanze VM nel deployment di SAP S/4HANA.
Le dimensioni dei dischi per ogni volume vengono calcolate automaticamente in conformità con le best practice per SAP S/4HANA per la macchina e i tipi di archiviazione a blocchi selezionati.
La tabella seguente mostra i dischi creati in un deployment SAP S/4HANA.
Istanza VM per: | Disco | Tipi supportati* |
---|---|---|
Database HANA | boot | Disco permanente SSD |
Database HANA | /hana/data |
Disco permanente bilanciato Disco permanente SSD Hyperdisk Extreme |
Database HANA | /hana/log |
Disco permanente bilanciato Disco permanente SSD Hyperdisk Extreme |
Database HANA | /hana/shared |
Disco permanente bilanciato Disco permanente SSD |
Database HANA | /usr/sap |
Disco permanente bilanciato Disco permanente SSD |
Database HANA | /hanabackup |
Disco permanente bilanciato Disco permanente SSD |
ASCS/ERS | boot | Disco permanente SSD |
ASCS/ERS | /usr/sap |
Disco permanente bilanciato |
PAS/AAS | boot | Disco permanente SSD |
PAS/AAS | /usr/sap |
Disco permanente bilanciato |
PAS/AAS | export-interfaces | Disco permanente bilanciato |
*Per il database SAP HANA, puoi selezionare Disco permanente equilibrato, Disco permanente SSD o Hyperdisk Extreme, se supportato per il tipo di macchina selezionato.
Se selezioni Disco permanente bilanciato o Disco permanente SSD, tutti i dischi nel deployment sono del tipo selezionato. Se selezioni Hyperdisk Extreme,
solo i volumi /data
e /log
utilizzeranno Hyperdisk Extreme, mentre gli altri volumi
dischi utilizzeranno SSD Persistent Disk.
Networking
VPC condiviso
Una VPC condivisa di un progetto host può essere utilizzata per il deployment in un progetto di servizio. Se selezioni VPC condiviso, nel progetto host vengono create le seguenti risorse di rete.
- Regole firewall
- L'istanza Filestore di rete
- Regole di forwarding
Regole firewall
Durante il processo di deployment, Workload Manager crea automaticamente le regole firewall per consentire la comunicazione necessaria tra le VM nel deployment. Nelle configurazioni ad alta disponibilità, queste regole firewall forniscono anche l'accesso per eseguire controlli di integrità sui bilanciatori del carico creati nella sottorete specificata.
Vengono create le seguenti regole firewall:
DEPLOYMENT_NAME-communication-firewall
: consente la comunicazione tra le istanze VM nel deployment.Ilb-firewall-ascs-DEPLOYMENT_NAME
oIlb-firewall-ers-DEPLOYMENT_NAME
: solo per configurazioni di alta disponibilità. Attiva i controlli di integrità utilizzati nel failover ASCS o ERS.Ilb-firewall-db-DEPLOYMENT_NAME
: solo per configurazioni ad alta disponibilità. Attiva i controlli di salute utilizzati nel failover del database SAP HANA.
Quando utilizzi una configurazione VPC condiviso, queste regole firewall vengono create nel progetto host in cui è ospitata la rete condivisa.
Bilanciatori del carico e regole di inoltro
Nelle configurazioni ad alta disponibilità, vengono creati i seguenti bilanciatori del carico e le seguenti regole di inoltro:
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
Cloud DNS
Zone DNS
Durante la procedura di configurazione, puoi scegliere di creare una nuova zona DNS per il deployment o selezionarne una esistente.
Se crei una nuova zona DNS, il nome della zona e il nome DNS sono i seguenti:
- Nome zona:
DEPLOYMENT_NAME
- Nome DNS:
DEPLOYMENT_NAME-gcp.sapcloud.goog
Indipendentemente dal fatto che tu crei una nuova zona o ne selezioni una esistente, i set di record DNS necessari vengono aggiunti per ogni VM.
Quando utilizzi una configurazione di VPC condiviso, la configurazione e la configurazione relativa al DNS vengono eseguite nel progetto di servizio.
Filestore
Filestore Enterprise
Filestore Enterprise è un'archiviazione di file NFS completamente gestita e ad alte prestazioni ed è collegata alla rete specificata durante la procedura di configurazione. Nelle istanze ASCS
e ERS, viene utilizzato per i file di trasporto, le directory /usr/sap/SID/ascs
e
/usr/sap/SID/ers
. Sui server delle applicazioni viene utilizzato per la directory sapmnt/SID
.
Quando utilizzi una configurazione di VPC condivisa, l'istanza Filestore Enterprise viene creata nel progetto host.
Considerazioni sulla sicurezza
Questa sezione descrive i fattori di sicurezza che Workload Manager prende in considerazione per proteggere i tuoi deployment su Google Cloud.
Account di servizio e autorizzazioni
Durante la procedura di configurazione, devi specificare un account di servizio utilizzato per l'autenticazione durante il deployment del carico di lavoro. Workload Manager utilizza le autorizzazioni e le credenziali di questo account di servizio per chiamare altre Google Cloud API e altri servizi utilizzati nel deployment. Dopo aver selezionato un account di servizio, Workload Manager valuta automaticamente i ruoli IAM collegati per determinare se dispone delle autorizzazioni necessarie per eseguire il deployment del sistema. Se manca un ruolo, ti viene chiesto di concedere i ruoli mancanti, se disponi delle autorizzazioni necessarie.
I seguenti ruoli sono obbligatori per l'account di servizio utilizzato per eseguire il deployment degli impianti SAP S/4HANA. In alternativa, puoi creare ruoli personalizzati per assegnare le singole autorizzazioni richieste durante la procedura di implementazione. Tieni presente che le autorizzazioni specifiche richieste sono mostrate solo a titolo esemplificativo. Le autorizzazioni specifiche possono variare a seconda della configurazione scelta e della configurazione del progetto.
Ruolo IAM richiesto | Caso d'uso | Autorizzazioni obbligatorie |
---|---|---|
Actions Viewer | Obbligatorio per verificare che il progetto sia valido e che l'account di servizio abbia le autorizzazioni necessarie per accedere alla risorsa. | resourcemanager.projects.get |
Cloud Filestore Editor | Autorizzazioni necessarie per creare e gestire i volumi di archiviazione condivisi Filestore Enterprise collegati al deployment. |
file.instances.create file.instances.delete file.instances.get file.operations.get |
Cloud Infrastructure Manager Agent | Obbligatorio per il servizio Infrastructure Manager, utilizzato per eseguire il deployment dell'infrastruttura quando esegui il deployment utilizzando la console Google Cloud. |
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 |
Amministratore Compute | Autorizzazioni necessarie per creare e gestire tutte le risorse di calcolo create per il deployment |
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 Administrator | Autorizzazioni necessarie per creare una zona DNS e i set di record richiesti. |
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 |
Amministratore IAM progetto |
Autorizzazioni necessarie per assegnare i ruoli IAM agli account di servizio creati per ogni livello del deployment | resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.setIamPolicy |
Amministratore account di servizio |
Autorizzazioni necessarie per creare e gestire gli account di servizio creati per ogni livello del deployment. |
iam.serviceAccounts.create iam.serviceAccounts.delete iam.serviceAccounts.get iam.serviceAccounts.getIamPolicy iam.serviceAccounts.list iam.serviceAccounts.setIamPolicy resourcemanager.projects.get |
Utente account di servizio |
Obbligatorio per consentire all'account di servizio scelto di agire come account di servizio quando chiama altri prodotti e servizi |
iam.serviceAccounts.actAs iam.serviceAccounts.get iam.serviceAccounts.list resourcemanager.projects.get |
Amministratore Service Usage | Autorizzazioni per verificare lo stato delle API richieste e attivarle, se necessario. | Serviceusage.services.list serviceusage.services.enable |
Amministratore Storage | Autorizzazioni necessarie per accedere e utilizzare i file multimediali di installazione SAP caricati su Cloud Storage. | resourcemanager.projects.get storage.buckets.getIamPolicy storage.objects.get storage.objects.getIamPolicy storage.objects.list |
Quando utilizzi una configurazione di VPC condiviso, nel progetto host potrebbero essere necessarie anche le seguenti autorizzazioni IAM, oltre ai ruoli precedenti richiesti nel progetto di servizio.
- 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
Per i deployment di SAP S/4HANA, Workload Manager crea automaticamente account di servizio per ogni livello del deployment per conto dell'utente che esegue il deployment del workload. Workload Manager fornisce solo le autorizzazioni richieste a questi account di servizio per il loro ruolo nel deployment.
Account di servizio per: | Email del service account | Ruoli IAM assegnati |
---|---|---|
VM Ansible Runner | DEPLOYMENT_NAME-ansible@PROJECT_ID.iam.gserviceaccount.com |
Amministratore istanze Compute (v1) Visualizzatore Compute Amministratore DNS Amministratore di Log Amministratore di monitoraggio Visualizzatore dei ruoli Accesso ai segreti di Secret Manager Visualizzatore di Secret Manager Utente account di servizio Visualizzatore oggetti Storage Workload Manager Insights Writer |
VM SAP ASCS / ERS | DEPLOYMENT_NAME-ascs@PROJECT_ID.iam.gserviceaccount.com |
Compute Instance Admin (v1) Visualizzatore Compute Amministrazione log Amministrazione monitoraggio Monitoring Metric Writer Storage Object Viewer Workload Manager Insights Writer |
VM di applicazioni | DEPLOYMENT_NAME-app@PROJECT_ID.iam.gserviceaccount.com |
Visualizzatore di Compute Amministratore di Log Amministratore di monitoraggio Monitoring Metric Writer Storage Object Viewer Workload Manager Insights Writer |
VM di database | DEPLOYMENT_NAME-db@PROJECT_ID.iam.gserviceaccount.com |
Compute Instance Admin (v1) Visualizzatore Compute Logging Admin Monitoring Admin Monitoring Metric Writer Storage Object Viewer Workload Manager Insights Writer |
Sostituisci quanto segue:
DEPLOYMENT_NAME
: il nome del deployment SAP.PROJECT_ID
: l'ID del Google Cloud progetto in cui crei il deployment.
Per ulteriori informazioni su IAM e sulle autorizzazioni per l'esecuzione di SAP su Google Cloud, consulta Gestione di identità e accessi per i programmi SAP su Google Cloud.
Credenziali utente del database e dell'applicazione SAP
Workload Manager utilizza
Secret Manager
per archiviare le credenziali per il sistema SAP, ad esempio la password per gli account SYSTEM
e amministratore. Per fornire la password in modo sicuro, devi creare un segreto e utilizzarlo durante la procedura di implementazione. Puoi creare secret distinti per archiviare le credenziali per il database e i livelli di applicazione.
Il Secret fornito per SAP HANA viene utilizzato come password iniziale per i seguenti
utenti:
- Database di sistema:
SYSTEM
SERVICE_BACKUP
DBACOCKPIT
- Database del tenant HANA:
SYSTEM
SERVICE_BACKUP
- Database del tenant S/4HANA:
SYSTEM
SAPDBCTRL
DBACOCKPIT
SAPHANADB
Le credenziali dell'applicazione vengono utilizzate per i seguenti utenti all'interno del client000
:
DDIC
SAP*
Dopo il deployment, puoi modificare o assegnare nuove password a questi utenti.
API obbligatorie
Per eseguire il deployment di un workload SAP S/4HANA, sono necessari i seguenti servizi e API. Durante la procedura di deployment, queste API vengono attivate automaticamente tramite Terraform se l'account di servizio utilizzato per il deployment dispone delle autorizzazioni necessarie. Si applicano i Termini di servizio di ciascuno di questi servizi e inizieranno a esserti addebitati costi quando li utilizzerai nella soluzione dopo il deployment.
- API Resource Manager: per gestire le risorse per i tuoi progetti.
- API Compute Engine: per creare e gestire le VM per il tuo deployment.
- API Cloud DNS: per creare una zona DNS per il tuo deployment.
- API Filestore: per creare e gestire Google Cloud file server.
- API Service Account Credentials: per creare credenziali per gli account di servizio su Google Cloud.
- API Secret Manager: per creare e gestire i secret che memorizzano le password dell'applicazione e del database.
- API Service Usage: per abilitare Google Cloud i servizi richiesti per il tuo deployment.
Richiedere assistenza
Consulta Ricevere assistenza per SAP su Google Cloud.
Passaggi successivi
- Leggi i prerequisiti per il deployment di un sistema SAP S/4HANA.
- Scopri come eseguire il deployment di un workload SAP S/4HANA.