Deployment Manager: implantação automatizada de VM para SAP NetWeaver no Linux

Neste guia de implantação, mostramos como implantar e se conectar a uma máquina virtual (VM) do Compute Engine, pronta para a instalação do SAP Adaptive Server Enterprise (SAP ASE) em um sistema operacional Linux.

Nas instruções deste guia, são usados o Cloud Deployment Manager para implantar e configurar a VM, o sistema operacional Linux e os volumes de disco necessários para o SAP ASE.

Para usar o Terraform para automatizar a implantação de recursos do Google Cloud para SAP ASE em um sistema Linux, consulte Terraform: implantação de VM automatizada para SAP ASE no Linux.

Para detalhes sobre o planejamento da sua implantação, consulte o Guia de planejamento do SAP ASE.

Pré-requisitos

Se você precisar que a carga de trabalho da SAP seja executada em conformidade com residência de dados, controle de acesso, equipes de suporte ou requisitos regulatórios, crie a pasta do Assured Workloads necessária. Para mais informações, consulte Controles soberanos e de conformidade para a SAP no Google Cloud.

Caso ainda não tenha um projeto do Google Cloud com o faturamento ativado, crie um antes de implantar uma VM para a instalação do SAP ASE.

Para criar um projeto:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

Como configurar o ambiente de comando gcloud

Para estas instruções, use o Cloud Shell para inserir comandos gcloud que implantam ou configuram os recursos do Google Cloud. Acesse o Cloud Shell pelo console do Google Cloud no navegador.

Uma VM fornecida pelo Google Cloud executa o Cloud Shell toda vez que ele é iniciado. No primeiro uso, o Google Cloud também cria um diretório $HOME permanente para você, que é restaurado toda vez que você abre o Cloud Shell.

A VM provisionada inclui a Google Cloud CLI mais recente. Portanto, os comandos do gcloud que você usa no Cloud Shell são os mesmos que usaria em uma instância instalada localmente da CLI gcloud.

Se você tiver a CLI gcloud instalada, poderá emitir os comandos do gcloud que são usados nessas instruções a partir da máquina local. No entanto, se houver uma CLI gcloud instalada localmente, sempre verifique se você está usando a versão mais recente da CLI .

Se você usa o Cloud Shell ou a CLI gcloud, pode definir e alterar as propriedades do seu ambiente de comando gcloud e salvá-las como uma configuração. Configurações são conjuntos de pares de chave-valor que influenciam o comportamento dos comandos gcloud.

Algumas ações básicas que podem ser realizadas com uma configuração no Cloud Shell incluem:

  • Inicializar uma configuração.

    gcloud init
  • Conferir as configurações atuais do gcloud.

    gcloud config list
  • Mude para o projeto necessário do Google Cloud. Substitua o PROJECT_ID pelo ID do projeto do Google Cloud.

    gcloud config set project PROJECT_ID
  • Definir uma região padrão. Substitua REGION por uma região do Google Cloud.

    gcloud config set compute/region REGION
  • Definir uma zona padrão. Substitua ZONE por uma zona do Google Cloud.

    gcloud config set compute/zone ZONE
  • Criar uma nova configuração. Substitua NAME pelo nome da configuração.

    gcloud config configurations create NAME

Saiba mais sobre como trabalhar com as configurações em Como gerenciar as configurações da CLI gcloud.

Criar uma rede

Por motivos de segurança, crie uma nova rede. Para controlar quem tem acesso a ela, adicione regras de firewall ou use outro método de controle de acesso.

Caso o projeto tenha uma rede VPC padrão, não a use. Em vez disso, crie sua própria rede VPC para que as únicas regras de firewall aplicadas sejam aquelas criadas explicitamente por você.

Durante a implantação, as instâncias de VM normalmente exigem acesso à Internet para fazer o download do agente do Google Cloud para SAP. Se você estiver usando uma das imagens Linux certificadas pelo SAP disponíveis no Google Cloud, a instância da VM também exigirá acesso à Internet para registrar a licença e acessar repositórios de fornecedor do sistema operacional. Uma configuração com um gateway NAT e tags de rede da VM é compatível com esse acesso, mesmo se as VMs de destino não tiverem IPs externos.

