Freigeben über


Konfiguration von Workloadzonen im Automation-Framework für SAP

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. In der folgenden Abbildung sehen Sie ein Beispiel für eine Workloadzone mit zwei SAP-Systemen.

Abbildung: SAP-Workflowzonen und -Systeme.

Die Workloadzone stellt gemeinsam genutzte Dienste für alle SAP-Systeme in der Workloadzone bereit. Zu diesen gemeinsam genutzten Diensten zählen:

  • Virtuelles Azure-Netzwerk
  • Azure Key Vault (ein Dienst zur sicheren Verwaltung kryptografischer Schlüssel)
  • Gemeinsam genutztes Azure Storage-Konto für Installationsmedien
  • Azure NetApp Files-Konto und Kapazitätspools (optional)

Die Workloadzone wird in der Regel in einem Spoke-Abonnement bereitgestellt, und für die Bereitstellung aller Artefakte in der Workloadzone wird ein eindeutiger Dienstprinzipal verwendet.

Bereitstellungskonfiguration für Workloadzonen

Für die Konfiguration der SAP-Workloadzone wird eine Terraform-Variablendatei vom Typ tfvars verwendet. Beispiele für die Variablendatei finden Sie im Ordner samples/WORKSPACES/LANDSCAPE.

In den folgenden Abschnitten werden die verschiedenen Abschnitte der Variablendatei gezeigt.

Umgebungsparameter

Die folgende Tabelle enthält die Parameter, die die Umgebungseinstellungen definieren:

Variable BESCHREIBUNG Typ Notizen
environment Bezeichner für die Workloadzone (max. fünf Zeichen) Obligatorisch. Zum Beispiel PROD für eine Produktionsumgebung und QA für eine Qualitätssicherungsumgebung.
location Die Azure-Region, in der die Bereitstellung erfolgen soll Erforderlich
name_override_file Datei zum Überschreiben von Namen Wahlfrei Weitere Informationen finden Sie unter Benutzerdefinierte Benennung.
tags Ein Wörterbuch mit Tags, die allen Ressourcen zugeordnet werden sollen. Wahlfrei

Ressourcengruppenparameter

Die folgende Tabelle enthält die Parameter, die die Ressourcengruppe definieren:

Variable BESCHREIBUNG Typ
resourcegroup_name Name der zu erstellenden Ressourcengruppe Wahlfrei
resourcegroup_arm_id Azure-Ressourcenbezeichner für eine bestehende Ressourcengruppe Wahlfrei
resourcegroup_tags Tags, die der Ressourcengruppe zugeordnet werden sollen Wahlfrei

Netzwerk-Parameter

Automation Framework unterstützt sowohl das Erstellen des virtuellen Netzwerks und der Subnetze („Greenfield“) als auch die Verwendung eines vorhandenen virtuellen Netzwerks und vorhandener Subnetze („Brownfield“) oder einer Kombination aus Greenfield und Brownfield:

  • Greenfield-Szenario: Der Adressraum des virtuellen Netzwerks und die Adresspräfixe im Subnetz müssen angegeben werden.
  • Brownfield-Szenario: Die Azure-Ressourcenkennung für das virtuelle Netzwerk und die Subnetze müssen angegeben werden.

Sicherstellen, dass der Adressraum des virtuellen Netzwerks groß genug ist, um alle Ressourcen zu hosten.

Die folgende Tabelle enthält die Netzwerkparameter:

