Distribution av arbetsbelastningszoner i SAP Automation-ramverket

Ett SAP-program har vanligtvis flera utvecklingsnivåer. Du kan till exempel ha utvecklings-, kvalitetssäkrings- och produktionsnivåer. SAP Deployment Automation Framework kallar dessa nivåer för arbetszoner.

Du kan använda arbetsbelastningszoner i flera Azure-regioner. Varje arbetsbelastningszon har sedan en egen instans av Azure Virtual Network.

Följande tjänster tillhandahålls av SAP-arbetsbelastningszonen:

  • Ett virtuellt nätverk, inklusive undernät och nätverkssäkerhetsgrupper
  • En Azure Key Vault-instans för systemautentiseringsuppgifter
  • Ett Azure Storage-konto för startdiagnostik
  • Ett lagringskonto för molnvittnen
  • Ett Azure NetApp Files-konto och kapacitetspooler (valfritt)
  • Azure Files NFS-resurser (valfritt)
  • Azure Monitor för SAP (valfritt)

Diagram som visar en SAP-arbetsbelastningszon.

Arbetsbelastningszonerna distribueras vanligtvis som ekrar i en nav-och-ekrar-arkitektur. De kan finnas i sina egna prenumerationer.

Den privata DNS:en stöds från kontrollplanet eller från en konfigurerbar källa.

Kärnkonfiguration

Följande exempelparameterfil visar endast obligatoriska parametrar.

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

Förbereda autentiseringsuppgifterna för arbetsbelastningszonens distribution

SAP Deployment Automation Framework använder tjänstprincipaler vid distributionen. För att skapa tjänsthuvudnamnet för distributionen i arbetsbelastningszonen, använd ett konto med behörighet att skapa tjänsthuvudnamn.

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

Viktigt!

Namnet på tjänstens huvudnamn måste vara unikt.

Registrera utdatavärdena från kommandot:

  • app-ID
  • lösenord
  • hyresgäst

Tilldela rätt behörigheter till tjänsthuvudmannen.

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

Distribuera SAP-arbetsbelastningszonen

Exempelkonfigurationsfilen DEV-WEEU-SAP01-INFRASTRUCTURE.tfvars för arbetsbelastningszonen finns i ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LANDSCAPE/DEV-WEEU-SAP01-INFRASTRUCTURE mappen.

Kör följande kommando för att distribuera SAP-arbetsbelastningszonen.

Utför den här uppgiften från distribueraren.

Du kan kopiera exempelkonfigurationsfilerna för att börja testa ramverket för distributionsautomatisering.

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

Tips/Råd

Om skripten inte kan köras kan det ibland hjälpa till att rensa de lokala cachefilerna genom att ta bort ~/.sap_deployment_automation/ katalogerna och ~/.terraform.d/ innan du kör skripten igen.

Nästa steg