Megosztás a következőn keresztül:


A vezérlősík üzembe helyezése

Az SAP Deployment Automation Framework vezérlősíkjának üzembe helyezése a következőkből áll:

  • Üzembe helyező
  • SAP-kódtár

Diagram that shows the control plane.

Az üzembehelyezési hitelesítő adatok előkészítése

Az SAP Deployment Automation Framework szolgáltatásneveket használ az üzembe helyezésekhez. Ha szolgáltatásnevet szeretne létrehozni a vezérlősík üzembe helyezéséhez, használjon egy olyan fiókot, amely rendelkezik a szolgáltatásnevek létrehozásához szükséges engedélyekkel:

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

Fontos

A szolgáltatásnév nevének egyedinek kell lennie.

A parancs kimeneti értékeinek rögzítése:

  • appId
  • jelszó
  • bérlő

Igény szerint rendelje hozzá a következő engedélyeket a szolgáltatásnévhez:

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

Ha csak az erőforráscsoportra vonatkozó felhasználói hozzáférési Rendszergazda istrator szerepkört szeretné megadni, használja a következő parancsot:


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

A vezérlősík üzembe helyezése

A vezérlősík telepítéséhez szükséges összes összetevő a GitHub-adattárakban található.

Készüljön fel a vezérlősík üzembe helyezésére az adattárak klónozásával az alábbi parancsokkal:

mkdir -p ~/Azure_SAP_Automated_Deployment; cd $_

git clone https://github.com/Azure/sap-automation.git sap-automation

git clone https://github.com/Azure/sap-automation-samples.git samples

A minta üzembe helyező konfigurációs fájlja MGMT-WEEU-DEP00-INFRASTRUCTURE.tfvars a ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/DEPLOYER/MGMT-WEEU-DEP00-INFRASTRUCTURE mappában található.

A minta SAP-kódtár konfigurációs fájlja MGMT-WEEU-SAP_LIBRARY.tfvars a ~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LIBRARY/MGMT-WEEU-SAP_LIBRARY mappában található.

A mintakonfigurációs fájlokat átmásolhatja az üzembehelyezési automatizálási keretrendszer tesztelésének megkezdéséhez.

Egy minimális Terraform-fájl az DEPLOYER alábbi példához hasonlóan nézhet ki:

# The environment value is a mandatory field, it is used for partitioning the environments.
environment = "MGMT"
# The location/region value is a mandatory field, it is used to control where the resources are deployed
location = "westeurope"

# management_network_address_space is the address space for management virtual network
management_network_address_space = "10.10.20.0/25"
# management_subnet_address_prefix is the address prefix for the management subnet
management_subnet_address_prefix = "10.10.20.64/28"

# management_firewall_subnet_address_prefix is the address prefix for the firewall subnet
management_firewall_subnet_address_prefix = "10.10.20.0/26"
firewall_deployment = false

# management_bastion_subnet_address_prefix is the address prefix for the bastion subnet
management_bastion_subnet_address_prefix = "10.10.20.128/26"
bastion_deployment = true

# deployer_enable_public_ip controls if the deployer Virtual machines will have Public IPs
deployer_enable_public_ip = false

# deployer_count defines how many deployer VMs will be deployed
deployer_count = 1

# use_service_endpoint defines that the management subnets have service endpoints enabled
use_service_endpoint = true

# use_private_endpoint defines that the storage accounts and key vaults have private endpoints enabled
use_private_endpoint = false

# enable_firewall_for_keyvaults_and_storage defines that the storage accounts and key vaults have firewall enabled
enable_firewall_for_keyvaults_and_storage = false

# public_network_access_enabled controls if storage account and key vaults have public network access enabled
public_network_access_enabled = true

Figyelje meg a Terraform változó fájlhelyeit a későbbi módosításokhoz az üzembe helyezés során.

Egy minimális Terraform-fájl az LIBRARY alábbi példához hasonlóan nézhet ki:

# The environment value is a mandatory field, it is used for partitioning the environments, for example, PROD and NP.
environment = "MGMT"
# The location/region value is a mandatory field, it is used to control where the resources are deployed
location = "westeurope"

#Defines the DNS suffix for the resources
dns_label = "azure.contoso.net"

# use_private_endpoint defines that the storage accounts and key vaults have private endpoints enabled
use_private_endpoint = false

Figyelje meg a Terraform változó fájlhelyeit a későbbi módosításokhoz az üzembe helyezés során.

Futtassa a következő parancsot a telepítő és az SAP-kódtár létrehozásához. A parancs hozzáadja a szolgáltatásnév adatait az üzembehelyezési kulcstartóhoz.