Para configurar a rede:

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique em Criar rede VPC.
  3. Digite um Nome para a rede.

    O nome precisa seguir a convenção de nomenclatura. As redes VPC usam a convenção de nomenclatura do Compute Engine.

  4. Em Modo de criação da sub-rede, escolha Custom.
  5. Na seção Nova sub-rede, especifique os parâmetros de configuração a seguir para uma sub-rede:
    1. Insira um Nome para a sub-rede.
    2. Em Região, selecione a região do Compute Engine em que você quer criar a sub-rede.
    3. Em Tipo de pilha de IP, selecione IPv4 (pilha única) e insira um intervalo de endereços IP no formato CIDR. , como 10.1.0.0/24.

      Esse é o intervalo principal de IPv4 da sub-rede. Se você planeja adicionar mais de uma sub-rede, atribua intervalos IP CIDR não sobrepostos para cada sub-rede na rede. Observe que cada sub-rede e os respectivos intervalos IP internos são mapeados para uma única região.

    4. Clique em Concluído.
  6. Para adicionar mais sub-redes, clique em Adicionar sub-rede e repita as etapas anteriores. É possível adicionar mais sub-redes à rede depois de criá-la.
  7. Clique em Criar.

gcloud

  1. Acesse o Cloud Shell.

    Acesse o Cloud Shell

  2. Para criar uma nova rede no modo de sub-redes personalizadas, execute:
    gcloud compute networks create NETWORK_NAME --subnet-mode custom

    Substitua NETWORK_NAME pelo nome da nova rede. O nome precisa seguir a convenção de nomenclatura. As redes VPC usam a convenção de nomenclatura do Compute Engine.

    Especifique --subnet-mode custom para evitar o uso do modo automático padrão, que cria automaticamente uma sub-rede em cada região do Compute Engine. Para mais informações, consulte Modo de criação da sub-rede.

  3. Crie uma sub-rede e especifique a região e o intervalo de IP:
    gcloud compute networks subnets create SUBNETWORK_NAME \
        --network NETWORK_NAME --region REGION --range RANGE

    Substitua:

    • SUBNETWORK_NAME: o nome da nova sub-rede.
    • NETWORK_NAME: o nome da rede que você criou na etapa anterior.
    • REGION: a região em que você quer a sub-rede. Se você estiver usando o SAP ASE com o SAP NetWeaver, use uma região compatível com SAP NetWeaver.
    • RANGE: o intervalo de endereços IP, especificado no formato CIDR. Por exemplo, 10.1.0.0/24.

      Se você planeja adicionar mais de uma sub-rede, atribua intervalos IP CIDR não sobrepostos para cada sub-rede na rede. Observe que cada sub-rede e os respectivos intervalos IP internos são mapeados para uma única região.

  4. Se quiser, repita o passo anterior e adicione mais sub-redes.

Como configurar um gateway NAT

Se você precisar criar uma ou mais VMs sem endereços IP públicos, será necessário usar a conversão de endereços de rede (NAT) para permitir que as VMs acessem a Internet. Use o Cloud NAT, um serviço gerenciado distribuído e definido pelo software do Google Cloud que permite que as VMs enviem pacotes de saída para a Internet e recebam todos os pacotes de resposta de entrada estabelecidos. Se preferir, é possível configurar uma VM separada como um gateway NAT.

Para criar uma instância do Cloud NAT para seu projeto, consulte Como usar o Cloud NAT.

Depois de configurar o Cloud NAT para seu projeto, as instâncias de VM poderão acessar a Internet com segurança sem um endereço IP público.

Como adicionar regras de firewall

Por padrão, uma regra de firewall implícita bloqueia conexões de entrada de fora da rede de nuvem privada virtual (VPC). Para permitir conexões de entrada, configure uma regra de firewall para sua VM. Depois que uma conexão de entrada for estabelecida com uma VM, será permitido o tráfego nas duas direções nessa conexão.

Também é possível criar uma regra de firewall para permitir o acesso externo a portas especificadas ou para restringir o acesso entre as VMs na mesma rede. Se o tipo de rede VPC default for usado, algumas regras padrão complementares também serão aplicadas, como a regra default-allow-internal, que permite a conectividade entre VMs na mesma rede em todas as portas.

Dependendo da política de TI que for aplicada ao ambiente, pode ser necessário isolar ou então restringir a conectividade com o host do banco de dados, o que pode ser feito criando regras de firewall.

Dependendo do seu cenário, é possível criar regras de firewall para permitir o acesso para estes itens:

  • ao listener da rede ASE para conexões de cliente. O número da porta ASE padrão é 5000.
  • às portas exigidas pelo cockpit do SAP ASE. Para conseguir uma lista de portas usadas pelo cockpit do SAP ASE, consulte a respectiva documentação no "SAP Help Portal";
  • às portas SAP padrão, listadas em TCP/IP de todos os produtos SAP;
  • Conexões do seu computador ou do ambiente de rede corporativa para a instância de VM do Compute Engine. Se você não tiver certeza do endereço IP a ser usado, fale com o administrador de redes da sua empresa.
  • A comunicação entre VMs na sub-rede do SAP HANA, incluindo a comunicação entre nós em um sistema de escalonamento horizontal do SAP HANA ou a comunicação entre o servidor de banco de dados e os servidores de aplicativos em uma arquitetura de três níveis. É possível ativar a comunicação entre as VMs criando uma regra de firewall para permitir o tráfego proveniente da sub-rede.
  • Conexões SSH com a instância da VM, incluindo o SSH no navegador.
  • Conexão com a VM por meio de uma ferramenta de terceiros no Linux. Crie uma regra para permitir o acesso da ferramenta pelo seu firewall.

