Planen der Bereitstellung des SAP-Automatisierungsframeworks
Es gibt mehrere Überlegungen zur Planung von SAP-Bereitstellungen mithilfe des SAP Deployment Automation Framework. Dazu gehören die Abonnementplanung, das virtuelle Netzwerkdesign für die Verwaltung von Anmeldeinformationen.
Allgemeine Überlegungen zum Design für SAP in Azure finden Sie unter Szenario für SAP-Einführung.
Hinweis
Die Terraform-Bereitstellung verwendet Terraform-Vorlagen, die von Microsoft aus dem Repository des SAP Deployment Automation Framework bereitgestellt werden. Die Vorlagen verwenden Parameterdateien mit Ihren systemspezifischen Informationen, um die Bereitstellung durchzuführen.
Abonnementplanung
Sie sollten die Steuerebene und die Workloadzonen in verschiedenen Abonnements bereitstellen. Die Steuerungsebene sollte sich in einem Hubabonnement befinden, das zum Hosten der Verwaltungskomponenten des SAP-Automatisierungsframeworks verwendet wird.
Die SAP-Systeme sollten in Speichenabonnements gehostet werden, die den SAP-Systemen zugeordnet sind. Ein Beispiel für die Partitionierung der Systeme wäre das Hosten der Entwicklungssysteme in einem separaten Abonnement mit einem dedizierten virtuellen Netzwerk. Die Produktionssysteme würden in ihrem eigenen Abonnement mit einem dedizierten virtuellen Netzwerk gehostet.
Dieser Ansatz bietet sowohl eine Sicherheitsgrenze als auch eine klare Trennung von Aufgaben und Zuständigkeiten. Beispielsweise kann das SAP Basis-Team Systeme in den Workloadzonen bereitstellen, und das Infrastrukturteam kann die Steuerungsebene verwalten.
Planung der Steuerungsebene
Sie können die Bereitstellungs- und Konfigurationsaktivitäten entweder über Azure Pipelines oder mithilfe der bereitgestellten Shellskripts direkt auf in Azure gehosteten Linux-VMs ausführen. Diese Umgebung wird als Steuerungsebene bezeichnet. Informationen zum Einrichten von Azure DevOps für das Bereitstellungsframework finden Sie unter Einrichten von Azure DevOps für das SAP Deployment Automation Framework. Informationen zum Einrichten eines virtuellen Linux-Computers als Bereitstellung finden Sie unter Einrichten virtueller Linux-Computer für das SAP Deployment Automation Framework.
Bevor Sie Ihre Steuerungsebene entwerfen, sollten Sie sich die folgenden Fragen stellen:
- In welchen Regionen müssen Sie SAP-Systeme bereitstellen?
- Gibt es ein dediziertes Abonnement für die Steuerungsebene?
- Gibt es dedizierte Anmeldeinformationen für die Bereitstellung (Dienstprinzipal) für die Steuerungsebene?
- Gibt es ein vorhandenes virtuelles Netzwerk oder ist ein neues virtuelles Netzwerk erforderlich?
- Wie wird der ausgehende Internetzugriff für die VMs bereitgestellt?
- Stellen Sie Azure Firewall für ausgehende Internetkonnektivität bereit?
- Sind private Endpunkte für Speicherkonten und den Schlüsseltresor erforderlich?
- Werden Sie eine vorhandene private DNS-Zone für die virtuellen Computer verwenden oder die Steuerungsebene zum Hosten von privatem DNS verwenden?
- Verwenden Sie Azure Bastion für den sicheren Remotezugriff auf die VMs?
- Verwenden Sie die Webanwendung für die Konfiguration des SAP Deployment Automation Framework für die Durchführung von Konfigurations- und Bereitstellungsaktivitäten?
Steuerungsebene
Die Steuerungsebene bietet die folgenden Dienste:
- Bereitstellungs-VMs, die Terraform-Bereitstellungen und die Ansible-Konfiguration ausführen. Diese fungieren als selbstgehostete Azure DevOps-Agents.
- Einen Schlüsseltresor mit den Anmeldeinformationen für die Bereitstellung (Dienstprinzipale), die von Terraform beim Ausführen der Bereitstellungen verwendet werden.
- Azure Firewall für die ausgehende Internetkonnektivität.
- Azure Bastion zur Bereitstellung eines sicheren Remotezugriffs auf die bereitgestellten VMs.
- Eine Azure-Webanwendung für das SAP Deployment Automation Framework zum Ausführen von Konfigurations- und Bereitstellungsaktivitäten.
Die Steuerungsebene wird mithilfe von zwei Konfigurationsdateien definiert, eine für die Bereitstellung und eine für die SAP-Bibliothek.
Die Bereitstellerkonfigurationsdatei definiert die Region, den Umgebungsnamen und die Informationen zum virtuellen Netzwerk. Zum Beispiel:
# Deployer Configuration File
environment = "MGMT"
location = "westeurope"
management_network_logical_name = "DEP01"
management_network_address_space = "10.170.20.0/24"
management_subnet_address_prefix = "10.170.20.64/28"
firewall_deployment = true
management_firewall_subnet_address_prefix = "10.170.20.0/26"
bastion_deployment = true
management_bastion_subnet_address_prefix = "10.170.20.128/26"
use_webapp = true
webapp_subnet_address_prefix = "10.170.20.192/27"
deployer_assign_subscription_permissions = true
deployer_count = 2
use_service_endpoint = false
use_private_endpoint = false
public_network_access_enabled = true
DNS Überlegungen
Berücksichtigen Sie beim Planen der DNS-Konfiguration für das Automatisierungsframework die folgenden Fragen:
- Gibt es ein vorhandenes privates DNS, in das die Lösungen integriert werden können, oder müssen Sie eine benutzerdefinierte private DNS-Zone für die Bereitstellungsumgebung verwenden?
- Werden Sie vordefinierte IP-Adressen für die VMs verwenden oder Azure diese dynamisch zuweisen lassen?
Sie können in eine vorhandene private DNS-Zone integriert werden, indem Sie die folgenden Werte in Ihren tfvars
-Dateien angeben:
management_dns_subscription_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
#management_dns_resourcegroup_name = "RESOURCEGROUPNAME"
use_custom_dns_a_registration = false
Ohne diese Werte wird in der SAP-Bibliotheksressourcengruppe eine private DNS-Zone erstellt.
Weitere Informationen finden Sie in der ausführlichen Erläuterung zum Konfigurieren des Bereitstellers.
SAP-Bibliothekskonfiguration
Die SAP-Bibliothekenressourcengruppe stellt Speicher für SAP-Installationsmedien, BOM-Dateien (Bill of Material, Stückliste), Terraform-Zustandsdateien und optional eine private DNS-Zone bereit. Die Konfigurationsdatei definiert die Region und den Umgebungsnamen für die SAP-Bibliothek. Parameterinformationen und Beispiele finden Sie unter Konfigurieren der SAP-Bibliothek für die Automatisierung.
Planen von Workloadzonen
Die meisten SAP-Anwendungslandschaften sind in verschiedenen Ebenen partitioniert. In SAP Deployment Automation Framework werden diese Ebenen als Workloadzonen bezeichnet. Beispielsweise verfügen Sie möglicherweise über unterschiedliche Workloadzonen für Entwicklung, Qualitätssicherung und Produktionssysteme. Weitere Informationen finden Sie unter Workloadzonen.
Die Workloadzone stellt die folgenden freigegebenen Dienste für die SAP-Anwendungen bereit:
- Virtuelle Azure-Netzwerke für virtuelle Netzwerke, Subnetze und Netzwerksicherheitsgruppen.
- Azure Key Vault zum Speichern der VM- und SAP-Systemanmeldeinformationen
- Azure Storage-Konten für Startdiagnose und Cloud Witness.
- Freigegebener Speicher für die SAP-Systeme: Azure Files oder Azure NetApp Files.
Bevor Sie Ihr Workloadzonenlayout entwerfen, sollten Sie sich die folgenden Fragen stellen:
- In welchen Regionen müssen Sie Workloads bereitstellen?
- Wie viele Workloadzonen sind für Ihr Szenario erforderlich (Entwicklung, Qualitätssicherung und Produktion usw.)?
- Erfolgt die Bereitstellung in neuen virtuellen Netzwerken, oder verwenden Sie vorhandene virtuelle Netzwerke?
- Welchen Speichertyp benötigen Sie für den freigegebenen Speicher (Azure Files NFS oder Azure NetApp Files)?
- Stellen Sie das NAT Gateway für ausgehende Internetkonnektivität bereit?
Die Standardbenennungskonvention für Workloadzonen lautet [ENVIRONMENT]-[REGIONCODE]-[NETWORK]-INFRASTRUCTURE
. DEV-WEEU-SAP01-INFRASTRUCTURE
gilt beispielsweise für eine Entwicklungsumgebung, die in der Region Europa, Westen mit dem virtuellen SAP01-Netzwerk gehostet wird. PRD-WEEU-SAP02-INFRASTRUCTURE
ist für eine Produktionsumgebung in der Region Europa, Westen, die mit dem virtuellen SAP02-Netzwerk gehostet wird.
Mit den Bezeichnungen SAP01
und SAP02
werden die logischen Namen für die virtuellen Azure-Netzwerke definiert. Sie können verwendet werden, um die Umgebungen weiter zu partitionieren. Angenommen, Sie benötigen zwei virtuelle Azure-Netzwerke für dieselbe Workloadzone. Sie können beispielsweise ein Szenario mit mehreren Abonnements haben, in dem Sie Entwicklungsumgebungen in zwei Abonnements hosten. Sie können die verschiedenen logischen Namen für jedes virtuelle Netzwerk verwenden. Sie können z. B. DEV-WEEU-SAP01-INFRASTRUCTURE
und DEV-WEEU-SAP02-INFRASTRUCTURE
verwenden.
Weitere Informationen finden Sie unter Konfigurieren einer Workloadzonenbereitstellung für die Automatisierung.
Windows-basierte Bereitstellungen
Wenn Sie Windows-basierte Bereitstellungen durchführen, müssen die VMs im virtuellen Netzwerk der Workloadzone mit Active Directory kommunizieren können, um die SAP-VMs in die Active Directory-Domäne einzubinden. Der angegebene DNS-Name muss von der Active Directory-Instanz aufgelöst werden können.
Das SAP Deployment Automation Framework erstellt keine Konten in Active Directory, daher müssen die Konten im Schlüsseltresor der Workloadzone vorkonfiguriert und gespeichert werden.
Anmeldeinformationen | Name | Beispiel |
---|---|---|
Konto, das Aktivitäten zum Domänenbeitritt ausführen kann | [IDENTIFIER]-ad-svc-account | DEV-WEEU-SAP01-ad-svc-account |
Kennwort für das Konto, das den Domänenbeitritt ausführt | [IDENTIFIER]-ad-svc-account-password | DEV-WEEU-SAP01-ad-svc-account-password |
sidadm -Kontokennwort |
[IDENTIFIER]-[SID]-win-sidadm_password_id | DEV-WEEU-SAP01-W01-winsidadm_password_id |
Kennwort des SID-Dienstkontos | [IDENTIFIER]-[SID]-svc-sidadm-password | DEV-WEEU-SAP01-W01-svc-sidadm-password |
SQL Server-Dienstkonto | [IDENTIFIER]-[SID]-sql-svc-account | DEV-WEEU-SAP01-W01-sql-svc-account |
SQL Serverdienst-Kontokennwort | [IDENTIFIER]-[SID]-sql-svc-password | DEV-WEEU-SAP01-W01-sql-svc-password |
SQL Server-Agent-Dienstkonto | [IDENTIFIER]-[SID]-sql-agent-account | DEV-WEEU-SAP01-W01-sql-agent-account |
SQL Server-Agent-Dienstkontopasswort | [IDENTIFIER]-[SID]-sql-agent-password | DEV-WEEU-SAP01-W01-sql-agent-password |
DNS-Einstellungen
Für Hochverfügbarkeitsszenarien wird ein DNS-Eintrag im Active Directory für das zentrale Dienstcluster von SAP benötigt. Der DNS-Eintrag muss in der Active Directory-DNS-Zone erstellt werden. Der Name des DNS-Eintrags ist definiert als [sid]>scs[scs instance number]cl1
. w01scs00cl1
wird beispielsweise für das Cluster verwendet, mit W01
als SID und 00
als Instanznummer.
Verwaltung von Anmeldeinformationen
Das Automatisierungsframework verwendet Dienstprinzipale für die Infrastrukturbereitstellung. Wir empfehlen die Verwendung unterschiedlicher Anmeldeinformationen für die Bereitstellung (Dienstprinzipale) für jede Workloadzone. Das Framework speichert diese Anmeldeinformationen im Schlüsseltresor des Bereitstellers. Anschließend ruft das Framework diese Anmeldeinformationen während des Bereitstellungsprozesses dynamisch ab.
Verwaltung der Anmeldeinformationen für SAP und virtuelle Computer
Das Automatisierungsframework verwendet den Schlüsseltresor der Workloadzone, um sowohl die Anmeldeinformationen der Automation-Benutzer als auch die Anmeldeinformationen des SAP-Systems zu speichern. In der folgenden Tabelle sind die Namen der Anmeldeinformationen des virtuellen Computers aufgeführt.
Anmeldeinformationen | Name | Beispiel |
---|---|---|
Privater Schlüssel | [IDENTIFIER]-sshkey | DEV-WEEU-SAP01-sid-sshkey |
Öffentlicher Schlüssel | [IDENTIFIER]-sshkey-pub | DEV-WEEU-SAP01-sid-sshkey-pub |
Username | [IDENTIFIER]-username | DEV-WEEU-SAP01-sid-username |
Kennwort | [IDENTIFIER]-password | DEV-WEEU-SAP01-sid-password |
sidadm -Kennwort |
[IDENTIFIER]-[SID]-sap-password | DEV-WEEU-SAP01-X00-sap-password |
sidadm -Kontokennwort |
[IDENTIFIER]-[SID]-winsidadm_password_id | DEV-WEEU-SAP01-W01-winsidadm_password_id |
Kennwort des SID-Dienstkontos | [IDENTIFIER]-[SID]-svc-sidadm-password | DEV-WEEU-SAP01-W01-svc-sidadm-password |
Dienstprinzipalerstellung
Erstellen Ihres Dienstprinzipals:
Melden Sie sich bei der Azure CLI mit einem Konto an, das über Berechtigungen zum Erstellen eines Dienstprinzipals verfügt
Erstellen Sie einen neuen Dienstprinzipal, indem Sie den Befehl
az ad sp create-for-rbac
ausführen. Stellen Sie sicher, dass Sie einen Beschreibungsnamen für--name
verwenden. Beispiel:az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" --name="DEV-Deployment-Account"
Notieren Sie sich die Ausgabe. Sie benötigen den Anwendungsbezeichner (
appId
), das Kennwort (password
) und den Mandantenbezeichner (tenant
) für den nächsten Schritt. Beispiel:{ "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "displayName": "DEV-Deployment-Account", "name": "http://DEV-Deployment-Account", "password": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
Weisen Sie dem Dienstprinzipal die Rolle „Benutzerzugriffsadministrator“ zu. Zum Beispiel:
az role assignment create --assignee <your-application-ID> --role "User Access Administrator" --scope /subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>
Weitere Informationen finden Sie in der Azure CLI-Dokumentation zum Erstellen eines Dienstprinzipals.
Wichtig
Wenn Sie dem Dienstprinzipal nicht die Rolle Benutzerzugriffsadministrator zuweisen, können Sie keine Berechtigungen mithilfe der Automatisierung zuweisen.
Verwaltung von Berechtigungen
In einer gesperrten Umgebung müssen Sie den Dienstprinzipalen u. U. eine weitere Berechtigung zuweisen. Möglicherweise müssen Sie dem Dienstprinzipal z. B. die Rolle „Benutzerzugriffsadministrator“ zuweisen.
Erforderliche Berechtigungen
In der folgenden Tabelle sind die erforderlichen Berechtigungen für den Dienstprinzipal aufgeführt.
Anmeldeinformationen | Bereich | Erforderliche Berechtigungen | Duration |
---|---|---|---|
Dienstprinzipalname der Steuerungsebene | Abonnement der Steuerungsebene | Beitragender | |
Dienstprinzipalname der Steuerungsebene | Deployer-Ressourcengruppe | Mitwirkender | |
Dienstprinzipalname der Steuerungsebene | Deployer-Ressourcengruppe | Benutzerzugriffsadministrator | Während des Setups |
Dienstprinzipalname der Steuerungsebene | SAP-Bibliotheksressourcengruppe | Mitwirkender | |
Dienstprinzipalname der Steuerungsebene | SAP-Bibliotheksressourcengruppe | Benutzerzugriffsadministrator | |
Dienstprinzipalname der Workloadzone | Zielabonnement | Mitwirkender | |
Dienstprinzipalname der Workloadzone | Ressourcengruppe „Workloadzone“ | Mitwirkender, Benutzerzugriffsadministrator | |
Dienstprinzipalname der Workloadzone | Abonnement der Steuerungsebene | Leser | |
Dienstprinzipalname der Workloadzone | Virtuelles Netzwerk der Steuerungsebene | Netzwerkmitwirkender | |
Dienstprinzipalname der Workloadzone | SAP-Bibliotheksspeicherkonto tfstate |
Speicherkontomitwirkender | |
Dienstprinzipalname der Workloadzone | SAP-Bibliotheksspeicherkonto sapbits |
Leser | |
Dienstprinzipalname der Workloadzone | Private DNS-Zone | Mitwirkender für private DNS-Zone | |
Identität der Webanwendung | Zielabonnement | Leser | |
Identität der Cluster-VM | Resource group | Fencing-Rolle |
Firewallkonfiguration
Komponente | Adressen | Duration | Notizen |
---|---|---|---|
SDAF | github.com/Azure/sap-automation , github.com/Azure/sap-automation-samples , githubusercontent.com |
Einrichtung des Bereitstellers | |
Terraform | releases.hashicorp.com , registry.terraform.io , checkpoint-api.hashicorp.com |
Einrichtung des Bereitstellers | Siehe Installieren von Terraform. |
Azure CLI | Installieren der Azure CLI | Einrichtung des Bereitstellers und während Bereitstellungen | Eine Beschreibung der Firewallanforderungen für die Installation der Azure-Befehlszeilenschnittstelle (Azure CLI) finden Sie unter Installieren der Azure CLI. |
PIP | bootstrap.pypa.io |
Einrichtung des Bereitstellers | Weitere Informationen unter Installieren von Ansible. |
Ansible | pypi.org , pythonhosted.org , files.pythonhosted.org , galaxy.ansible.com , 'https://ansible-galaxy-ng.s3.dualstack.us-east-1.amazonaws.com' |
Einrichtung des Bereitstellers | |
PowerShell-Katalog | onegetcdn.azureedge.net , psg-prod-centralus.azureedge.net , psg-prod-eastus.azureedge.net |
Einrichtung von Windows-basierten Systemen | Weitere Informationen unter PowerShell-Katalog. |
Windows-Komponenten | download.visualstudio.microsoft.com , download.visualstudio.microsoft.com , download.visualstudio.com |
Einrichtung von Windows-basierten Systemen | Weitere Informationen unter Visual Studio-Komponenten. |
SAP-Downloads | softwaredownloads.sap.com |
SAP-Softwaredownload | Weitere Informationen unter SAP-Downloads. |
Azure DevOps-Agent | https://vstsagentpackage.azureedge.net |
Einrichten von Azure DevOps |
Sie können die Verbindung zu den URLs von einer Linux-VM in Azure aus mit einem PowerShell-Skript testen, das die Funktion „run-command“ in Azure verwendet, um die Verbindung zu den URLs zu testen.
Das folgende Beispiel zeigt, wie Sie die Verbindung mit den URLs mithilfe eines interaktiven PowerShell-Skripts testen.
$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-SDAFURLs.ps1
}
else {
.\Test-SDAFURLs.ps1
}
DevOps-Struktur
Das Bereitstellungsframework verwendet drei separate Repositorys für die Bereitstellungsartefakte. Für Ihre eigenen Parameterdateien empfiehlt es sich, diese Dateien in einem von Ihnen verwalteten Quellcodeverwaltungs-Repository zu speichern.
Hauptrepository
Dieses Repository enthält die Terraform-Parameterdateien und die Dateien, die für die Ansible-Playbooks für alle Workloadzonen- und Systembereitstellungen erforderlich sind.
Zum Erstellen dieses Repositorys können Sie das Bootstrap-Repository des Automatisierungsframeworks für die SAP-Bereitstellung in Ihrem Repository für die Quellcodeverwaltung klonen.
Wichtig
Dieses Repository muss das Standardrepository für Ihr Azure DevOps-Projekt sein.
Ordnerstruktur
Die folgende Beispielordnerhierarchie zeigt, wie Sie Ihre Konfigurationsdateien zusammen mit den Automatisierungsframeworkdateien strukturieren.
Ordnername | Contents | Beschreibung |
---|---|---|
BOMs | BoM-Dateien | Wird für den manuellen BoM-Download verwendet |
BEREITSTELLER | Konfigurationsdateien für den Bereitsteller | Ein Ordner mit Bereitstellungskonfigurationsdateien für alle Bereitstellungen, die von der Umgebung verwaltet werden. Benennen Sie jeden Unterordner nach der Namenskonvention von Umgebung – Region – virtuelles Netzwerk. Beispiel: PROD-WEEU-DEP00-INFRASTRUCTURE. |
LIBRARY | Konfigurationsdateien für die SAP-Bibliothek | Ein Ordner mit SAP-Bibliothekskonfigurationsdateien für alle Bereitstellungen, die von der Umgebung verwaltet werden. Benennen Sie jeden Unterordner nach der Namenskonvention von Umgebung – Region – virtuelles Netzwerk. Beispiel: PROD-WEEU-SAP-LIBRARY. |
QUERFORMAT | Konfigurationsdateien für die Workloadzone | Ein Ordner mit Konfigurationsdateien für alle Workloadzonen, die von der Umgebung verwaltet werden. Benennen Sie jeden Unterordner nach der Namenskonvention Umgebung – Region – virtuelles Netzwerk. Beispiel: PROD-WEEU-SAP00-INFRASTRUCTURE. |
SYSTEM | Konfigurationsdateien für die SAP-Systeme | Ein Ordner mit Konfigurationsdateien für alle System-ID-Bereitstellungen (SID), die von der Umgebung verwaltet werden. Benennen Sie jeden Unterordner nach der Namenskonvention Umgebung – Region – virtuelles Netzwerk – SID. Beispiel: PROD-WEEU-SAPO00-ABC. |
Der Name Ihrer Parameterdatei wird zum Namen der Terraform-Statusdatei. Stellen Sie aus diesem Grund sicher, dass Sie einen eindeutigen Parameterdateinamen verwenden.
Coderepository
Dieses Repository enthält die Terraform-Automatisierungsvorlagen, die Ansible-Playbooks sowie die Bereitstellungspipelines und -skripts. In den meisten Anwendungsfällen sollten Sie dieses Repository als schreibgeschützt betrachten und es nicht ändern.
Um dieses Repository zu erstellen, klonen Sie das Repository des SAP Deployment Automation Framework in Ihr Quellcodeverwaltungs-Repository.
Nennen Sie dieses Repository sap-automation
.
Beispielrepository
Dieses Repository enthält die Beispieldateien für die Stückliste und die Terraform-Beispielkonfigurationsdateien.
Zum Erstellen dieses Repositorys können Sie das Beispielrepository des Automatisierungsframeworks für die SAP in Azure-Bereitstellung in Ihrem Repository für die Quellcodeverwaltung klonen.
Nennen Sie dieses Repository samples
.
Unterstützte Bereitstellungsszenarien
Das Automatisierungsframework unterstützt die Bereitstellung in neuen und vorhandenen Szenarien.
Azure-Regionen
Bevor Sie eine Lösung bereitstellen, müssen Sie berücksichtigen, welche Azure-Regionen verwendet werden sollen. Abhängig von Ihrem spezifischen Szenario können verschiedene Azure-Regionen in den Geltungsbereich fallen.
Das Framework für die Automatisierung unterstützt die Bereitstellung in mehreren Azure-Regionen. Jede Region hostet:
- Die Bereitstellungsinfrastruktur.
- Die SAP-Bibliothek mit Zustandsdateien und Installationsmedien.
- 1-n Workloadzonen.
- 1-n SAP-Systeme in den Workloadzonen.
Bereitstellungsumgebungen
Wenn Sie mehrere Workloadzonen in einer Region unterstützen, verwenden Sie einen eindeutigen Bezeichner für Ihre Bereitstellungsumgebung und SAP-Bibliothek. Verwenden Sie nicht den Bezeichner für die Workloadzone. Verwenden Sie beispielsweise MGMT
zu Verwaltungszwecken.
Das Automatisierungsframework unterstützt auch die Bereitstellungsumgebung und die SAP-Bibliothek in separaten Abonnements als die Workloadzonen.
Die Bereitstellungsumgebung stellt die folgenden Dienste bereit:
- Mindestens ein virtueller Bereitstellungscomputer, der die Infrastrukturbereitstellungen mithilfe von Terraform durchführt und die Systemkonfiguration und die SAP-Installation mithilfe von Ansible Playbooks durchführt.
- Ein Key Vault, der Informationen zur Dienstprinzipalidentität für die Verwendung durch Terraform-Bereitstellungen enthält.
- Eine Azure Firewall-Komponente, die ausgehende Internetkonnektivität bereitstellt.
Die Bereitstellungskonfigurationsdatei definiert die Region, den Umgebungsnamen und die Informationen zum virtuellen Netzwerk. Beispiel:
# 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"
# 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"
# management_bastion_subnet_address_prefix is a mandatory parameter if bastion is deployed and if the subnets are not defined in the workload or if existing subnets are not used
management_bastion_subnet_address_prefix = "10.10.20.128/26"
deployer_enable_public_ip = false
firewall_deployment = true
bastion_deployment = true
Weitere Informationen finden Sie in der ausführlichen Erläuterung zum Konfigurieren des Bereitstellers.
Struktur der Workloadzone
Die meisten SAP-Konfigurationen verfügen über mehrere Workloadzonen für verschiedene Anwendungsebenen. Beispielsweise verfügen Sie möglicherweise über unterschiedliche Workloadzonen für Entwicklung, Qualitätssicherung und Produktion.
Sie erstellen oder gewähren Zugriff auf die folgenden Dienste in jeder Workloadzone:
- Virtuelle Azure-Netzwerke für virtuelle Netzwerke, Subnetze und Netzwerksicherheitsgruppen.
- Azure Key Vault für Systemanmeldeinformationen und den Bereitstellungsdienstprinzipal.
- Azure Storage-Konten für Startdiagnose und Cloud Witness.
- Freigegebener Speicher für die SAP-Systeme: Azure Files oder Azure NetApp Files.
Bevor Sie Ihr Workloadzonenlayout entwerfen, sollten Sie sich die folgenden Fragen stellen:
- Wie viele Workloadzonen sind für Ihr Szenario erforderlich?
- In welchen Regionen müssen Sie Workloads bereitstellen?
- Wie sieht Ihr Bereitstellungsszenario aus?
Weitere Informationen finden Sie unter Konfigurieren einer Workloadzonenbereitstellung für die Automatisierung.
Einrichtung des SAP-Systems
Das SAP-System enthält alle Azure-Komponenten, die zum Hosten der SAP-Anwendung erforderlich sind.
Stellen Sie sich vor dem Konfigurieren des SAP-Systems die folgenden Fragen:
- Welches Datenbank-Back-End möchten Sie verwenden?
- Wie viele Datenbankserver benötigen Sie?
- Erfordert Ihr Szenario Hochverfügbarkeit?
- Wie viele Anwendungsserver benötigen Sie?
- Wie viele Web Dispatcher benötigen Sie, falls vorhanden?
- Wie viele zentrale Dienstinstanzen benötigen Sie?
- Welche Größe benötigen Sie für die VM?
- Welches VM-Image möchten Sie verwenden? Ist das Image auf Azure Marketplace oder benutzerdefiniert?
- Stellen Sie die Bereitstellung in einem neuen oder vorhandenen Bereitstellungsszenario bereit?
- Wie lautet Ihre IP-Zuordnungsstrategie? Soll Azure IP-Einstellungen festlegen oder benutzerdefinierte Einstellungen verwenden?
Weitere Informationen finden Sie unter Konfigurieren des SAP-Systems für die Automatisierung.
Bereitstellungsablauf
Wenn Sie eine Bereitstellung planen, ist es wichtig, den gesamten Ablauf zu berücksichtigen. Es gibt drei Hauptschritte einer SAP-Bereitstellung mit dem Automatisierungs-Framework in Azure.
Bereitstellen der Steuerungsebene. In diesem Schritt werden Komponenten bereitgestellt, um das SAP-Automatisierungs-Framework in einer angegebenen Azure-Region zu unterstützen.
- Sie erstellen die Bereitstellungsumgebung.
- Sie erstellen den freigegebenen Speicher für Terraform-Zustandsdateien.
- Sie erstellen den freigegebenen Speicher für das SAP-Installationsmedium.
Bereitstellen der Workloadzone. In diesem Schritt werden die Workloadzonenkomponenten bereitgestellt, z. B. das virtuelle Netzwerk und Key Vaults.
Bereitstellen des Systems. Dieser Schritt umfasst die Infrastruktur für die SAP-Systembereitstellung und die SAP-Konfiguration und SAP-Installation.
Benennungskonventionen
Das Automatisierungsframework verwendet eine Standardbenennungskonvention. Wenn Sie eine benutzerdefinierte Namenskonvention verwenden möchten, planen und definieren Sie Ihre benutzerdefinierten Namen vor der Bereitstellung. Weitere Informationen finden Sie unter Konfigurieren der Benennungskonvention.
Dimensionierung von Datenträgern
Wenn Sie benutzerdefinierte Datenträgergrößen konfigurieren möchten, sollten Sie ihr benutzerdefiniertes Setup vor der Bereitstellung planen.