A szolgáltatásnév környezeti változóinak beállítása:


export ARM_SUBSCRIPTION_ID="<subscriptionId>"
export       ARM_CLIENT_ID="<appId>"
export   ARM_CLIENT_SECRET="<password>"
export       ARM_TENANT_ID="<tenantId>"

Futtassa a következő parancsot a vezérlősík üzembe helyezéséhez:


export            env_code="MGMT"
export         region_code="WEEU"
export           vnet_code="DEP00"

export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
export CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES"
export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"

az logout
az login --service-principal -u "${ARM_CLIENT_ID}" -p="${ARM_CLIENT_SECRET}" --tenant "${ARM_TENANT_ID}"

cd ~/Azure_SAP_Automated_Deployment/WORKSPACES


deployer_parameter_file="${CONFIG_REPO_PATH}/DEPLOYER/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE.tfvars"
library_parameter_file="${CONFIG_REPO_PATH}/LIBRARY/${env_code}-${region_code}-SAP_LIBRARY/${env_code}-${region_code}-SAP_LIBRARY.tfvars"

${SAP_AUTOMATION_REPO_PATH}/deploy/scripts/deploy_controlplane.sh  \
    --deployer_parameter_file "${deployer_parameter_file}"         \
    --library_parameter_file "${library_parameter_file}"            \
    --subscription "${ARM_SUBSCRIPTION_ID}"                        \
    --spn_id "${ARM_CLIENT_ID}"                                    \
    --spn_secret "${ARM_CLIENT_SECRET}"                            \
    --tenant_id "${ARM_TENANT_ID}"

Virtuális gép manuális konfigurálása SDAF-üzembe helyezőként az Azure Bastion használatával

Csatlakozás a telepítőhöz:

  1. Jelentkezzen be az Azure Portalra.

  2. Nyissa meg a központi virtuális gépet (VM) tartalmazó erőforráscsoportot.

  3. Csatlakozás a virtuális gépre az Azure Bastion használatával.

  4. Az alapértelmezett felhasználónév az azureadm.

  5. Válassza ki az SSH titkos kulcsát az Azure Key Vaultból.

  6. Válassza ki a vezérlősíkot tartalmazó előfizetést.

  7. Válassza ki a központi telepítési kulcstartót.

  8. A titkos kódok listájában válassza ki a -sshkey végződésű titkos kódot.

  9. Csatlakozzon a virtuális géphez.

Futtassa a következő szkriptet a telepítő konfigurálásához:


mkdir -p ~/Azure_SAP_Automated_Deployment; cd $_

wget https://raw.githubusercontent.com/Azure/sap-automation/main/deploy/scripts/configure_deployer.sh -O configure_deployer.sh	
chmod +x ./configure_deployer.sh
./configure_deployer.sh

# Source the new variables

. /etc/profile.d/deploy_server.sh

A szkript telepíti a Terraformot és az Ansible-t, és konfigurálja a telepítőt.

Virtuális gép manuális konfigurálása SDAF-üzembe helyezőként

Csatlakozás a központi virtuális gépre egy olyan számítógépről, amely elérheti az Azure-beli virtuális hálózatot.

Csatlakozás a telepítőhöz:

  1. Jelentkezzen be az Azure Portalra.

  2. Válassza ki vagy keresse meg a Kulcstartókat.

  3. A Key Vault lapon keresse meg a központi telepítési kulcstartót. A név a következővel MGMT[REGION]DEP00userkezdődik: . Szükség esetén szűrjön az erőforráscsoport vagy a hely szerint.

  4. A bal oldali panel Gépház szakaszában válassza a Titkos kulcsok lehetőséget.

  5. Keresse meg és válassza ki az sshkey-t tartalmazó titkos kulcsot. Lehet, hogy úgy MGMT-[REGION]-DEP00-sshkeynéz ki .

  6. A titkos kód oldalán válassza ki az aktuális verziót. Ezután másolja ki a Titkos kulcs értéket.

  7. Nyisson meg egy egyszerű szövegszerkesztőt. Másolja ki a titkos kulcs értékét.

  8. Mentse azt a fájlt, amelyben az SSH-kulcsokat tárolja. Például: C:\Users\<your-username>\.ssh.

  9. Mentse a fájlt. Ha a rendszer a Mentés típusként parancsot kéri, válassza a Minden fájl lehetőséget, ha az SSH nem lehetőség. Használja például a következőt deployer.ssh: .

  10. Csatlakozás a központi virtuális gépre bármilyen SSH-ügyfélen keresztül, például a Visual Studio Code-on keresztül. Használja a telepítő magánhálózati IP-címét és a letöltött SSH-kulcsot. A telepítőhöz a Visual Studio Code használatával való csatlakozással kapcsolatos útmutatásért tekintse meg a Visual Studio Code-tal való Csatlakozás. Ha PuTTY-t használ, először konvertálja az SSH-kulcsfájlt a PuTTYGen használatával.

