Condividi tramite


Distribuzione della zona del carico di lavoro nel framework di automazione SAP

Un'applicazione SAP ha in genere più livelli di sviluppo. Ad esempio, si potrebbero avere livelli di sviluppo, controllo qualità e produzione. SAP Deployment Automation Framework chiama queste zone del carico di lavoro di livelli.

È possibile usare le zone del carico di lavoro in più aree di Azure. Ogni zona del carico di lavoro ha quindi una propria istanza di Azure Rete virtuale.

I servizi seguenti vengono forniti dall'area del carico di lavoro SAP:

  • Una rete virtuale, incluse subnet e gruppi di sicurezza di rete
  • Un'istanza di Azure Key Vault per le credenziali di sistema
  • Un account Archiviazione di Azure per la diagnostica di avvio
  • Un account Archiviazione per i testimoni cloud
  • Un account e pool di capacità di Azure NetApp Files (facoltativo)
  • File di Azure condivisioni NFS (facoltativo)

Diagram that shows an SAP workload zone.

Le zone del carico di lavoro vengono in genere distribuite in spoke in un'architettura hub-spoke. Possono trovarsi nelle proprie sottoscrizioni.

Il DNS privato è supportato dal piano di controllo o da un'origine configurabile.

Configurazione di base

Il file di parametri di esempio seguente mostra solo i parametri obbligatori.

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

Preparare le credenziali di distribuzione della zona del carico di lavoro

SAP Deployment Automation Framework usa le entità servizio durante la distribuzione. Per creare l'entità servizio per la distribuzione della zona del carico di lavoro, usare un account con autorizzazioni per creare entità servizio.

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

Importante

Il nome dell'entità servizio deve essere univoco.

Registrare i valori di output dal comando :

  • appId
  • password
  • tenant

Assegnare le autorizzazioni corrette all'entità servizio.

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

Distribuire l'area del carico di lavoro SAP

Il file DEV-WEEU-SAP01-INFRASTRUCTURE.tfvars di configurazione dell'area di carico di lavoro di esempio si trova nella ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LANDSCAPE/DEV-WEEU-SAP01-INFRASTRUCTURE cartella .

Eseguire il comando seguente per distribuire l'area del carico di lavoro SAP.

Eseguire questa attività dal deployer.

È possibile copiare i file di configurazione di esempio per avviare il test del framework di automazione della distribuzione.

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

Suggerimento

Se l'esecuzione degli script non riesce, a volte può essere utile cancellare i file della cache locale rimuovendo le ~/.sap_deployment_automation/ directory e ~/.terraform.d/ prima di eseguire di nuovo gli script.

Passaggio successivo