Variable BESCHREIBUNG Typ Notizen
network_logical_name Der logische Name des Netzwerks, z. B. SAP01 Erforderlich Wird für die Ressourcenbenennung verwendet
network_name Der Name des Netzwerks Wahlfrei
network_arm_id Die Azure-Ressourcenkennung für das virtuelle Netzwerk Wahlfrei Für Brownfield-Bereitstellungen
network_address_space Der Adressbereich für das virtuelle Netz Obligatorisch. Für Greenfield-Bereitstellungen
admin_subnet_address_prefix Der Adressbereich für das admin-Subnetz Obligatorisch. Für Greenfield-Bereitstellungen
admin_subnet_arm_id Die Azure-Ressourcenkennung für das admin-Subnetz Obligatorisch. Für Brownfield-Bereitstellungen
admin_subnet_name Der Name des admin-Subnetzes Wahlfrei
admin_subnet_nsg_name Der Name der admin-Netzwerksicherheitsgruppe Wahlfrei
admin_subnet_nsg_arm_id Der Azure-Ressourcenbezeichner für die admin-Netzwerksicherheitsgruppe Obligatorisch. Für Brownfield-Bereitstellungen
db_subnet_address_prefix Der Adressbereich für das db-Subnetz Obligatorisch. Für Greenfield-Bereitstellungen
db_subnet_arm_id Die Azure-Ressourcenkennung für das db-Subnetz Obligatorisch. Für Brownfield-Bereitstellungen
db_subnet_name Der Name des db-Subnetzes Wahlfrei
db_subnet_nsg_name Der Name der db-Netzwerksicherheitsgruppe Wahlfrei
db_subnet_nsg_arm_id Der Azure-Ressourcenbezeichner für die db-Netzwerksicherheitsgruppe Obligatorisch. Für Brownfield-Bereitstellungen
app_subnet_address_prefix Der Adressbereich für das app-Subnetz Obligatorisch. Für Greenfield-Bereitstellungen
app_subnet_arm_id Die Azure-Ressourcenkennung für das app-Subnetz Obligatorisch. Für Brownfield-Bereitstellungen
app_subnet_name Der Name des app-Subnetzes Wahlfrei
app_subnet_nsg_name Der Name der app-Netzwerksicherheitsgruppe Wahlfrei
app_subnet_nsg_arm_id Der Azure-Ressourcenbezeichner für die app-Netzwerksicherheitsgruppe Obligatorisch. Für Brownfield-Bereitstellungen
web_subnet_address_prefix Der Adressbereich für das web-Subnetz Obligatorisch. Für Greenfield-Bereitstellungen
web_subnet_arm_id Die Azure-Ressourcenkennung für das web-Subnetz Obligatorisch. Für Brownfield-Bereitstellungen
web_subnet_name Der Name des web-Subnetzes Wahlfrei
web_subnet_nsg_name Der Name der web-Netzwerksicherheitsgruppe Wahlfrei
web_subnet_nsg_arm_id Der Azure-Ressourcenbezeichner für die web-Netzwerksicherheitsgruppe Obligatorisch. Für Brownfield-Bereitstellungen

Die folgende Tabelle enthält die Netzwerkparameter bei Verwendung von Azure NetApp Files:

Variable BESCHREIBUNG Typ Notizen
anf_subnet_arm_id Die Azure-Ressourcenkennung für das ANF-Subnetz Erforderlich Bei Verwendung vorhandener Subnetze
anf_subnet_address_prefix Der Adressbereich für das ANF-Subnetz Erforderlich Bei Verwendung von ANF für Bereitstellungen
anf_subnet_name Der Name des ANF-Subnetzes Wahlfrei
anf_subnet_nsg_name Der Name der anf-Netzwerksicherheitsgruppe Wahlfrei
anf_subnet_nsg_arm_id Der Azure-Ressourcenbezeichner für die anf-Netzwerksicherheitsgruppe Wahlfrei Für Brownfield-Bereitstellungen

Die folgende Tabelle enthält die Netzwerkparameter für Szenarien, in denen iSCSI-Geräte über diese Workloadzone gehostet werden:

Variable BESCHREIBUNG Typ Notizen
iscsi_subnet_address_prefix Der Adressbereich für das iscsi-Subnetz Obligatorisch. Für Greenfield-Bereitstellungen
iscsi_subnet_arm_id Die Azure-Ressourcenkennung für das iscsi-Subnetz Obligatorisch. Für Brownfield-Bereitstellungen
iscsi_subnet_name Der Name des iscsi-Subnetzes Wahlfrei
iscsi_subnet_nsg_arm_id Der Azure-Ressourcenbezeichner für die iscsi-Netzwerksicherheitsgruppe Obligatorisch. Für Brownfield-Bereitstellungen
iscsi_subnet_nsg_name Der Name der iscsi-Netzwerksicherheitsgruppe Wahlfrei

Die folgende Tabelle enthält die Netzwerkparameter für Szenarien, in denen Azure Monitor für SAP über diese Workloadzone gehostet wird:

Variable BESCHREIBUNG Typ Notizen
ams_subnet_address_prefix Der Adressbereich für das iscsi-Subnetz Obligatorisch. Für Greenfield-Bereitstellungen
ams_subnet_arm_id Die Azure-Ressourcenkennung für das iscsi-Subnetz Obligatorisch. Für Brownfield-Bereitstellungen
ams_subnet_name Der Name des iscsi-Subnetzes Wahlfrei
ams_subnet_nsg_arm_id Der Azure-Ressourcenbezeichner für die iscsi-Netzwerksicherheitsgruppe Obligatorisch. Für Brownfield-Bereitstellungen
ams_subnet_nsg_name Der Name der iscsi-Netzwerksicherheitsgruppe Wahlfrei

