Puoi automatizzare il deployment dell'infrastruttura Google Cloud con Terraform, uno strumento open source che ti consente di automatizzare la creazione e la gestione delle risorse Google Cloud. Per informazioni su Terraform, consulta Terraform with Google Cloud.
Per determinate soluzioni SAP e database di supporto, come SAP HANA, Google Cloud fornisce il modello Terraform predefinito di configurazione utilizzabili per il deployment di Google Cloud dell'infrastruttura che soddisfi i requisiti e le best practice di supportabilità SAP.
Soluzioni SAP supportate
Google Cloud fornisce Terraform di configurazione YAML per le seguenti soluzioni SAP:
Di cosa viene eseguito il deployment dei file di configurazione
Tutti i file di configurazione Terraform Google Cloud fornisce ai deployment SAP la possibilità di configurare di eseguire il deployment dei seguenti elementi:
- Una o più macchine virtuali (VM) Compute Engine
- Un'immagine sistema operativo da te specificata
- Uno o più volumi Persistent Disk o Hyperdisk
- Facoltativamente, un account di servizio IAM (Identity and Access Management) per l'utilizzo da parte delle VM
- Le API Google Cloud richieste dal deployment SAP
- Facoltativamente, i tag di rete per ogni istanza VM
- Facoltativamente, un indirizzo IP esterno per ogni istanza VM
- L'ultima versione di Agente Google Cloud per SAP
Per SAP HANA, viene eseguito anche il deployment dei file di configurazione Terraform:
- Volumi di archiviazione per
/hana/data
,/hana/log
,/hana/shared
,/usr/sap
, e/hanabackup
- Facoltativamente, lo stesso sistema SAP HANA
- Per i sistemi con scale out SAP HANA con failover automatico dell'host, host master, fino a 15 host worker e fino a 3 host in standby
- Un cluster Linux ad alta disponibilità.
- Facoltativamente, per i sistemi di scale up SAP HANA, gli indirizzi IP statici per l'istanza principale e le istanze secondarie
- Facoltativamente, per i sistemi con scale out SAP HANA, gli indirizzi IP statici per il nodi master, worker e standby
Per SAP NetWeaver, viene eseguito anche il deployment dei file di configurazione Terraform:
- Volumi di archiviazione per
/sapmnt
,/usr/sap
e un volume di scambio - Facoltativamente, un cluster Linux ad alta disponibilità su SLES
Per i cluster ad alta disponibilità, anche i file di configurazione di Terraform il deployment di funzioni e funzionalità aggiuntive come il bilanciatore del carico interno, le regole di forwarding e di gruppo. Per ulteriori informazioni, consulta guida al deployment per i tuoi scenari ad alta disponibilità.
Configurazioni Terraform per ogni deployment SAP
Ogni configurazione Terraform predefinita per SAP contiene
di configurazione del deployment DEPLOYMENT_TYPE.tf
.
Per informazioni sui nomi dei file di configurazione o su come scaricarli, consulta la guida all'implementazione per il tuo scenario.
Completare il file di configurazione di Terraform
I file di configurazione Terraform forniti per i deployment SAP conformi agli standard definiti da Terraform.
I file di configurazione forniti per SAP includono la definizione del modulo principale
seguiti da commenti che dichiarano argomenti. L'esempio seguente è
estratto dal file sap_hana.tf
per il deployment di un sistema di scale out SAP HANA
senza nodi di standby:
#... module "sap_hana" { source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana/sap_hana_module.zip" # # By default, this source file uses the latest release of the terraform module # for SAP on Google Cloud. To fix your deployments to a specific release # of the module, comment out the source property above and uncomment the source property below. # # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana/sap_hana_module.zip" # ... project_id = "example-project-123456" zone = "us-central1-f" machine_type = "n2-highmem-32" subnetwork = "example-subnet-us-central1" linux_image = "sles-15-sp2-sap" linux_image_project = "suse-sap-cloud" # ... instance_name = "hana-scaleout" # ... sap_hana_deployment_bucket = "mybucketname" sap_hana_sid = "AB2" sap_hana_instance_number = 12 sap_hana_sidadm_password = "TempPa55word" sap_hana_system_password = "TempPa55word" sap_hana_scaleout_nodes = 3 sap_hana_sidadm_uid = 11 vm_static_ip = "10.0.0.1" worker_static_ips = ["10.0.0.2", "10.0.0.3", "10.0.0.4"] enable_fast_restart = true # ... }
Per utilizzare gli argomenti facoltativi, rimuovi il carattere del commento #
e specifica
per l'argomento. La maggior parte degli argomenti facoltativi ha un valore predefinito. Quando
specifica un argomento facoltativo, la configurazione di Terraform utilizza
valore predefinito dell'argomento, se presente.
Per ulteriori informazioni sui file di configurazione, consulta Documentazione del linguaggio Terraform.
Controllo delle versioni del modulo
I file di configurazione Terraform DEPLOYMENT_TYPE.tf
che scarichi da Google Cloud per i deployment SAP contengono due
istanze dell'argomento source
: una attiva e l'altra inclusa
come commento. Puoi controllare quale versione del modulo viene configurata
utilizza rimuovendo il carattere del commento iniziale, #
, dall'argomento source
di cui hai bisogno e aggiungendolo a quello che non ti serve.
Per impostazione predefinita, quando scarichi un nuovo file di configurazione Terraform
Deployment di Google Cloud per SAP, l'argomento source
attivo specifica
latest
come versione del modulo, il che significa che, se Terraform
aggiorna i file nella directory di lavoro quando inserisci
terraform init
, la configurazione utilizza il più recente
versione del modulo Terraform fornito da Google Cloud per SAP
deployment di machine learning.
La seconda istanza dell'argomento source
, che è disattivato per impostazione predefinita
per un carattere #
iniziale, include
il timestamp che identifica la versione del modulo fornita da Google Cloud.
Nell'esempio seguente,
202404101403
è il timestamp che identifica la versione del modulo Terraform.
#... module "sap_hana" { source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana/sap_hana_module.zip" #... # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/202404101403/terraform/sap_hana/sap_hana_module.zip" #... # arguments... #...
Se hai bisogno che tutti i tuoi deployment utilizzino lo stesso modulo
e poi nel tuo DEPLOYMENT_TYPE.tf
rimuovi il
#
carattere iniziale dell'argomento source
che include la versione
timestamp e aggiungilo all'argomento source
che specifica latest
come
dell'immagine, come mostrato nell'esempio seguente:
#... module "sap_hana" { # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana/sap_hana_module.zip" #... source = "https://storage.googleapis.com/cloudsapdeploy/terraform/202404101403/terraform/sap_hana/sap_hana_module.zip" #... # arguments... #...}
Quando viene specificato un timestamp, tutti i deployment utilizzano la versione del comando Terraform corrispondente al timestamp specificato.
Deployment di più sistemi con un solo file di configurazione
Puoi eseguire il deployment di più sistemi utilizzando un singolo file di configurazione Terraform. Tu
per farlo aggiungendo module
blocchi al file di configurazione per ogni
di cui hai bisogno per il deployment.
Per i deployment SAP, copia la definizione del blocco module
fornita da
Google Cloud e incollalo nell'ordine appropriato nella tua configurazione
.
In ogni blocco del modulo, assicurati di specificare valori univoci per qualsiasi
specifici dell'istanza, come module
o instance_name
.
Applicazione delle configurazioni
Applichi una configurazione Terraform utilizzando il comando terraform apply
.
Se vuoi visualizzare l'anteprima dei risultati della configurazione prima
eseguendo il deployment delle risorse Google Cloud, quindi crea l'esecuzione di Terraform
utilizzando il comando terraform plan
.
Per le procedure dettagliate di richiesta, vedi guida all'implementazione per il tuo scenario.
Quando Terraform completa l'applicazione della configurazione,
Cloud Shell, Terraform visualizza
COMPLETED
per ogni risorsa che crea e passa
per lo script shell. Lo script shell viene richiamato come script di avvio
delle VM di cui è stato eseguito il deployment.
Lo script shell configura ulteriormente le risorse di cui è stato eseguito il deployment e ne registra l'avanzamento in Cloud Logging. Un deployment SAP non è completo finché gli script shell per completare l'elaborazione.
Script post-deployment
Puoi utilizzare uno script post-deployment per eseguire azioni aggiuntive, ad esempio che attiva l'installazione dell'applicazione SAP NetWeaver, gli agenti di monitoraggio e così via.
Gli script post-deployment sono il metodo consigliato per personalizzare configurazione perché ottengono il controllo solo dopo l'infrastruttura è configurata in base ai requisiti di supportabilità SAP.
Per visualizzare i messaggi di stato per gli script post-deployment, devi scrivere il codice script per scrivere i messaggi nei log. Per ulteriori informazioni, consulta documentazione di Cloud Logging.
Lo stato degli script post-deployment non è incluso nei messaggi che Terraform scrive su Cloud Shell una sessione di shell locale di Google Cloud CLI.
Assistenza per le configurazioni Terraform
Se hai bisogno di aiuto per risolvere un problema con Terraform configurazioni che Google Cloud fornisce per SAP, quindi raccogli le informazioni diagnostiche richieste e contatta l'assistenza clienti Google Cloud.
Per saperne di più su come ricevere assistenza per i problemi di Terraform, consulta Ricevi assistenza per i problemi di Terraform.