Het besturingsvlak configureren

Het besturingsvlak voor SAP Deployment Automation Framework bestaat uit de volgende onderdelen:

  • Deployer
  • SAP-bibliotheek

Diagram met het besturingsvlak.

Deployer

De implementatiefunctie is de uitvoeringsengine van SAP Deployment Automation Framework. Het is een vooraf geconfigureerde virtuele machine (VM) die wordt gebruikt voor het uitvoeren van Terraform- en Ansible-opdrachten. Wanneer u Azure DevOps gebruikt, is de implementatie een zelf-hostende agent.

De configuratie van de implementatie wordt uitgevoerd in een Terraform-variabelebestand tfvars .

Als u een bestaande resourcegroep voor deployer wilt gebruiken, geeft u de Azure-resource-id voor de resourcegroep op met behulp van de resource_group_arm_id parameter in het tfvars-bestand van de deployer. Als de parameter niet is gedefinieerd, wordt de resourcegroep gemaakt met behulp van de standaardnaamgeving. U kunt de standaardnaam wijzigen met behulp van de resource_group_name parameter.

Terraform-parameters

In deze tabel worden de Terraform-parameters weergegeven. Deze parameters moeten handmatig worden ingevoerd als u de implementatiescripts niet gebruikt.

Variabele Beschrijving Type
tfstate_resource_id Azure-resource-id voor het opslagaccount in de SAP-bibliotheek die de Terraform-statusbestanden bevat Vereist

Omgevingsparameters

In deze tabel ziet u de parameters waarmee de naamgeving van resources wordt gedefinieerd.

Variabele Beschrijving Type Opmerkingen
environment Id voor het besturingsvlak (maximaal 5 tekens). Verplicht Bijvoorbeeld PROD voor een productieomgeving en NP voor een niet-productieomgeving.
location Azure-regio waarin moet worden geïmplementeerd. Vereist Gebruik kleine letters.
codename Extra onderdeel voor het benoemen van de resources. Optioneel
name_override_file Naam overschrijven bestand. Optioneel Zie Aangepaste naamgeving.
place_delete_lock_on_resources Plaats een verwijderingsvergrendeling op de belangrijkste resources. Optioneel

Resourcegroep

In deze tabel ziet u de parameters waarmee de resourcegroep wordt gedefinieerd.

Variabele Beschrijving Type
resourcegroup_name Naam van de resourcegroep die moet worden gemaakt Optioneel
resourcegroup_arm_id Azure-resource-id voor een bestaande resourcegroep Optioneel
resourcegroup_tags Tags die aan de resourcegroep moeten worden gekoppeld Optioneel

Netwerkparameters

Het automatiseringsframework ondersteunt zowel het maken van het virtuele netwerk als de subnetten (groen veld) of het gebruik van een bestaand virtueel netwerk en bestaande subnetten (bruin veld) of een combinatie van groen veld en bruin veld:

  • Scenario met groen veld: de adresruimte van het virtuele netwerk en de voorvoegsels van het subnetadres moeten worden opgegeven.
  • Brown-field scenario: De Azure-resource-id voor het virtuele netwerk en de subnetten moeten worden opgegeven.

De aanbevolen CIDR van de adresruimte van het virtuele netwerk is /27, waardoor er ruimte is voor 32 IP-adressen. Een CIDR-waarde van /28 staat alleen 16 IP-adressen toe. Als u Azure Firewall wilt opnemen, gebruikt u een CIDR-waarde van /25, omdat Azure Firewall een bereik van /26 vereist.

De aanbevolen CIDR-waarde voor het beheersubnet is /28, waarmee 16 IP-adressen zijn toegestaan. De aanbevolen CIDR-waarde voor het firewallsubnet is /26, waardoor 64 IP-adressen zijn toegestaan.

In deze tabel worden de netwerkparameters weergegeven.