Die folgende Tabelle enthält zusätzliche Netzwerkparameter:

Variable BESCHREIBUNG Typ Notizen
use_private_endpoint Sind private Endpunkte, die für Speicherkonten und Schlüsseltresore erstellt werden Wahlfrei
use_service_endpoint Sind für die Subnetze definierte Dienstendpunkte Wahlfrei
peer_with_control_plane_vnet Steuert, ob virtuelle Netzwerke mittels Peering mit dem virtuellen Netzwerk auf Steuerungsebene verknüpft werden Wahlfrei Erforderlich für die SAP-Installation
public_network_access_enabled Steuert, ob öffentlicher Zugriff für die Speicherkonten und Schlüsseltresore zugelassen wird Wahlfrei

Mindestanforderungen für die Netzwerkdefinition

network_logical_name = "SAP01"
network_address_space = "10.110.0.0/16"

db_subnet_address_prefix = "10.110.96.0/19"
app_subnet_address_prefix = "10.110.32.0/19"

Authentifizierungsparameter

In der folgenden Tabelle werden die Anmeldeinformationen definiert, die zum Definieren der VM-Authentifizierung verwendet werden:

Variable BESCHREIBUNG Typ Notizen
automation_username Name des Administratorkontos Wahlfrei Standard: azureadm
automation_password Administratorkennwort Wahlfrei
automation_path_to_public_key Pfad zum vorhandenen öffentlichen Schlüssel Wahlfrei
automation_path_to_private_key Pfad zum vorhandenen privaten Schlüssel Wahlfrei
use_spn Falls definiert, wird die Bereitstellung mithilfe eines Dienstprinzipals durchgeführt, andernfalls mit einer MSI Wahlfrei

Mindestanforderungen für die Authentifizierungsdefinition

automation_username = "azureadm"

Key Vault-Parameter

In der folgenden Tabelle werden die Parameter definiert, die für die Definition der Informationen zum Schlüsseltresor verwendet werden:

Variable BESCHREIBUNG Typ Notizen
spn_keyvault_id Azure-Ressourcenbezeichner für den Schlüsseltresor mit vorhandenen Bereitstellungsanmeldeinformationen (SPNs) Wahlfrei
user_keyvault_id Azure-Ressourcenbezeichner für den Schlüsseltresor mit vorhandenen Systemanmeldeinformationen Wahlfrei
additional_users_to_add_to_keyvault_policies Eine Liste der Benutzerobjekt-IDs, die den Zugriffsrichtlinien im Schlüsseltresor für die Bereitstellung hinzugefügt werden sollen Wahlfrei
enable_purge_control_for_keyvaults Deaktiviert den Bereinigungsschutz für Azure-Schlüsseltresore Wahlfrei Nur für Testumgebungen vorgesehen
enable_rbac_authorization_for_keyvault Aktiviert RBAC auf Schlüsseltresorn Wahlfrei
soft_delete_retention_days Die Anzahl der Tage, an denen Elemente im Vorläufigen Löschzeitraum aufbewahrt werden sollen Wahlfrei
keyvault_private_endpoint_id Azure-Ressourcen-ID des privaten Endpunkts des Schlüsseltresors Wahlfrei

Privates DNS

Variable BESCHREIBUNG Typ
dns_label Wenn angegeben, ist dies der DNS-Name der privaten DNS-Zone Wahlfrei
dns_resource_group_name Der Name der Ressourcengruppe, die die private DNS-Zone enthält Wahlfrei
register_virtual_network_to_dns Steuert, ob das virtuelle SAP-Netzwerk bei der privaten DNS-Zone registriert wird Wahlfrei
dns_server_list Eine Liste mit IP-Adressen des DNS-Servers (sofern angegeben) Wahlfrei

NFS-Unterstützung

Variable BESCHREIBUNG Typ Notizen
create_transport_storage Erstellt Speicher für die Transportverzeichnisse (sofern definiert) Wahlfrei
export_install_path Exportiert den Einbindungspfad für die Installationsmedien (sofern angegeben) Wahlfrei
export_transport_path Exportiert den Einbindungspfad für die Transportfreigabe (sofern angegeben) Wahlfrei
install_always_create_fileshares Erstellen Sie immer Dateifreigaben. Wahlfrei
install_private_endpoint_id Azure-Ressourcen-ID für den privaten Endpunkt install Wahlfrei Für vorhandene Endpunkte
install_volume_size Definiert die Größe für das install-Volume (in GB) Wahlfrei
NFS_provider Definiert, welche NFS-Back-End verwendet werden soll Wahlfrei Die Optionen lauten AFS für das Azure Files-NFS oder ANF für Azure NetApp Files, NONE für das NFS des SCS-Servers oder NFS für eine externe NFS-Lösung.
transport_private_endpoint_id Azure-Ressourcen-ID des privaten Endpunkts des Schlüsseltresors Wahlfrei
transport_volume_size Definiert die Größe für das transport-Volume (in GB) Wahlfrei
use_AFS_for_installation_media Verwendet AFS für die Installationsmedien (sofern angegeben) Wahlfrei

