Compartilhar via


Implantação de zonas de carga de trabalho na estrutura de automação do SAP

Um aplicativo SAP normalmente tem várias camadas de implantação. Por exemplo, você pode ter camadas de desenvolvimento, garantia de qualidade e produção. A Estrutura de Automação de Implantação do SAP chama essas camadas de zonas de carga de trabalho.

Você pode usar zonas de carga de trabalho em várias regiões do Azure. Cada zona de carga de trabalho tem sua própria instância da Rede Virtual do Azure.

Os seguintes serviços são fornecidos pela zona de carga de trabalho do SAP:

  • Uma rede virtual, incluindo as sub-redes e os grupos de segurança de rede
  • Uma instância do Azure Key Vault para credenciais do sistema
  • Uma conta do Armazenamento do Microsoft Azure para diagnóstico de inicialização
  • Uma conta de armazenamento para testemunhas de nuvem
  • Uma conta do Azure NetApp Files e pools de capacidade (opcional)
  • Compartilhamentos NFS dos Arquivos do Azure (opcional)
  • Azure Monitor para SAP (opcional)

Diagram that shows an SAP workload zone.

As zonas de carga de trabalho normalmente são implantadas em spokes em uma arquitetura de hub e spoke. Elas podem estar nas próprias assinaturas.

O DNS privado tem suporte a partir do plano de controle ou de uma fonte configurável.

Configuração principal

O arquivo de parâmetros de exemplo a seguir mostra apenas os parâmetros necessários.

# The environment value is a mandatory field, it is used for partitioning the environments, for example (PROD and NP)
environment="DEV"

# The location value is a mandatory field, it is used to control where the resources are deployed
location="westeurope"

# The network logical name is mandatory - it is used in the naming convention and should map to the workload virtual network logical name
network_name="SAP01"

# network_address_space is a mandatory parameter when an existing virtual network is not used
network_address_space="10.110.0.0/16"

# admin_subnet_address_prefix is a mandatory parameter if the subnets are not defined in the workload or if existing subnets are not used
admin_subnet_address_prefix="10.110.0.0/19"

# db_subnet_address_prefix is a mandatory parameter if the subnets are not defined in the workload or if existing subnets are not used
db_subnet_address_prefix="10.110.96.0/19"

# app_subnet_address_prefix is a mandatory parameter if the subnets are not defined in the workload or if existing subnets are not used
app_subnet_address_prefix="10.110.32.0/19"

# The automation_username defines the user account used by the automation
automation_username="azureadm"

Preparar as credenciais de implantação da zona de carga de trabalho

As estruturas de automação de implantação do SAP usam entidades de serviço ao fazer a implantação. Para criar a entidade de serviço para a implantação da zona de carga de trabalho, use uma conta com permissões para criar entidades de serviço.

az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/<subscriptionID>" --name="<environment>-Deployment-Account"

Importante

O nome da entidade de serviço deve ser exclusivo.

Registre os valores de saída do comando:

  • appId
  • password
  • locatário

Atribua as permissões corretas à entidade de serviço.

az role assignment create --assignee <appId> \
    --scope /subscriptions/<subscriptionID> \
    --role "User Access Administrator"

Implantar a zona de carga de trabalho do SAP

O arquivo de configuração de exemplo da zona de carga de trabalho DEV-WEEU-SAP01-INFRASTRUCTURE.tfvars está localizado na pasta ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LANDSCAPE/DEV-WEEU-SAP01-INFRASTRUCTURE.

Execute o comando a seguir para implantar a zona de carga de trabalho do SAP.

Execute essa tarefa do implantador.

Você pode copiar os arquivos de configuração de exemplo para começar a testar a estrutura de automação da implantação.

cd ~/Azure_SAP_Automated_Deployment

cp -R sap-automation/samples/WORKSPACES config


export  ARM_SUBSCRIPTION_ID="<subscriptionId>"
export        ARM_CLIENT_ID="<appId>"
export    ARM_CLIENT_SECRET="<password>"
export        ARM_TENANT_ID="<tenantId>"
export             env_code="DEV"
export          region_code="<region_code>"
export            vnet_code="SAP02"
export deployer_environment="MGMT"


export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
export CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/config/WORKSPACES"
export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"

az login --service-principal -u "${ARM_CLIENT_ID}" -p="${ARM_CLIENT_SECRET}" --tenant "${ARM_TENANT_ID}"


cd "${CONFIG_REPO_PATH}/LANDSCAPE/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE"
parameterFile="${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE.tfvars"

$SAP_AUTOMATION_REPO_PATH/deploy/scripts/install_workloadzone.sh   \
    --parameterfile "${parameterFile}"                             \
    --deployer_environment "${deployer_environment}"               \ 
    --subscription "${ARM_SUBSCRIPTION_ID}"                        \
    --spn_id "${ARM_CLIENT_ID}"                                    \
    --spn_secret "${ARM_CLIENT_SECRET}"                            \
    --tenant_id "${ARM_TENANT_ID}"
    

Dica

Se os scripts não forem executados, às vezes é possível solucionar fazendo a limpeza dos arquivos de cache local, removendo os diretórios ~/.sap_deployment_automation/ e ~/.terraform.d/ antes de executar os scripts novamente.

Próxima etapa