Začínáme s architekturou SAP Deployment Automation Framework
Začněte rychle s architekturou SAP Deployment Automation Framework.
Požadavky
Pokud chcete začít s architekturou SAP Deployment Automation Framework, potřebujete:
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, můžete si vytvořit bezplatný účet.
- Uživatelský účet SAP s oprávněními ke stažení softwaru SAP ve vašem prostředí Azure. Další informace o uživateli S-User najdete v tématu SAP S-User.
- Instalace Azure CLI.
- Identita přiřazená uživatelem (MS) nebo instanční objekt, který se má použít pro nasazení řídicí roviny.
- Identita přiřazená uživatelem (MS) nebo instanční objekt, který se má použít pro nasazení zóny úloh.
- Možnost vytvořit projekt Azure DevOps, pokud chcete k nasazení použít Azure DevOps.
Některé požadavky už můžou být ve vašem prostředí nasazení nainstalované. Azure Cloud Shell i nasazovač jsou součástí Terraformu a nainstalovaného Azure CLI.
Vytvoření instančního objektu služby
Architektura nasazení automatizace SAP používá k nasazení instanční objekty.
Když zvolíte název instančního objektu, ujistěte se, že je název v rámci vašeho tenanta Azure jedinečný. Při spuštění skriptu nezapomeňte použít účet s oprávněními k vytvoření instančních objektů.
Vytvořte instanční objekt s oprávněními přispěvatele.
export ARM_SUBSCRIPTION_ID="<subscriptionId>" export control_plane_env_code="LAB" az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/$ARM_SUBSCRIPTION_ID" --name="$control_plane_env_code-Deployment-Account"
Zkontrolujte výstup. Příklad:
{ "appId": "<AppId>", "displayName": "<environment>-Deployment-Account ", "name": "<AppId>", "password": "<AppSecret>", "tenant": "<TenantId>" }
Zkopírujte podrobnosti výstupu. Nezapomeňte uložit hodnoty pro
appId
,password
aTenant
.Výstup se mapuje na následující parametry. Tyto parametry použijete v pozdějších krocích s příkazy automatizace.
Název vstupu parametru Název výstupu spn_id
appId
spn_secret
password
tenant_id
tenant
Volitelně přiřaďte roli Uživatelský přístup k instančnímu objektu Správa istrator.
export appId="<appId>" az role assignment create --assignee $appId --role "User Access Administrator" --scope /subscriptions/$ARM_SUBSCRIPTION_ID
Důležité
Pokud k instančnímu objektu nepřiřazujete roli Uživatelský přístup Správa istrator, nemůžete přiřadit oprávnění pomocí architektury automatizace.
Vytvoření identity přiřazené uživatelem
Architektura nasazení automatizace SAP může také pro nasazení použít identitu přiřazenou uživatelem (MSI). Při spuštění skriptu, který vytvoří identitu, nezapomeňte použít účet s oprávněními k vytváření spravovaných identit.
Vytvořte spravovanou identitu.
export ARM_SUBSCRIPTION_ID="<subscriptionId>" export control_plane_env_code="LAB" az identity create --name ${control_plane_env_code}-Deployment-Identity --resource-group <ExistingResourceGroup>
Zkontrolujte výstup. Příklad:
{ "clientId": "<appId>", "id": "<armId>", "location": "<location>", "name": "${control_plane_env_code}-Deployment-Identity", "principalId": "<objectId>", "resourceGroup": "<ExistingResourceGroup>", "systemData": null, "tags": {}, "tenantId": "<TenantId>", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Zkopírujte podrobnosti výstupu.
Výstup se mapuje na následující parametry. Tyto parametry použijete v pozdějších krocích s příkazy automatizace.
Název vstupu parametru Název výstupu app_id
appId
msi_id
armId
Přiřaďte k identitě roli Přispěvatel.
export appId="<appId>" az role assignment create --assignee $appId --role "Contributor" --scope /subscriptions/$ARM_SUBSCRIPTION_ID
Volitelně můžete identitě přiřadit roli Uživatelský přístup Správa istrator.
export appId="<appId>" az role assignment create --assignee $appId --role "User Access Administrator" --scope /subscriptions/$ARM_SUBSCRIPTION_ID
Důležité
Pokud spravované identitě nepřiřazujete roli User Access Správa istrator, nemůžete přiřadit oprávnění pomocí architektury automation.
Kontroly před testovacími verzemi
K provedení předběžných kontrol můžete použít následující skript. Skript provede následující kontroly a testy:
- Zkontroluje, jestli má instanční objekt správná oprávnění k vytváření prostředků v předplatném.
- Zkontroluje, jestli má instanční objekt oprávnění k přístupu uživatele Správa istrator.
- Vytvořte virtuální síť Azure.
- Vytvořte službu Azure Virtual Key Vault s privátním koncovým bodem.
- Vytvořte sdílenou složku Azure Files NSF.
- Vytvoření virtuálního počítače Azure s datovým diskem pomocí Premium Storage v2
- Pomocí nasazeného virtuálního počítače zkontrolujte přístup k požadovaným adresám URL.
$sdaf_path = Get-Location
if ( $PSVersionTable.Platform -eq "Unix") {
if ( -Not (Test-Path "SDAF") ) {
$sdaf_path = New-Item -Path "SDAF" -Type Directory
}
}
else {
$sdaf_path = Join-Path -Path $Env:HOMEDRIVE -ChildPath "SDAF"
if ( -not (Test-Path $sdaf_path)) {
New-Item -Path $sdaf_path -Type Directory
}
}
Set-Location -Path $sdaf_path
git clone https://github.com/Azure/sap-automation.git
cd sap-automation
cd deploy
cd scripts
if ( $PSVersionTable.Platform -eq "Unix") {
./Test-SDAFReadiness.ps1
}
else {
.\Test-SDAFReadiness.ps1
}
Použití architektury SAP Deployment Automation Framework z Azure DevOps Services
Použití Azure DevOps zjednodušuje proces nasazení. Azure DevOps poskytuje kanály, které můžete spustit pro nasazení infrastruktury a aktivity konfigurace a instalace SAP.
Azure Repos můžete použít k ukládání konfiguračních souborů. Azure Pipelines poskytuje kanály, které je možné použít k nasazení a konfiguraci infrastruktury a aplikace SAP.
Registrace ke službě Azure DevOps Services
Pokud chcete používat Azure DevOps Services, potřebujete organizaci Azure DevOps. Organizace se používá k propojení skupin souvisejících projektů. Pomocí pracovního nebo školního účtu můžete automaticky připojit vaši organizaci k vašemu ID Microsoft Entra. Pokud chcete vytvořit účet, otevřete Azure DevOps a přihlaste se nebo vytvořte nový účet.
Vytvoření prostředí SAP Deployment Automation Framework pomocí Azure DevOps
Pomocí následujícího skriptu můžete provést základní instalaci služby Azure DevOps Services pro architekturu SAP Deployment Automation Framework.
Otevřete prostředí PowerShell ISE a zkopírujte následující skript a aktualizujte parametry tak, aby odpovídaly vašemu prostředí.
$Env:SDAF_ADO_ORGANIZATION = "https://dev.azure.com/ORGANIZATIONNAME"
$Env:SDAF_ADO_PROJECT = "SAP Deployment Automation Framework"
$Env:SDAF_CONTROL_PLANE_CODE = "MGMT"
$Env:SDAF_WORKLOAD_ZONE_CODE = "DEV"
$Env:SDAF_ControlPlaneSubscriptionID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$Env:SDAF_WorkloadZoneSubscriptionID = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
$Env:ARM_TENANT_ID="zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz"
$UniqueIdentifier = Read-Host "Please provide an identifier that makes the service principal names unique, for instance a project code"
$confirmation = Read-Host "Do you want to create a new Application registration (needed for the Web Application) y/n?"
if ($confirmation -eq 'y') {
$Env:SDAF_APP_NAME = $UniqueIdentifier + " SDAF Control Plane"
}
else {
$Env:SDAF_APP_NAME = Read-Host "Please provide the Application registration name"
}
$confirmation = Read-Host "Do you want to create a new Service Principal for the Control plane y/n?"
if ($confirmation -eq 'y') {
$Env:SDAF_MGMT_SPN_NAME = $UniqueIdentifier + " SDAF " + $Env:SDAF_CONTROL_PLANE_CODE + " SPN"
}
else {
$Env:SDAF_MGMT_SPN_NAME = Read-Host "Please provide the Control Plane Service Principal Name"
}
$confirmation = Read-Host "Do you want to create a new Service Principal for the Workload zone y/n?"
if ($confirmation -eq 'y') {
$Env:SDAF_WorkloadZone_SPN_NAME = $UniqueIdentifier + " SDAF " + $Env:SDAF_WORKLOAD_ZONE_CODE + " SPN"
}
else {
$Env:SDAF_WorkloadZone_SPN_NAME = Read-Host "Please provide the Workload Zone Service Principal Name"
}
if ( $PSVersionTable.Platform -eq "Unix") {
if ( Test-Path "SDAF") {
}
else {
$sdaf_path = New-Item -Path "SDAF" -Type Directory
}
}
else {
$sdaf_path = Join-Path -Path $Env:HOMEDRIVE -ChildPath "SDAF"
if ( Test-Path $sdaf_path) {
}
else {
New-Item -Path $sdaf_path -Type Directory
}
}
Set-Location -Path $sdaf_path
if ( Test-Path "New-SDAFDevopsProject.ps1") {
remove-item .\New-SDAFDevopsProject.ps1
}
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/main/deploy/scripts/New-SDAFDevopsProject.ps1 -OutFile .\New-SDAFDevopsProject.ps1 ; .\New-SDAFDevopsProject.ps1
Spusťte skript a postupujte podle pokynů. Skript otevře okna prohlížeče pro ověřování a pro provádění úkolů v projektu Azure DevOps.
Můžete zvolit, jestli chcete kód spustit přímo z GitHubu, nebo můžete importovat kopii kódu do projektu Azure DevOps.
Pokud chcete ověřit, že byl projekt vytvořen, přejděte na portál Azure DevOps a vyberte projekt. Ujistěte se, že se úložiště naplnilo a že se kanály vytvořily.
Důležité
Na místní pracovní stanici spusťte následující kroky. Spuštěním příkazu se také ujistěte, že máte nainstalované nejnovější Rozhraní příkazového az upgrade
řádku Azure.
Další informace o konfiguraci Azure DevOps pro architekturu SAP Deployment Automation Framework najdete v tématu Konfigurace Azure DevOps pro architekturu SAP Deployment Automation Framework.
Vytvoření prostředí SAP Deployment Automation Framework bez Azure DevOps
Rozhraní SAP Deployment Automation Framework můžete spustit z virtuálního počítače v Azure. Následující kroky popisují, jak vytvořit prostředí.
Důležité
Ujistěte se, že virtuální počítač k vytváření prostředků používá identitu přiřazenou systémem nebo přiřazenou uživatelem s oprávněními k předplatnému.
Ujistěte se, že má virtuální počítač nainstalované následující požadavky:
- git
- jq
- Rozbalte
- virtualenv (pokud běží na Ubuntu)
Požadavky můžete nainstalovat na virtuální počítač s Ubuntu pomocí následujícího příkazu:
sudo apt-get install -y git jq unzip virtualenv
Komponenty nasazovacího modulu pak můžete nainstalovat pomocí následujících příkazů:
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
Ukázky
Složka ~/Azure_SAP_Automated_Deployment/samples
obsahuje sadu ukázkových konfiguračních souborů pro zahájení testování architektury automatizace nasazení. Můžete je zkopírovat pomocí následujících příkazů:
cd ~/Azure_SAP_Automated_Deployment
cp -Rp samples/Terraform/WORKSPACES ~/Azure_SAP_Automated_Deployment