Variabele Beschrijving Type Opmerkingen
management_network_name De naam van het virtuele netwerk waarin de deployer wordt geïmplementeerd Optioneel Voor implementaties in groen veld
management_network_logical_name De logische naam van het netwerk (DEV-WEEU-MGMT01-INFRASTRUCTURE) Vereist
management_network_arm_id De Azure-resource-id voor het virtuele netwerk Optioneel Voor bruinveldimplementaties
management_network_address_space Het adresbereik voor het virtuele netwerk Verplicht Voor implementaties in groen veld
management_subnet_name De naam van het subnet Optioneel
management_subnet_address_prefix Het adresbereik voor het subnet Verplicht Voor implementaties in groen veld
management_subnet_arm_id De Azure-resource-id voor het subnet Verplicht Voor bruinveldimplementaties
management_subnet_nsg_name De naam van de netwerkbeveiligingsgroep Optioneel
management_subnet_nsg_arm_id De Azure-resource-id voor de netwerkbeveiligingsgroep Verplicht Voor bruinveldimplementaties
management_subnet_nsg_allowed_ips Bereik van toegestane IP-adressen om toe te voegen aan Azure Firewall Optioneel
management_firewall_subnet_arm_id De Azure-resource-id voor het Azure Firewall-subnet Verplicht Voor bruinveldimplementaties
management_firewall_subnet_address_prefix Het adresbereik voor het subnet Verplicht Voor implementaties in groen veld
management_bastion_subnet_arm_id De Azure-resource-id voor het Azure Bastion-subnet Verplicht Voor bruinveldimplementaties
management_bastion_subnet_address_prefix Het adresbereik voor het subnet Verplicht Voor implementaties in groen veld
webapp_subnet_arm_id De Azure-resource-id voor het subnet van de web-app Verplicht Voor bruinveldimplementaties
webapp_subnet_address_prefix Het adresbereik voor het subnet Verplicht Voor implementaties in groen veld
use_private_endpoint Gebruik privé-eindpunten. Optioneel
use_service_endpoint Gebruik service-eindpunten voor subnetten. Optioneel

Notitie

Wanneer u een bestaand subnet voor de web-app gebruikt, moet het subnet leeg zijn, in dezelfde regio als de resourcegroep die wordt geïmplementeerd en gedelegeerd aan Microsoft.Web/serverFarms.

Parameters voor de virtuele machine van deployer

In deze tabel worden de parameters weergegeven die betrekking hebben op de vm van de implementatiefunctie.

Variabele Beschrijving Type
deployer_size Definieert de VM-SKU die moet worden gebruikt, standaard: Standard_D4ds_v4 Optioneel
deployer_count Definieert het aantal implementaties Optioneel
deployer_image Definieert de VM-installatiekopie die moet worden gebruikt, standaard: Ubuntu 22.04 Optioneel
plan Definieert het plan dat is gekoppeld aan de VM-installatiekopieën Optioneel
deployer_disk_type Definieert het schijftype, de standaardinstelling: Premium_LRS Optioneel
deployer_use_DHCP Hiermee bepaalt u of de door het Azure-subnet verstrekte IP-adressen moeten worden gebruikt (dynamisch) waar Optioneel
deployer_private_ip_address Definieert het privé-IP-adres dat moet worden gebruikt Optioneel
deployer_enable_public_ip Definieert of de implementatie een openbaar IP-adres heeft Optioneel
auto_configure_deployer Definieert of de implementatie is geconfigureerd met de vereiste software (Terraform en Ansible) Optioneel
add_system_assigned_identity Definieert of aan de implementatie een systeemidentiteit is toegewezen Optioneel

De VM-installatiekopieën worden gedefinieerd met behulp van de volgende structuur:

xxx_vm_image  = {
  os_type         = ""
  source_image_id = ""
  publisher       = "Canonical"
  offer           = "0001-com-ubuntu-server-jammy"
  sku             = "22_04-lts"
  version         = "latest"
  type            = "marketplace"
}

Notitie