Para criar uma regra de firewall:

Console

  1. No console do Google Cloud, acesse a página Firewall da rede VPC.

    Acessar o Firewall

  2. Na parte superior da página, clique em Criar regra de firewall.

    • No campo Rede, selecione a rede em que a VM está localizada.
    • No campo Destinos, especifique os recursos no Google Cloud a que esta regra se aplica. Por exemplo, especifique Todas as instâncias na rede. Ou, para limitar a regra a instâncias específicas no Google Cloud, insira tags em Tags de destino especificado.
    • No campo Filtro de origem, selecione uma das opções a seguir:
      • Intervalos de IP para permitir tráfego de entrada de endereços IP específicos. Especifique o intervalo de endereços IP no campo Intervalos de IPs de origem.
      • Sub-redes para permitir tráfego de entrada de uma determinada sub-rede. Especifique o nome da sub-rede no campo Sub-redes a seguir. É possível usar esta opção para permitir acesso entre as VMs na configuração em três níveis ou de escalonamento horizontal.
    • Na seção Protocolos e portas, selecione Portas e protocolos especificados e insira tcp:PORT_NUMBER.
  3. Clique em Criar para criar a regra de firewall.

gcloud

Crie uma regra de firewall usando o seguinte comando:

$ gcloud compute firewall-rules create FIREWALL_NAME
--direction=INGRESS --priority=1000 \
--network=NETWORK_NAME --action=ALLOW --rules=PROTOCOL:PORT \
--source-ranges IP_RANGE --target-tags=NETWORK_TAGS

Como implantar uma VM do Linux para SAP ASE com o Deployment Manager

Nas instruções a seguir, o Deployment Manager é usado para implantar uma instância de VM com o Linux e todos os discos permanentes exigidos pelo SAP ASE. Você define os valores para a instalação em um modelo de arquivo de configuração do Deployment Manager.

Todos os recursos criados para o sistema SAP ASE são tratados pelo Deployment Manager como uma única entidade, chamada implantação. Veja todas as implantações do projeto do Google Cloud na página Implantações no Console do Google Cloud.

.

