Implantação da zona de carga de trabalho na estrutura de automação SAP
Um aplicativo SAP normalmente tem várias camadas de desenvolvimento. Por exemplo, você pode ter níveis de desenvolvimento, garantia de qualidade e produção. O SAP Deployment Automation Framework 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 SAP:
- Uma rede virtual, incluindo sub-redes e grupos de segurança de rede
- Uma instância do Azure Key Vault, para credenciais do sistema
- Uma conta de Armazenamento do Azure para diagnóstico de inicialização
- Uma conta de armazenamento para testemunhas na nuvem
- Uma conta do Azure NetApp Files e pools de capacidade (opcional)
- Compartilhamentos NFS do Azure Files (opcional)
- Azure Monitor for SAP (opcional)
As zonas de carga de trabalho são normalmente implantadas em raios em uma arquitetura hub-and-spoke. Eles podem estar em suas próprias assinaturas.
O DNS privado é suportado a partir do plano de controlo ou de uma fonte configurável.
Configuração do núcleo
O arquivo de parâmetro 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
O SAP Deployment Automation Framework usa 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
- inquilino
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 SAP
O arquivo DEV-WEEU-SAP01-INFRASTRUCTURE.tfvars
de configuração da zona de carga de trabalho de exemplo está localizado na ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LANDSCAPE/DEV-WEEU-SAP01-INFRASTRUCTURE
pasta.
Execute o seguinte comando para implantar a zona de carga de trabalho SAP.
Execute esta tarefa a partir do implantador.
Você pode copiar os arquivos de configuração de exemplo para começar a testar a estrutura de automação de 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}"
Gorjeta
Se os scripts não forem executados, às vezes pode ajudar a limpar os arquivos de cache local removendo os ~/.sap_deployment_automation/
diretórios e ~/.terraform.d/
antes de executar os scripts novamente.