Het type kan zijn marketplace/marketplace_with_plan/custom. Als u een afbeelding van het type gebruikt marketplace_with_plan , moet de betreffende afbeelding ten minste één keer in het abonnement worden gebruikt. Het eerste gebruik vraagt de gebruiker om de licentievoorwaarden te accepteren en de automatisering heeft geen middelen om deze goed te keuren.

Verificatieparameters

In deze sectie worden de parameters gedefinieerd die worden gebruikt voor het definiëren van de VM-verificatie.

Variabele Beschrijving Type
deployer_vm_authentication_type Definieert de standaardverificatie voor de implementatie Optioneel
deployer_authentication_username accountnaam van Beheer istrator Optioneel
deployer_authentication_password wachtwoord voor Beheer istrator Optioneel
deployer_authentication_path_to_public_key Pad naar de openbare sleutel die wordt gebruikt voor verificatie Optioneel
deployer_authentication_path_to_private_key Pad naar de persoonlijke sleutel die wordt gebruikt voor verificatie Optioneel
use_spn Als de implementatie is gedefinieerd, wordt deze uitgevoerd met behulp van een service-principal, anders een MSI Optioneel

Sleutelkluisparameters

In deze sectie worden de parameters gedefinieerd die worden gebruikt voor het definiëren van de Azure Key Vault-gegevens.

Variabele Beschrijving Type
user_keyvault_id Azure-resource-id voor de sleutelkluis van de gebruiker. Optioneel
spn_keyvault_id Azure-resource-id voor de sleutelkluis die de implementatiereferenties bevat. Optioneel
deployer_private_key_secret_name De geheime naam van de sleutelkluis voor de persoonlijke sleutel van de deployer. Optioneel
deployer_public_key_secret_name De geheime naam van de sleutelkluis voor de openbare sleutel van de deployer. Optioneel
deployer_username_secret_name De geheime naam van de sleutelkluis voor de gebruikersnaam van de implementatie. Optioneel
deployer_password_secret_name De geheime naam van de sleutelkluis voor het implementatiewachtwoord. Optioneel
additional_users_to_add_to_keyvault_policies Een lijst met gebruikersobject-id's die moeten worden toegevoegd aan het toegangsbeleid voor de implementatiesleutelkluis. Optioneel
set_secret_expiry Stel de vervaldatum van 12 maanden in voor sleutelkluisgeheimen. Optioneel
soft_delete_retention_days Het aantal dagen dat items moeten worden bewaard in de periode voor voorlopig verwijderen. Optioneel
deployer_assign_subscription_permissions Hiermee bepaalt u de toewijzing van abonnementsmachtigingen. Optioneel

DNS-ondersteuning

Variabele Beschrijving Type
dns_label DNS-naam van de Privé-DNS zone. Optioneel
use_custom_dns_a_registration Maakt gebruik van een extern systeem voor DNS, ingesteld op false voor systeemeigen Azure. Optioneel
management_dns_subscription_id Abonnements-id voor het abonnement dat de Privé-DNS zone bevat. Optioneel
management_dns_resourcegroup_name Resourcegroep die de Privé-DNS zone bevat. Optioneel

Andere parameters

Variabele Beschrijving Type Opmerkingen
firewall_deployment Booleaanse vlag die bepaalt of een Azure-firewall moet worden geïmplementeerd. Optioneel
bastion_deployment Booleaanse vlag die bepaalt of de Azure Bastion-host moet worden geïmplementeerd. Optioneel
bastion_sku SKU voor Azure Bastion-host die moet worden geïmplementeerd (Basic/Standard). Optioneel
enable_purge_control_for_keyvaults Booleaanse vlag die bepaalt of opschonen is ingeschakeld in de sleutelkluis. Optioneel Alleen gebruiken voor testimplementaties.
enable_firewall_for_keyvaults_and_storage De toegang tot geselecteerde subnetten beperken. Optioneel
Agent_IP IP-adres van de agent. Optioneel
add_Agent_IP Hiermee bepaalt u of agent-IP wordt toegevoegd aan de sleutelkluis en firewalls van het opslagaccount Optioneel

