Implementación de la zona de carga de trabajo en el marco de automatización de SAP

Normalmente, las aplicaciones de SAP tienen varios niveles de desarrollo. Por ejemplo, puede tener los niveles de desarrollo, control de calidad y producción. El marco de automatización de implementación de SAP llama a estos niveles zonas de carga de trabajo.

Puede usar zonas de cargas de trabajo en varias regiones de Azure. Cada zona de carga de trabajo tiene su propia instancia de Azure Virtual Network.

La zona de cargas de trabajo de SAP proporciona los siguientes servicios:

  • Una red virtual, incluidas las subredes y los grupos de seguridad de red
  • Una instancia de Azure Key Vault para las credenciales del sistema
  • Una cuenta de Azure Storage para el diagnóstico de arranque
  • Una cuenta de almacenamiento para los testigos en la nube
  • Una cuenta de Azure NetApp Files y grupos de capacidad (opcional)
  • Recursos compartidos NFS de Azure Files (opcional)
  • Azure Monitor para SAP (opcional)

Diagram that shows an SAP workload zone.

Las zonas de carga de trabajo normalmente se implementan en radios en una arquitectura radial. Pueden estar en sus propias suscripciones.

El DNS privado se admite desde el plano de control o desde un origen configurable.

Configuración básica

En el siguiente archivo de parámetros de ejemplo solo se muestran los parámetros necesarios.

# 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"

Preparación de las credenciales de implementación de la zona de carga de trabajo

El marco de automatización de la implementación de SAP usa entidades de servicio al realizar la implementación. Para crear una entidad de servicio para la implementación de la zona de carga de trabajo, use una cuenta con permisos para crear entidades de servicio.

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

Importante

El nombre de la entidad de servicio debe ser único.

Registre los valores de salida del comando:

  • appId
  • password
  • tenant

Asigne los permisos correctos a la entidad de servicio.

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

Implementación de la zona de carga de trabajo de SAP

El archivo de configuración de la zona de carga de trabajo de ejemplo DEV-WEEU-SAP01-INFRASTRUCTURE.tfvars se encuentra en la carpeta ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LANDSCAPE/DEV-WEEU-SAP01-INFRASTRUCTURE.

Ejecute el siguiente comando para implementar la zona de carga de trabajo de SAP.

Realice esta tarea desde el implementador.

Puede copiar los archivos de configuración de ejemplo para empezar a probar el marco de automatización de la implementación.

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}"
    

Sugerencia

Si los scripts no se ejecutan, a veces puede ser útil borrar los archivos de la caché local quitando los directorios ~/.sap_deployment_automation/ y ~/.terraform.d/ antes de volver a ejecutar los scripts.

Paso siguiente