É possível automatizar a implantação da infraestrutura do Google Cloud usando o Cloud Deployment Manager, um serviço que automatiza a criação e o gerenciamento de recursos do Google Cloud.
Para determinadas soluções e bancos de dados de suporte SAP, como SAP HANA, o Google Cloud oferece modelos de configuração predefinidos do Cloud Deployment Manager, 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 inclui configurações do Cloud Deployment Manager para as seguintes soluções SAP:
- SAP NetWeaver
- SAP HANA
- SAP ASE
- SAP MaxDB
- IBM Db2
- No Linux: É possível fazer o download do modelo em:
As etapas para usar o modelo Db2 para Linux não estão documentadas, mas são muito semelhantes às etapas para os modelos ASE e MaxDB Linux.https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/template.yaml
- No Linux em um cluster de alta disponibilidade no Linux
- No Windows. É possível fazer o download do modelo em:
As etapas para usar o modelo do Db2 para Windows não são documentadas, mas são muito semelhantes às etapas para os modelos de Windows do ASE e MaxDB.https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2-win/template.yaml
- No Linux: É possível fazer o download do modelo em:
O que os modelos implantam
Todos os modelos do Deployment Manager que o Google Cloud fornece 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
- 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
Para o SAP HANA, os modelos do Deployment Manager também implantam estes elementos:
- Volumes de armazenamento para
/hana/shared
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
- Para sistemas de escalonamento vertical do SAP HANA, um cluster de alta disponibilidade do Linux
Para o SAP NetWeaver, os modelos do Deployment Manager também implantam estes elementos:
- Volumes de armazenamento para
/sapmnt
,/usr/sap
e um volume de troca
Arquivos do Deployment Manager para cada implantação do SAP
Cada configuração predefinida do Deployment Manager para SAP contém o seguinte conjunto de arquivos:
- Um arquivo de configuração YAML
template.yaml
- Um arquivo de modelo do Python
deployment-type.py
, comosap_hana.py
,sap_hana_scaleout.py,
ousap_nw.py
- Um arquivo de esquema Python
deployment-type.py.schema
, comosap_hana.py.schema
,sap_hana_scaleout.py.schema,
ousap_nw.py.schema
- Pelo menos um script de shell
startup.sh
oustartup.ps1
Você especifica as propriedades dos recursos do Google Cloud no arquivo de configuração template.yaml
.
Como concluir o arquivo de configuração template.yaml
Os arquivos de configuração template.yaml
fornecidos para implantações do SAP estão em conformidade com os padrões definidos pelo Deployment Manager.
Os arquivos de configuração fornecidos para o SAP incluem a definição de recurso principal
seguida por uma seção de comentários que inclui as propriedades avançadas
menos usadas. O exemplo a seguir é um trecho do arquivo template.yaml
para SAP HANA:
resources: - name: sap_hana type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103111102/dm-templates/sap_hana/sap_hana.py # properties: instanceName: [VM_NAME] instanceType: [MACHINE_TYPE] zone: [ZONE] subnetwork: [SUBNETWORK] linuxImage: family/[IMAGE_FAMILY] linuxImageProject: [IMAGE_PROJECT] sap_hana_deployment_bucket: [MEDIA_BUCKET] sap_hana_sid: [SID] sap_hana_instance_number: [INSTANCE_NUMBER] sap_hana_sidadm_password: [PASSWORD] sap_hana_system_password: [PASSWORD] sap_hana_scaleout_nodes: [NUMBER_OF_WORKER_NODES] # # --- Advanced Options --- # The following advanced options are not usually needed. To use an advanced option, remove # the comment indicator, #, before the parameter name and specify an appropriate value. # # networkTag: [TAG] # Adds network tags to your instance. This is useful if you do routing or define # firewall rules by tags. By default, no tags are added to your VM. Multiple tags # can be assigned by separating them with commas # ...
Para usar as propriedades avançadas, remova o caractere de comentário #
e especifique um
valor para a propriedade.
Para mais arquivos de configuração de informações, consulte Fundamentos do Deployment Manager.
Controle de versões do modelo
É possível controlar a versão do modelo do
Deployment Manager que as implantações da SAP usam ao especificar um carimbo de data/hora na
propriedade type
no arquivo de configuração YAML.
Por padrão, quando você faz o download de um novo arquivo de configuração
template.yaml
, a propriedade type
especifica latest
como a versão, o que
significa que suas implantações sempre usam a versão mais recente disponível dos
modelos do Deployment Manager.
Nos comentários que seguem a propriedade type
o que você vê é uma especificação de propriedade type
alternativa que inclui o carimbo de data/hora da versão
mais recente disponível no momento do download do arquivo template.yaml
.
Por exemplo:
resources: - name: sap_hana type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103111102/dm-templates/sap_hana/sap_hana.py # properties: ...
Se você precisar que todas as suas implantações usem a mesma versão
do modelo, substitua a especificação da propriedade type
que inclui latest
pela especificação da propriedade type
que inclui o carimbo de data/hora. Exemplo:
resources: - name: sap_hana type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103111102/dm-templates/sap_hana/sap_hana.py properties: ...
Quando um carimbo de data/hora é especificado, todas as implantações usam a versão do modelo do Deployment Manager que corresponde ao carimbo de data/hora especificado.
Para ver qual versão do modelo o Deployment Manager usou em
uma implantação da SAP no Console do Google Cloud, clique no nome da
implantação na página Implantações
e, em seguida, clique em VISUALIZAR Configuração expandida em Propriedades da implantação.
O carimbo de data/hora da versão aparece após startup-script
na seção metadata
,
conforme mostrado no exemplo a seguir:
metadata: items: - key: startup-script value: curl -s https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103111102/dm-templates/sap_hana/startup.sh | bash -s https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103111102/dm-templates
Como implantar vários recursos com um arquivo de configuração
É possível implantar vários recursos com um único arquivo de configuração adicionando mais definições dos recursos ao arquivo.
Para implantações do SAP, copie as seções -name
, type
e properties:
do recurso predefinido e cole-as abaixo para criar a nova definição do recurso.
Em cada definição de recurso, especifique valores exclusivos para os seguintes itens:
- nome
- instanceName
Como executar implantações
Você inicia uma implantação emitindo o seguinte comando:
gcloud deployment-manager deployments create [DEPLOYMENT-NAME] --config [TEMPLATE-NAME].yaml
Se você quiser visualizar os resultados da implantação antes de implantar de fato os recursos do Google Cloud, anexe a sinalização --preview
ao comando.
Quando você inicia uma implantação, o Deployment Manager valida as especificações no arquivo template.yaml
referentes às definições contidas no arquivo deployment-type.py.schema
. Se a validação for bem-sucedida, o Deployment Manager criará os recursos do Google Cloud usando as definições de recurso nos arquivos template.yaml
e deployment-type.py
.
Quando o processamento do Deployment Manager é concluído no Cloud Shell, o Deployment Manager exibe COMPLETED
para cada um dos recursos criados e passa o controle para o script do shell.
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.
O Deployment Manager também cria uma entrada na página Implantações no console do Google Cloud, em que você encontra mais detalhes sobre a implantação.
Personalização avançada dos modelos
Além de adicionar definições de VM ou outras pequenas alterações ao arquivo de configuração YAML, se você for um usuário avançado, poderá personalizar os modelos do Deployment Manager fornecidos pelo Google Cloud de outras maneiras, mas há riscos.
Se você modificar os modelos, assumirá a responsabilidade por essa modificação, incluindo garantir que eles estejam atualizados e que o Deployment Manager possa processá-los. Você também assume a responsabilidade por garantir que a infraestrutura do Google Cloud e os sistemas SAP implantados pelos modelos modificados atendam aos requisitos de suporte tanto do SAP quanto do Google Cloud.
As modificações nos modelos do Deployment Manager também dificultam o suporte do Google Cloud à implantação. Os especialistas do SAP no Cloud Customer Care estão familiarizados com os modelos não modificados e as configurações que eles implantam, mas não com suas personalizações exclusivas. Se você precisar de suporte do Google Cloud para uma implantação ou configuração que use um modelo personalizado, esteja preparado para explicar suas personalizações e aguardar mais tempo por uma solução do caso de suporte.
Antes de modificar os modelos do Deployment Manager fornecidos pelo Google Cloud para SAP, tenha uma equipe técnica com as habilidades adequadas para dar orientações, avaliar o impacto das alterações no desempenho do sistema e ajudar a resolver problemas que possam surgir no futuro. Se você não tem uma equipe assim, os parceiros de implementação ou os serviços profissionais do Google Cloud contam com especialistas que poderão ajudar.
Para fazer as alterações, você precisa ter os seguintes conhecimentos:
- Os requisitos de suporte do SAP definidos na documentação e nas Notas SAP aplicáveis aos respectivos produtos.
- O Deployment Manager e como trabalhar com implantações, configurações e modelos. Consulte a documentação do Deployment Manager.
- Dependendo do tipo de alteração que você está fazendo, as linguagens Python ou de script de shell.
Tipos de personalização avançada
Veja a seguir algumas modificações consideradas personalizações avançadas:
- Processamento ou ações personalizados em um script pós-implantação. Esse é o método recomendado para incluir personalizações avançadas nas implantações.
- Uso de tipos de sistemas operacionais diferentes das versões compatíveis do Red Hat Enterprise Linux para SAP ou do SUSE Linux Enterprise Server para SAP.
- Modificações nos scripts de back-end fornecidos como parte do modelo:
- Scripts de shell (bash ou PowerShell)
- Configuração dinâmica e os arquivos de esquema do Python.
- Para implantações de alta disponibilidade:
- Personalização das definições de configuração do Pacemaker. Se você observar que uma função específica está ausente, inclua seu feedback na página de documentação.
- Alterações no modelo padrão para implantação do escalonamento horizontal do HANA com nós de espera.
Seja qual for o tipo de alteração que você fizer, verifique se as alterações resultam em um sistema SAP dentro do escopo de suporte definido pela documentação do produto SAP e pelas Notas SAP aplicáveis ao seu sistema.
Arquivos de modelo que podem ser personalizados
O Google Cloud recomenda que você limite as personalizações ao arquivo de configuração .yaml
, ainda que também seja possível modificar outros arquivos do Deployment Manager, desde que o sistema SAP resultante atenda aos requisitos de suporte da SAP.
Os arquivos que você precisa modificar dependem do tipo de alterações que você precisa fazer.
Para adicionar outras verificações de validação para valores de propriedade específicos ao seu ambiente, inclua as definições de propriedade no arquivo deployment-type.py.schema
.
No arquivo deployment-type.py
, é possível fazer alterações como estas:
- Adicionar outros cálculos de valores ao arquivo de configuração, como intervalos de IPs ou tamanhos de disco. A alteração dos tamanhos de disco, principalmente para o SAP HANA, pode resultar em uma configuração que não atende aos requisitos de suporte do SAP.
- Adicionar mais metadados de instância de VM.
- Ajustar os nomes dos discos.
Como fazer o download dos arquivos de modelo
Para fazer o download dos arquivos, use os seguintes comandos depois de substituir o texto em itálico vermelho pelos valores do modelo necessário:
wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/template-directory/file-name.py wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/template-directory/file-name.py.schema wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/template-directory/startup.sh wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/template-directory/template.yaml
Por exemplo, se você precisar fazer o download dos arquivos de modelo para uma implantação de escalonamento vertical do SAP HANA, use os seguintes comandos:
wget https://storage.cloud.google.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.py wget https://storage.cloud.google.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.py.schema wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/startup.sh wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/template.yaml
Como usar os arquivos de modelo modificados
Quando terminar de modificar os arquivos de modelo, faça upload deles para um bucket do Cloud Storage ou um servidor da Web e atualize os URLs no template.yaml
e em outros arquivos para o local do arquivo.
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 implantaçõ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 os modelos do Gerenciador de implantação no SAP
Se você precisar de ajuda para resolver um problema com os modelos do Gerenciador de implantação para SAP, colete as informações de diagnóstico necessárias e entre em contato com o atendimento ao cliente do Cloud. Para uma lista das informações de diagnóstico necessárias, consulte Modelos do Gerenciador de implantação para informações de diagnóstico do SAP.