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 anropar arbetsbelastningszonerna på dessa nivåer.

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 that shows an SAP workload zone.

Arbetsbelastningszonerna distribueras vanligtvis i ekrar i en hubb- och ekerarkitektur. 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änstens huvudnamn när du utför distributionen. Om du vill skapa tjänstens huvudnamn för distributionen av arbetsbelastningszonen använder du ett konto med behörighet att skapa tjänstens huvudnamn.

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:

  • appId
  • password
  • tenant

Tilldela rätt behörigheter till tjänstens huvudnamn.

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

Dricks

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.

Gå vidare