Het besturingsvlak configureren
Het besturingsvlak voor SAP Deployment Automation Framework bestaat uit de volgende onderdelen:
- Deployer
- SAP-bibliotheek
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"