As instruções a seguir usam o Cloud Shell, mas você também pode usar a Google Cloud CLI no terminal local.

  1. Abra o Cloud Shell.

    Acesse o Cloud Shell

  2. Faça o download do modelo de arquivo de configuração template.yaml para seu diretório ativo inserindo o seguinte comando no Cloud Shell:

    wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_ase/template.yaml
  3. Você tem a opção de renomear o arquivo template.yaml para identificar a configuração que ele define.

  4. Abra o arquivo template.yaml no editor de código do Cloud Shell.

    Para abrir o editor de código, clique no ícone de lápis, no canto superior direito da janela do terminal do Cloud Shell.

  5. No arquivo template.yaml, atualize os seguintes valores de propriedade substituindo os colchetes e o conteúdo deles pelos valores da instalação.

    Propriedade Tipo de dados Descrição
    type String

    Especifica o local, o tipo e a versão do modelo do Deployment Manager a ser usado durante a implantação.

    O arquivo YAML inclui duas especificações type, uma delas comentada. A especificação type que está ativa por padrão especifica a versão do modelo como latest. A especificação type comentada especifica uma versão de modelo específica com carimbo de data/hora.

    Se você precisar que todas as suas implantações usem a mesma versão de modelo, use a especificação type que inclui o carimbo de data/hora.

    instanceName String Nome da instância da VM em que o SAP ASE será instalado. O nome precisa ter 13 caracteres ou menos e ser especificado em letras minúsculas, números ou hífens.
    instanceType String Tipo de máquina virtual do Compute Engine em que o SAP ASE será instalado. Se você estiver executando o SAP ASE com o SAP NetWeaver na mesma VM, selecione um tipo de máquina que inclua CPUs e memória suficientes para suportar ambos os sistemas. Consulte o Guia de planejamento do SAP NetWeaver.
    zone String A zona em que você está implantando o SAP ASE. Ela precisa estar na mesma região que você selecionou para a sub-rede.
    subnetwork String O nome da sub-rede criada em uma etapa anterior. Se estiver implantando em uma VPC compartilhada, especifique esse valor como SHARED_VPC_PROJECT/SUBNETWORK. Por exemplo, myproject/network1.
    linuxImage String O nome da imagem do sistema operacional Linux ou da família de imagens que você está usando com o SAP ASE. Para especificar uma família de imagens, adicione o prefixo family/ ao nome da família. Por exemplo, family/rhel-7 ou family/sles-12-sp2-sap. Para usar uma imagem específica, insira apenas o nome da imagem. Para ver a lista de famílias de imagens disponíveis, consulte a página Imagens no Console do Cloud.
    linuxImageProject String O projeto do Google Cloud que contém a imagem que você usará. Ele pode ser seu próprio projeto ou um projeto de imagem do Google Cloud, como rhel-sap-cloud ou suse-sap-cloud. Para ver uma lista de projetos de imagem do Google Cloud, consulte a página Imagens na documentação do Compute Engine.
    aseSID String O ID da instância do banco de dados.
    asesidSize Inteiro O tamanho em GB de /sybase/DBSID, que é o diretório raiz da instância do banco de dados. Na VM implantada, o volume está rotulado como ASE.
    asediagSize Inteiro O tamanho de /sybase/DBSID/sapdiag, que contém o tablespace de diagnóstico para SAPTOOLS.
    asesaptempSize Inteiro O tamanho de /sybase/DBSID/saptmp, que armazena o tablespace temporário do banco de dados.
    asesapdataSize Inteiro O tamanho de /sybase/DBSID/sapdata, que armazena os arquivos de dados do banco de dados.
    aselogSize Inteiro O tamanho de /sybase/DBSIDlogdir, que armazena os registros de transação do banco de dados.
    asebackupSize Inteiro O tamanho do volume /sybasebackup. Se for definido como 0 ou omitido, nenhum disco será criado.
    asesapdataSSD boolean O SSD alterna para a unidade de dados. Se for definido como true, o disco de dados será SSD.
    aselogSSD boolean O SSD alterna para a unidade de registro. Se for definido como true, o disco de registro será SSD.
    usrsapSize Inteiro Necessário apenas se você estiver instalando o SAP ASE para executar com o SAP NetWeaver na mesma instância de VM.
    sapmntSize Inteiro Necessário apenas se você estiver instalando o SAP ASE para executar com o SAP NetWeaver na mesma instância de VM.
    swapSize Inteiro Necessário apenas se você estiver instalando o SAP ASE para executar com o SAP NetWeaver na mesma instância de VM.

    Com o arquivo de configuração a seguir, é criada uma VM configurada para execução do servidor de banco de dados do SAP ASE e o SAP NetWeaver. O Deployment Manager é direcionado pelo arquivo de configuração a implantar uma VM n1-standard-16 em execução em um sistema operacional SLES 12 SP2. A VM inclui todos os diretórios necessários para executar o SAP ASE com o SAP NetWeaver.

    resources:
    - name: sap_ase
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_ase/sap_ase.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/202103310846/dm-templates/sap_ase/sap_ase.py
      #
      properties:
        instanceName: ex-vm-ase-lin
        instanceType: n1-standard-16
        zone: us-central1-f
        subnetwork: example-sub-network
        linuxImage: family/sles-12-sp2-sap
        linuxImageProject: suse-sap-cloud
        aseSID: AS1
        asesidSize: 10
        asediagSize: 15
        asesaptempSize: 20
        asesapdataSize: 50
        aselogSize: 30
        asebackupSize: 100
        asesapdataSSD: Yes
        aselogSSD: Yes
        usrsapSize: 15
        sapmntSize: 15
        swapSize: 24
  6. Crie a instância da VM.

    gcloud deployment-manager deployments create DEPLOYMENT_NAME --config TEMPLATE_NAME.yaml

    O comando anterior invoca o Deployment Manager, que implanta a VM de acordo com as especificações do arquivo template.yaml. Isso pode levar alguns minutos. Para verificar o progresso da implantação, siga as etapas na próxima seção.

Como verificar a implantação

Para verificar a implantação, verifique os registros de implantação no Cloud Logging e verifique a configuração da VM.