Web App-parameters

Variabele Beschrijving Type Opmerkingen
use_webapp Booleaanse waarde die aangeeft of een web-app moet worden geïmplementeerd. Optioneel
app_service_SKU_name De SKU van het App Service-plan. Optioneel
app_registration_app_id De app-registratie-id die moet worden gebruikt voor de web-app. Optioneel
webapp_client_secret De SKU van het App Service-plan. Optioneel Blijft behouden in Key Vault

Voorbeeld van het parameterbestand voor de implementatie (alleen vereiste parameters)

# 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

SAP-bibliotheek

De SAP-bibliotheek biedt de permanente opslag van de Terraform-statusbestanden en de gedownloade SAP-installatiemedia voor het besturingsvlak.

De configuratie van de SAP-bibliotheek wordt uitgevoerd in een Terraform-variabelebestand tfvars .

Als u een bestaande resourcegroep voor de SAP-bibliotheek wilt gebruiken, geeft u de Azure-resource-id voor de resourcegroep op met behulp van de resource_group_arm_id parameter in het tfvars-bestand van de deployer. Als de parameter niet is gedefinieerd, wordt de resourcegroep gemaakt met behulp van de standaardnaamgeving. U kunt de standaardnaam wijzigen met behulp van de resource_group_name parameter.

Terraform-parameters

In deze tabel worden de Terraform-parameters weergegeven. Deze parameters moeten handmatig worden ingevoerd als u de implementatiescripts of Azure Pipelines niet gebruikt.

Variabele Beschrijving Type Opmerkingen
deployer_tfstate_key De bestandsnaam van de status voor de implementatie Vereist

Omgevingsparameters

In deze tabel ziet u de parameters waarmee de naamgeving van resources wordt gedefinieerd.

Variabele Beschrijving Type Opmerkingen
environment Id voor het besturingsvlak (maximaal vijf tekens) Verplicht Bijvoorbeeld PROD voor een productieomgeving en NP voor een niet-productieomgeving.
location Azure-regio waarin moet worden geïmplementeerd Vereist Gebruik kleine letters.
name_override_file Naam overschrijven bestand Optioneel Zie Aangepaste naamgeving.

Resourcegroep

In deze tabel ziet u de parameters waarmee de resourcegroep wordt gedefinieerd.

Variabele Beschrijving Type
resourcegroup_name Naam van de resourcegroep die moet worden gemaakt Optioneel
resourcegroup_arm_id Azure-resource-id voor een bestaande resourcegroep Optioneel
resourcegroup_tags Tags die aan de resourcegroep moeten worden gekoppeld Optioneel

OPSLAGaccount voor SAP-installatiemedia

Variabele Beschrijving Type
library_sapmedia_arm_id Azure-resource-id Optioneel

Remote State Storage-account van Terraform

Variabele Beschrijving Type
library_terraform_state_arm_id Azure-resource-id Optioneel

DNS-ondersteuning

Variabele Beschrijving Type
dns_label DNS-naam van de Privé-DNS zone. Optioneel
use_custom_dns_a_registration Gebruik een bestaande Privé-DNS-zone. Optioneel
management_dns_subscription_id Abonnements-id voor het abonnement dat de Privé-DNS zone bevat. Optioneel
management_dns_resourcegroup_name Resourcegroep die de Privé-DNS zone bevat. Optioneel

Extra parameters

Variabele Beschrijving Type
use_private_endpoint Gebruik privé-eindpunten. Optioneel
use_service_endpoint Gebruik service-eindpunten voor subnetten. Optioneel
enable_firewall_for_keyvaults_and_storage De toegang tot geselecteerde subnetten beperken. Optioneel
subnets_to_add_to_firewall_for_keyvaults_and_storage Subnetten die toegang nodig hebben tot sleutelkluizen en opslagaccounts. Optioneel

Voorbeeld van het parameterbestand voor de SAP-bibliotheek (alleen vereiste parameters)

# 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"

Volgende stap