Megjegyzés:

Az alapértelmezett felhasználónév az azureadm.

Konfigurálja a telepítőt a következő szkript használatával:

mkdir -p ~/Azure_SAP_Automated_Deployment; cd $_

wget https://raw.githubusercontent.com/Azure/sap-automation/main/deploy/scripts/configure_deployer.sh -O configure_deployer.sh	
chmod +x ./configure_deployer.sh
./configure_deployer.sh

# Source the new variables

. /etc/profile.d/deploy_server.sh

A szkript telepíti a Terraformot és az Ansible-t, és konfigurálja a telepítőt.

A vezérlősík biztonságossá tétele

A vezérlősík az SAP Automation-keretrendszer legkritikusabb része. Fontos, hogy biztonságossá tegye a vezérlősíkot. Az alábbi lépésekkel biztonságossá teheti a vezérlősíkot. Ha a vezérlősíkot külső virtuális géppel vagy a felhőhéj használatával hozta létre, a vezérlősíkot úgy kell biztonságossá tenni, hogy privát végpontokat implementál a tárfiókokhoz és a kulcstartókhoz.

A szkripttel sync_deployer.sh átmásolhatja a vezérlősík konfigurációs fájljait a központi virtuális gépre. Jelentkezzen be a központi virtuális gépre, és futtassa a következő parancsokat:


cd ~/Azure_SAP_Automated_Deployment/WORKSPACES

../sap-automation/deploy/scripts/sync_deployer.sh --storageaccountname mgtneweeutfstate### --state_subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Győződjön meg arról, hogy a use_private_endpoint változó a konfigurációs fájlokban DEPLOYERLIBRARY van beállítvatrue. Győződjön meg arról is, hogy public_network_access_enabled a konfigurációs fájlokban be DEPLOYER van állítvafalse.


# use_private_endpoint defines that the storage accounts and key vaults have private endpoints enabled
use_private_endpoint = true

# public_network_access_enabled controls if storage account and key vaults have public network access enabled
public_network_access_enabled = false

Futtassa újra a vezérlősík üzembe helyezését a tárfiókok és kulcstartók privát végpontjainak engedélyezéséhez.



export            env_code="MGMT"
export         region_code="WEEU"
export           vnet_code="DEP00"
export  storageaccountname=<storageaccountname>

export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
export CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES"
export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"

az logout
az login --service-principal -u "${ARM_CLIENT_ID}" -p="${ARM_CLIENT_SECRET}" --tenant "${ARM_TENANT_ID}"

cd ~/Azure_SAP_Automated_Deployment/WORKSPACES

deployer_parameter_file="${CONFIG_REPO_PATH}/DEPLOYER/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE.tfvars"
library_parameter_file="${CONFIG_REPO_PATH}/LIBRARY/${env_code}-${region_code}-SAP_LIBRARY/${env_code}-${region_code}-SAP_LIBRARY.tfvars"

${SAP_AUTOMATION_REPO_PATH}/deploy/scripts/deploy_controlplane.sh  \
    --deployer_parameter_file "${deployer_parameter_file}"         \
    --library_parameter_file "${library_parameter_file}"            \
    --subscription "${ARM_SUBSCRIPTION_ID}"                        \
    --spn_id "${ARM_CLIENT_ID}"                                    \
    --spn_secret "${ARM_CLIENT_SECRET}"                            \
    --tenant_id "${ARM_TENANT_ID}"                                 \
    --storageaccountname "${storageaccountname}"                   \
    --recover

A webalkalmazás előkészítése

Ez a lépés nem kötelező. Ha azt szeretné, hogy egy böngészőalapú UX segítse az SAP számítási feladatok zónáinak és rendszereinek konfigurálását, futtassa az alábbi parancsokat a vezérlősík üzembe helyezése előtt.

echo '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}]}]' >> manifest.json

region_code=WEEU

export TF_VAR_app_registration_app_id=$(az ad app create \
    --display-name ${region_code}-webapp-registration \
    --enable-id-token-issuance true \
    --sign-in-audience AzureADMyOrg \
    --required-resource-access @manifest.json \
    --query "appId" | tr -d '"')

export TF_VAR_webapp_client_secret=$(az ad app credential reset \
    --id $TF_VAR_app_registration_app_id --append               \
    --query "password" | tr -d '"')

export TF_VAR_use_webapp=true
rm manifest.json

Következő lépés