Verificar os registros

  1. No console do Google Cloud, abra o Cloud Logging para monitorar o progresso da instalação e verificar se há erros.

    Acesse o Cloud Logging

  2. Filtre os registros:

    Explorador de registros

    1. Na página Explorador de registros, acesse o painel Consulta.

    2. No menu suspenso Recurso, selecione Global e clique em Adicionar.

      Se a opção Global não for exibida, insira a seguinte consulta no editor de consultas:

      resource.type="global"
      "Deployment"
      
    3. Clique em Run query.

    Visualizador de registros legado

    • Na página Visualizador de registros legado, no menu de seleção básico, selecione Global como o recurso de registros.
  3. Analise os registros filtrados:

    • Se "--- Finished" for exibido, o processamento do Deployment Manager estará concluído e será possível prosseguir para a próxima etapa.
    • Se você vir um erro de cota:

      1. Na página Cotas do IAM e Admin, aumente as cotas que não atendem aos requisitos do SAP ASE listados no Guia de planejamento do SAP ASE.

      2. Na página Implantaçõesdo Deployment Manager, exclua a implantação para limpar as VMs e discos permanentes da instalação com falha.

      3. Execute a implantação novamente.

Verificar a configuração da VM

  1. Depois que o sistema SAP ASE for implantado sem erros, conecte-se à sua VM usando SSH. Na página de instâncias da VM do Compute Engine, clique no botão SSH para acessar sua instância de VM ou use o método SSH que preferir.

    Botão SSH na página "Instâncias de VM" do Compute Engine.

  2. Mude para o usuário raiz.

    sudo su -
  3. No prompt de comando, insira df -h. Verifique se o resultado é semelhante ao seguinte, como o diretório //sybase/DBSID/sapdata.

    Volumes de dados criados pelo script.

  4. Digite o comando a seguir e confirme se o diretório de troca foi criado:

    cat /proc/meminfo | grep Swap

    Você verá resultados parecidos com os deste exemplo:

    Exemplo de saída do terminal quando há um diretório de troca

Se qualquer uma das etapas de validação mostrar que a instalação falhou, faça o seguinte:

  1. Corrija o erro.
  2. Na página Implantações, exclua a implantação para limpar as VMs e os discos permanentes da instalação que falhou.
  3. Execute a implantação novamente.

Como instalar o banco de dados

Seu sistema operacional está configurado. Instale seu banco de dados SAP ASE:

Para instalar o SAP ASE na VM:

  1. Estabeleça uma conexão SSH com a VM baseada em Linux.
  2. Faça o download ou copie a mídia de instalação do SAP ASE da SAP para sua VM.
  3. Prepare seu arquivo de licença ou servidor de licenças do SySAM do SAP ASE para uso com a instalação.
  4. Instale o banco de dados do SAP ASE. Para receber orientação, consulte o Guia de Instalação e Atualização do SAP ASE para Linux.

Validar a instalação do agente do Google Cloud para SAP

Depois de implantar uma VM e instalar o sistema SAP, confirme se o agente do Google Cloud para SAP está funcionando corretamente.

Verificar se o agente do Google Cloud para SAP está em execução

Para verificar se o agente está em execução, siga estas etapas:

  1. Estabeleça uma conexão SSH com a instância da VM do host.

  2. Execute este comando:

    systemctl status google-cloud-sap-agent

    Se o agente estiver funcionando corretamente, a saída conterá active (running). Exemplo:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

Se o agente não estiver em execução, reinicie-o.

Verificar se o SAP Host Agent está recebendo métricas

Para verificar se as métricas de infraestrutura são coletadas pelo agente do Google Cloud para SAP e enviadas corretamente ao agente de host da SAP, siga estas etapas:

  1. No sistema SAP, insira a transação ST06.
  2. No painel de visão geral, verifique a disponibilidade e o conteúdo dos seguintes campos para a configuração completa da infraestrutura de monitoramento da SAP e do Google:

    • Provedor de nuvem: Google Cloud Platform
    • Acesso ao monitoramento avançado: TRUE
    • Detalhes do monitoramento avançado: ACTIVE

Como realizar tarefas de pós-implantação

Antes de usar sua instância do SAP ASE, recomendamos que você execute as seguintes etapas de pós-implantação:

  1. Atualize seu software SAP ASE com os patches mais recentes, se disponíveis.
  2. Instale os outros componentes.
  3. Configure e faça o backup do seu novo banco de dados SAP ASE.

Para receber mais orientações de pós-implantação, consulte a seção Tarefas de pós-instalação do Guia de instalação e atualização do SAP ASE para Linux.

Solução de problemas

Nesta seção, você encontrará informações sobre como corrigir problemas comuns.

Solução de problemas de conexão com a VM

Se você estiver com problemas para se conectar à sua VM por meio do SSH, verifique se você criou uma regra de firewall para abrir a porta 22 na rede do Google Cloud que está usando.

Para outros problemas possíveis, consulte Problemas conhecidos do SSH no navegador.