Bereitstellung von Workloadzonen mit dem SAP Automation Framework
Eine SAP-Anwendung verfügt in der Regel über mehrere Bereitstellungsebenen. Beispielsweise können Sie über Entwicklungs-, Qualitätssicherungs- und Produktionsebenen verfügen. Im SAP Deployment Automation Framework werden diese Ebenen als Workloadzonen bezeichnet.
Sie können Workloadzonen in mehreren Azure-Regionen verwenden. Jede Workloadzone verfügt dann über eine eigene Instanz von Azure Virtual Network.
Die folgenden Dienste werden von der SAP-Workloadzone bereitgestellt:
- Ein virtuelles Netzwerk mit Subnetzen und Netzwerksicherheitsgruppen
- Eine Azure Key Vault-Instanz für Systemanmeldeinformationen
- Ein Azure Storage-Konto für die Startdiagnose
- Ein Speicherkonto für Cloudzeugen
- Ein Azure NetApp Files-Konto und Kapazitätspools (optional)
- Azure Files-NFS-Freigaben (optional)
- Azure Monitor für SAP (optional)
Die Workloadzonen werden in einer Hub-and-Spoke-Architektur in der Regel in den Spokes bereitgestellt. Sie können in eigenen Abonnements enthalten sein.
Das private DNS wird von der Steuerungsebene oder von einer konfigurierbaren Quelle unterstützt.
Kern-Konfiguration
Die folgende Beispiel-Parameterdatei enthält nur die erforderlichen Parameter.
# 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"
Vorbereiten der Anmeldeinformationen für die Bereitstellung von Workloadzonen
Das SAP Deployment Automation Framework verwendet beim Bereitstellung Dienstprinzipale. Um den Dienstprinzipal für die Workloadzonenbereitstellung zu erstellen, verwenden Sie ein Konto mit Berechtigungen für das Erstellen von Dienstprinzipalen.
az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/<subscriptionID>" --name="<environment>-Deployment-Account"
Wichtig
Der Name des Dienstprinzipals muss eindeutig sein.
Zeichnen Sie die Ausgabewerte des Befehls auf:
- appId
- password
- tenant
Weisen Sie dem Dienstprinzipal die richtigen Berechtigungen zu.
az role assignment create --assignee <appId> \
--scope /subscriptions/<subscriptionID> \
--role "User Access Administrator"
Bereitstellen der SAP-Workloadzone
Die Beispielkonfigurationsdatei DEV-WEEU-SAP01-INFRASTRUCTURE.tfvars
für die Workloadzone befindet sich im Ordner ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LANDSCAPE/DEV-WEEU-SAP01-INFRASTRUCTURE
.
Führen Sie den folgenden Befehl aus, um die SAP-Workloadzone bereitzustellen.
Führen Sie diese Aufgabe über den Verteiler aus.
Sie können die Beispielkonfigurationsdateien kopieren, um mit dem Testen des Frameworks für die Bereitstellungsautomatisierung zu beginnen.
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}"
Tipp
Wenn die Skripts nicht ausgeführt werden können, kann es manchmal helfen, die lokalen Cachedateien zu löschen, indem Sie die Verzeichnisse ~/.sap_deployment_automation/
und ~/.terraform.d/
entfernen, bevor Sie die Skripts erneut ausführen.