Azure Files NFS-Unterstützung

Variable BESCHREIBUNG Typ Notizen
install_storage_account_id Azure-Ressourcenbezeichner für das install-Speicherkonto Wahlfrei Für Brownfield-Bereitstellungen
transport_storage_account_id Azure-Ressourcenbezeichner für das transport-Speicherkonto Wahlfrei Für Brownfield-Bereitstellungen
Storage account replication type Replikationstyp des Speicherkontos, Standard-ZRS Wahlfrei

Mindestanforderungen für die Azure Files-NFS-Definition

NFS_provider              = "AFS"
use_private_endpoint      = true

Azure NetApp Files-Unterstützung

Variable BESCHREIBUNG Typ Notizen
ANF_account_name Name für das Azure NetApp Files-Konto Wahlfrei
ANF_service_level Servicelevel für den Azure NetApp Files-Kapazitätspool Wahlfrei
ANF_pool_size Größe des Azure NetApp Files-Kapazitätspools (in GB) Wahlfrei
ANF_qos_type Servicequalitätstyp des Pools („Automatisch“ oder „Manuell“) Wahlfrei
ANF_use_existing_pool Legt fest, dass ein vorhandener Azure NetApp Files-Kapazitätspool verwendet werden soll Wahlfrei
ANF_pool_name Name des Azure NetApp Files-Kapazitätspools Wahlfrei
ANF_account_arm_id Azure-Ressourcenbezeichner für das Azure NetApp Files-Konto Wahlfrei Für Brownfield-Bereitstellungen
ANF_transport_volume_use_existing Definiert, ob ein vorhandenes Transportvolume verwendet wird Wahlfrei
ANF_transport_volume_name Definiert den Namen des Transportvolumes Wahlfrei Für Brownfield-Bereitstellungen
ANF_transport_volume_size Definiert die Größe des Transportvolumes (in GB) Wahlfrei
ANF_transport_volume_throughput Definiert den Durchsatz für das Transportvolume Wahlfrei
ANF_transport_volume_zone Definiert die Verfügbarkeitszone des Transportvolumes. Wahlfrei
ANF_install_volume_use_existing Definiert, ob ein vorhandenes Installationsvolume verwendet wird Wahlfrei
ANF_install_volume_name Definiert den Namen des Installationsvolumes Wahlfrei Für Brownfield-Bereitstellungen
ANF_install_volume_size Definiert die Größe für das Installationsvolume (in GB) Wahlfrei
ANF_install_volume_throughput Definiert den Durchsatz für das Installationsvolume Wahlfrei
ANF_install_volume_zone Definiert die Verfügbarkeitszone des Installationsvolumes. Wahlfrei

Mindestanforderungen für die ANF-Definition

NFS_provider              = "ANF"
anf_subnet_address_prefix = "10.110.64.0/27"
ANF_service_level         = "Ultra"

DNS-Unterstützung

Variable BESCHREIBUNG Typ
dns_label DNS-Name der privaten DNS-Zone Wahlfrei
management_dns_resourcegroup_name Ressourcengruppe mit der privaten DNS-Zone Wahlfrei
management_dns_subscription_id Abonnement-ID für das Abonnement, das die private DNS-Zone enthält Wahlfrei
use_custom_dns_a_registration Legt fest, dass eine vorhandene private DNS-Zone verwendet werden soll Wahlfrei

NAT-Unterstützung

Variable BESCHREIBUNG Typ
deploy_nat_gateway Falls festgelegt, wird ein NAT-Gateway bereitgestellt. Wahlfrei
nat_gateway_name Der Name des NAT Gateways. Wahlfrei
nat_gateway_arm_id Der Azure-Ressourcenbezeichner des NAT Gateways. Wahlfrei
nat_gateway_public_ip_zones Die Zonen für die öffentliche IP-Adresse des NAT Gateways Wahlfrei
nat_gateway_public_ip_arm_id Der Azure-Ressourcenbezeichner für die öffentliche IP-Adresse des NAT Gateways Wahlfrei
nat_gateway_idle_timeout_in_minutes Das Leerlauftimeout in Minuten für das NAT Gateway (Standard=4) Wahlfrei
nat_gateway_public_ip_tags Tags für die öffentliche IP-Ressource Wahlfrei

