Wdrażanie strefy obciążenia w strukturze automatyzacji SAP
Aplikacja SAP zwykle ma wiele warstw programistycznych. Na przykład możesz mieć warstwy programowania, kontroli jakości i produkcji. Struktura SAP Deployment Automation Framework wywołuje te warstwy obciążeń.
Strefy obciążenia można używać w wielu regionach świadczenia usługi Azure. Każda strefa obciążenia ma własne wystąpienie usługi Azure Virtual Network.
Następujące usługi są udostępniane przez strefę obciążenia SAP:
- Sieć wirtualna, w tym podsieci i sieciowe grupy zabezpieczeń
- Wystąpienie usługi Azure Key Vault dla poświadczeń systemowych
- Konto usługi Azure Storage na potrzeby diagnostyki rozruchu
- Konto magazynu dla świadków chmury
- Konto usługi Azure NetApp Files i pule pojemności (opcjonalnie)
- Udziały NFS usługi Azure Files (opcjonalnie)
- Usługa Azure Monitor dla systemu SAP (opcjonalnie)
Strefy obciążenia są zwykle wdrażane w szprychach w architekturze piasty i szprych. Mogą one znajdować się we własnych subskrypcjach.
Prywatny system DNS jest obsługiwany z płaszczyzny sterowania lub z konfigurowalnego źródła.
Podstawowa konfiguracja
Poniższy przykładowy plik parametrów zawiera tylko wymagane parametry.
# 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"
Przygotowywanie poświadczeń wdrożenia strefy obciążenia
Program SAP Deployment Automation Framework używa jednostek usługi podczas wdrażania. Aby utworzyć jednostkę usługi dla wdrożenia strefy obciążenia, użyj konta z uprawnieniami do tworzenia jednostek usługi.
az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/<subscriptionID>" --name="<environment>-Deployment-Account"
Ważne
Nazwa jednostki usługi musi być unikatowa.
Zapisz wartości wyjściowe z polecenia :
- appId
- hasło
- tenant
Przypisz poprawne uprawnienia do jednostki usługi.
az role assignment create --assignee <appId> \
--scope /subscriptions/<subscriptionID> \
--role "User Access Administrator"
Wdrażanie strefy obciążenia SAP
Przykładowy plik DEV-WEEU-SAP01-INFRASTRUCTURE.tfvars
konfiguracji strefy obciążenia znajduje się w folderze ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LANDSCAPE/DEV-WEEU-SAP01-INFRASTRUCTURE
.
Uruchom następujące polecenie, aby wdrożyć strefę obciążenia SAP.
Wykonaj to zadanie z narzędzia wdrażania.
Możesz skopiować przykładowe pliki konfiguracji, aby rozpocząć testowanie struktury automatyzacji wdrażania.
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}"
Napiwek
Jeśli nie można uruchomić skryptów, czasami może pomóc wyczyścić lokalne pliki pamięci podręcznej, usuwając ~/.sap_deployment_automation/
katalogi i ~/.terraform.d/
przed ponownym uruchomieniem skryptów.