Teilen ü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:

  • Azure Virtual Network
  • Azure Key Vault
  • 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 Optional Weitere Informationen finden Sie unter Benutzerdefinierte Benennung.
tags Ein Wörterbuch mit Tags, die allen Ressourcen zugeordnet werden sollen. Optional

Ressourcengruppenparameter

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

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

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 Optional
network_arm_id Die Azure-Ressourcenkennung für das virtuelle Netzwerk Optional 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 Optional
admin_subnet_nsg_name Der Name der admin-Netzwerksicherheitsgruppe Optional
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 Optional
db_subnet_nsg_name Der Name der db-Netzwerksicherheitsgruppe Optional
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 Optional
app_subnet_nsg_name Der Name der app-Netzwerksicherheitsgruppe Optional
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 Optional
web_subnet_nsg_name Der Name der web-Netzwerksicherheitsgruppe Optional
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 Optional
anf_subnet_nsg_name Der Name der anf-Netzwerksicherheitsgruppe Optional
anf_subnet_nsg_arm_id Der Azure-Ressourcenbezeichner für die anf-Netzwerksicherheitsgruppe Optional 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 Optional
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 Optional

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 Optional
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 Optional

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 Optional
use_service_endpoint Sind für die Subnetze definierte Dienstendpunkte Optional
peer_with_control_plane_vnet Steuert, ob virtuelle Netzwerke mittels Peering mit dem virtuellen Netzwerk auf Steuerungsebene verknüpft werden Optional Erforderlich für die SAP-Installation
public_network_access_enabled Steuert, ob öffentlicher Zugriff für die Speicherkonten und Schlüsseltresore zugelassen wird Optional

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 Optional Standard: azureadm
automation_password Administratorkennwort Optional
automation_path_to_public_key Pfad zum vorhandenen öffentlichen Schlüssel Optional
automation_path_to_private_key Pfad zum vorhandenen privaten Schlüssel Optional
use_spn Falls definiert, wird die Bereitstellung mithilfe eines Dienstprinzipals durchgeführt, andernfalls mit einer MSI Optional

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) Optional
user_keyvault_id Azure-Ressourcenbezeichner für den Schlüsseltresor mit vorhandenen Systemanmeldeinformationen Optional
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 Optional
enable_purge_control_for_keyvaults Deaktiviert den Bereinigungsschutz für Azure-Schlüsseltresore Optional Nur für Testumgebungen vorgesehen
enable_rbac_authorization_for_keyvault Aktiviert RBAC auf Schlüsseltresorn Optional
soft_delete_retention_days Die Anzahl der Tage, an denen Elemente im Vorläufigen Löschzeitraum aufbewahrt werden sollen Optional
keyvault_private_endpoint_id Azure-Ressourcen-ID des privaten Endpunkts des Schlüsseltresors Optional

Privates DNS

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

NFS-Unterstützung

Variable BESCHREIBUNG Typ Notizen
create_transport_storage Erstellt Speicher für die Transportverzeichnisse (sofern definiert) Optional
export_install_path Exportiert den Einbindungspfad für die Installationsmedien (sofern angegeben) Optional
export_transport_path Exportiert den Einbindungspfad für die Transportfreigabe (sofern angegeben) Optional
install_always_create_fileshares Erstellen Sie immer Dateifreigaben. Optional
install_private_endpoint_id Azure-Ressourcen-ID für den privaten Endpunkt install Optional Für vorhandene Endpunkte
install_volume_size Definiert die Größe für das install-Volume (in GB) Optional
NFS_provider Definiert, welche NFS-Back-End verwendet werden soll Optional 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 Optional
transport_volume_size Definiert die Größe für das transport-Volume (in GB) Optional
use_AFS_for_installation_media Verwendet AFS für die Installationsmedien (sofern angegeben) Optional

Azure Files NFS-Unterstützung

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

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

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 type
dns_label DNS-Name der privaten DNS-Zone Optional
management_dns_resourcegroup_name Ressourcengruppe mit der privaten DNS-Zone Optional
management_dns_subscription_id Abonnement-ID für das Abonnement, das die private DNS-Zone enthält Optional
use_custom_dns_a_registration Legt fest, dass eine vorhandene private DNS-Zone verwendet werden soll Optional

NAT-Unterstützung

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

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 Optional
witness_storage_account_arm_id Der Azure-Ressourcenbezeichner für das Zeugenspeicherkonto Erforderlich Für Brownfield-Bereitstellungen
Agent_IP IP-Adresse des Agenten. Optional
add_Agent_IP Steuert, ob Agent-IP zur Firewall des Schlüsseltresors und des Speicherkontos hinzugefügt wird Optional
enable_firewall_for_keyvaults_and_storage Beschränken Sie den Zugriff auf ausgewählte Subnetze. Optional

iSCSI-Parameter

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

Parameter für virtuelle Hilfscomputer

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

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 Optional
ams_instance_name Definiert den Namen der Instanz Optional
ams_laws_arm_id Definiert die ARM-Ressourcen-ID für den Log Analytics-Arbeitsbereich Optional

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 type
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