Weitere Parameter

Variable BESCHREIBUNG Typ Notizen
diagnostics_storage_account_arm_id Azure-Ressourcenbezeichner für das Diagnosespeicherkonto Erforderlich Für Brownfield-Bereitstellungen
place_delete_lock_on_resources Platziert Löschsperren in den Schlüsseltresoren und im virtuellen Netzwerk Wahlfrei
witness_storage_account_arm_id Der Azure-Ressourcenbezeichner für das Zeugenspeicherkonto Erforderlich Für Brownfield-Bereitstellungen
Agent_IP IP-Adresse des Agenten. Wahlfrei
add_Agent_IP Steuert, ob Agent-IP zur Firewall des Schlüsseltresors und des Speicherkontos hinzugefügt wird Wahlfrei
enable_firewall_for_keyvaults_and_storage Beschränken Sie den Zugriff auf ausgewählte Subnetze. Wahlfrei

iSCSI-Parameter

Variable BESCHREIBUNG Typ Notizen
iscsi_authentication_type Definiert die Standardauthentifizierung für die virtuellen iSCSI-Computer Wahlfrei
iscsi_authentication_username Name des Administratorkontos Wahlfrei
iscsi_count Die Anzahl virtueller iSCSI-Computer Wahlfrei
iscsi_size Die Größe virtueller iSCSI-Computer Wahlfrei
iscsi_image Definiert das zu verwendende VM-Image (nächste Tabelle) Wahlfrei
iscsi_nic_ips IP-Adressen für die virtuellen iSCSI-Computer Wahlfrei Wird ignoriert, wenn iscsi_use_DHCP definiert ist
iscsi_use_DHCP Steuert, ob vom Azure-Subnetz bereitgestellte dynamische IP-Adressen verwendet werden sollen. Wahlfrei
iscsi_vm_zones Verfügbarkeitszonen für die virtuellen iSCSI-Computer Wahlfrei

Parameter für virtuelle Hilfscomputer

Variable BESCHREIBUNG Typ Notizen
utility_vm_count Definiert die Anzahl bereitzustellender virtueller Hilfscomputer Wahlfrei Verwenden Sie den virtuellen Hilfscomputer, um SAPGui zu hosten
utility_vm_image Definiert das zu verwendende VM-Image Wahlfrei Standard: Windows Server 2019
utility_vm_nic_ips Definiert die IP-Adressen für die virtuellen Computer Wahlfrei
utility_vm_os_disk_size Definiert die Größe des Betriebssystemdatenträgers für den virtuellen Computer Wahlfrei Standardwert: 128
utility_vm_os_disk_type Definiert die Art des Betriebssystemdatenträgers für den virtuellen Computer Wahlfrei Standardwert: Premium_LRS
utility_vm_size Definiert die SKU für die virtuellen Hilfscomputer Wahlfrei Standard: Standard_D4ds_v4
utility_vm_useDHCP Definiert, ob die von Azure bereitgestellten Subnetz-IP-Adressen verwendet werden sollen Wahlfrei
"user_assigned_identity_id Benutzerseitig zugewiesene Identität, die den virtuellen Computern zugewiesen werden soll Wahlfrei

Die VM- und Betriebssystem-Images werden mithilfe der folgenden Struktur definiert:

{
  os_type         = "linux"
  type            = "marketplace"
  source_image_id = ""
  publisher       = "SUSE"
  offer           = "sles-sap-15-sp5"
  sku             = "gen2"
  version=        " latest"
}

Azure Monitor für SAP-Parameter

Variable BESCHREIBUNG Typ Notizen
create_ams_instance Definiert, ob eine Instanz von Azure Monitor für SAP erstellt werden soll Wahlfrei
ams_instance_name Definiert den Namen der Instanz Wahlfrei
ams_laws_arm_id Definiert die ARM-Ressourcen-ID für den Log Analytics-Arbeitsbereich Wahlfrei

Terraform-Parameter

Die folgende Tabelle enthält die Terraform-Parameter: Diese Parameter müssen manuell eingegeben werden, wenn Sie nicht die Bereitstellungsskripts verwenden.

Variable BESCHREIBUNG Typ
tfstate_resource_id Azure-Ressourcenbezeichner für das Speicherkonto in der SAP-Bibliothek, das die Terraform-Zustandsdateien enthält Erforderlich
deployer_tfstate_key Name der Zustandsdatei für den Bereitsteller Erforderlich

Nächster Schritt