É possível automatizar a implantação da infraestrutura do Google Cloud usando o Terraform, uma ferramenta de código aberto que permite automatizar a criação e o gerenciamento de recursos do Google Cloud. Para mais informações sobre o Terraform, consulte Terraform com o Google Cloud.
Para determinadas soluções SAP e bancos de dados de suporte, como SAP HANA, o Google Cloud fornece arquivos de configuração predefinidos do Terraform que podem ser usados para implantar a infraestrutura do Google Cloud que atende aos requisitos de suporte e às práticas recomendadas da SAP.
Soluções SAP compatíveis
O Google Cloud fornece arquivos de configuração do Terraform para as seguintes soluções SAP:
O que os arquivos de configuração implantam
Todos os arquivos de configuração do Terraform fornecidos pelo Google Cloud para implantações do SAP configuram ou implantam os seguintes elementos:
- Uma ou mais máquinas virtuais (VMs) do Compute Engine
- Uma imagem do SO que você especificar
- Um ou mais discos permanentes ou Hyperdisks
- Opcionalmente, uma conta de serviço do Gerenciamento de identidade e acesso (IAM) especificada para uso pelas VMs
- As APIs do Google Cloud exigidas pela implantação do SAP
- Opcional: as tags de rede para cada instância de VM
- Opcional: um endereço IP público para cada instância de VM
- A versão mais recente do agente do Google Cloud para SAP
No SAP HANA, os arquivos de configuração do Terraform também implantam:
- Volumes de armazenamento para
/hana/data
,/hana/log
,/hana/shared
,/usr/sap
e/hanabackup
- Opcionalmente, o próprio sistema SAP HANA
- Para sistemas de escalonamento horizontal do SAP HANA com failover automático de host, 1 host mestre, até 15 hosts de worker e até 3 hosts de reserva
- Um cluster de alta disponibilidade do Linux
- Opcionalmente, para sistemas de escalonamento vertical do SAP HANA, endereços IP estáticos para as instâncias primária e secundária
- Opcionalmente, para sistemas de escalonamento horizontal do SAP HANA, endereços IP estáticos para os nós mestre, de trabalho e em espera
Os arquivos de configuração do Terraform também são implantados para SAP NetWeaver:
- Volumes de armazenamento para
/sapmnt
,/usr/sap
e um volume de troca - Como opção, um cluster de alta disponibilidade do Linux no SLES
Para clusters de alta disponibilidade (HA, na sigla em inglês), os arquivos de configuração do Terraform também implantam funções e recursos extras, como balanceador de carga interno, grupo de instâncias e regras de encaminhamento. Para mais informações, consulte o guia de implantação para seu cenário de alta disponibilidade.
Configurações do Terraform para cada implantação SAP
Cada configuração predefinida do Terraform para SAP contém um arquivo de
configuração declarativa DEPLOYMENT_TYPE.tf
.
Para informações sobre os nomes dos arquivos de configuração ou como fazer o download deles, consulte o guia de implantação do seu cenário.
Como concluir o arquivo de configuração do Terraform
Os arquivos de configuração do Terraform fornecidos para implantações do SAP estão em conformidade com os padrões definidos pelo Terraform.
Os arquivos de configuração fornecidos para SAP incluem a definição
do módulo principal seguido de comentários que declaram argumentos. O exemplo a seguir é um trecho do arquivo sap_hana.tf
para implantar um sistema de escalonamento horizontal do SAP HANA sem nós em espera:
#... 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 # ... }
Para usar os argumentos opcionais, remova o caractere de comentário #
e especifique um
valor para o argumento. A maioria dos argumentos opcionais tem um valor padrão. Quando você
não especifica um argumento opcional, a configuração do Terraform usa o
valor padrão desse argumento, se houver.
Para mais informações sobre arquivos de configuração, consulte a documentação da linguagem Terraform.
Controle de versões do módulo
Os arquivos de configuração do Terraform DEPLOYMENT_TYPE.tf
que você transfere por download do Google Cloud para implantações do SAP contêm duas
instâncias do argumento source
: uma que está ativa e outra incluída
como um comentário. É possível controlar qual versão do módulo sua configuração
usa removendo o caractere de comentário principal, #
, a partir desource
argumento
necessário e adicionando ao que você não precisa.
Por padrão, quando você faz o download de um novo arquivo de configuração do Terraform do
Google Cloud para implantações do SAP, o argumento ativo source
especifica
latest
como a versão do módulo, o que significa que, se o Terraform
atualizar os arquivos no diretório de trabalho quando você inserir o
comando terraform init
, sua configuração usará a versão mais recente
disponível do módulo do Terraform que o Google Cloud fornece para
implantações do SAP.
A segunda instância do argumento source
, que, por padrão, é desativada
por um caractere #
à esquerda, inclui
o carimbo de data/hora que identifica a versão do módulo fornecida pelo Google Cloud.
No exemplo a seguir,
202309280828
é o carimbo de data/hora que identifica a versão do módulo do 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/202309280828/terraform/sap_hana/sap_hana_module.zip" #... # arguments... #...
Se você precisar que todas as implantações usem a mesma versão do módulo,
no DEPLOYMENT_TYPE.tf
, remova o
caractere #
inicial do argumento source
que inclui a versão.
timestamp e o adicione ao argumento source
que especifica latest
como a versão, conforme mostrado no exemplo a seguir:
#... 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/202309280828/terraform/sap_hana/sap_hana_module.zip" #... # arguments... #...
Quando um carimbo de data/hora é especificado, todas as implantações usam a versão do módulo do Terraform que corresponde ao carimbo de data/hora especificado.
Como implantar vários recursos com um arquivo de configuração
É possível implantar vários sistemas com um único arquivo de configuração adicionando
blocos module
ao arquivo de configuração para cada sistema extra
necessário.
Para implantações SAP, copie o bloco module
e cole-o abaixo
para criar o novo sistema SAP.
Em cada bloco do módulo, especifique valores exclusivos para qualquer
argumento específico da instância, como module
ou instance_name
.
Aplicar configurações
Para aplicar uma configuração do Terraform, use o comando terraform apply
.
Se você quiser visualizar os resultados da configuração antes de implantar
recursos do Google Cloud, crie o plano de execução do Terraform
usando o comando terraform plan
.
Para procedimentos detalhados do aplicativo, consulte o guia de implantação do seu cenário.
Quando o Terraform conclui a aplicação da configuração, no
Cloud Shell, ele exibe
COMPLETED
para cada um dos recursos criados e transmite
o controle para o script de shell. O script de shell é invocado como script de inicialização nas
VMs implantadas.
O script de shell faz outras configurações nos recursos implantados e registra o progresso no Cloud Logging. Uma implantação do SAP somente será concluída após o término do processamento dos scripts de shell.
Scripts pós-implantação
Use um script pós-implantação para executar outras ações, como acionar a instalação do aplicativo SAP NetWeaver, monitorar agentes etc.
Os scripts pós-implantação são o modo recomendado de personalizar as configurações, porque eles recebem o controle somente depois que a infraestrutura do Google Cloud é configurada de acordo com os requisitos de suporte da SAP.
Para exibir mensagens de status referentes aos scripts pós-implantação, você precisa codificá-los para gravar as mensagens nos registros. Para mais informações, consulte a documentação do Cloud Logging.
O status dos scripts de pós-implantação não está incluído nas mensagens que o Deployment Manager grava no Cloud Shell ou em uma sessão do shell da Google Cloud CLI.
Como receber suporte para as configurações do Terraform
Se você precisar de ajuda para resolver um problema com as configurações do Terraform que o Google Cloud oferece para SAP, colete as informações de diagnóstico necessárias e entre em contato com o Cloud Customer Care.
Para saber mais sobre como receber suporte para problemas com o Terraform, consulte Receber suporte para problemas do Terraform.