Condividi tramite


Configurare il piano di controllo

Il piano di controllo per SAP Deployment Automation Framework è costituito dai componenti seguenti:

  • Deployer
  • Libreria SAP

Diagramma che mostra il piano di controllo.

Deployer

Il deployer è il motore di esecuzione di SAP Deployment Automation Framework. Si tratta di una macchina virtuale preconfigurata usata per l'esecuzione di comandi Terraform e Ansible. Quando si usa Azure DevOps, il deployer è un agente self-hosted.

La configurazione del deployer viene eseguita in un file di variabile Terraform tfvars .

Se si vuole usare un gruppo di risorse esistente per deployer, specificare l'ID risorsa di Azure per il gruppo di risorse usando il resource_group_arm_id parametro nel file tfvars del deployer. Se il parametro non è definito, il gruppo di risorse viene creato usando la denominazione predefinita. È possibile modificare il nome predefinito usando il resource_group_name parametro .

Parametri terraform

Questa tabella mostra i parametri terraform. Questi parametri devono essere immessi manualmente se non si usano gli script di distribuzione.

Variabile Descrizione Tipo
tfstate_resource_id Identificatore di risorsa di Azure per l'account di archiviazione nella libreria SAP che contiene i file di stato terraform Richiesto

Parametri di ambiente

Questa tabella mostra i parametri che definiscono la denominazione delle risorse.

Variabile Descrizione Type Note
environment Identificatore del piano di controllo (massimo 5 caratteri). Obbligatorio Ad esempio, PROD per un ambiente di produzione e NP per un ambiente non di produzione.
location Area di Azure in cui eseguire la distribuzione. Richiesto Usare lettere minuscole.
codename Componente aggiuntivo per la denominazione delle risorse. Facoltativo
name_override_file File di override del nome. Facoltativo Vedere Denominazione personalizzata.
place_delete_lock_on_resources Inserire un blocco di eliminazione sulle risorse chiave. Facoltativo

Gruppo di risorse

Questa tabella mostra i parametri che definiscono il gruppo di risorse.

Variabile Descrizione Tipo
resourcegroup_name Nome del gruppo di risorse da creare Facoltativo
resourcegroup_arm_id Identificatore di risorsa di Azure per un gruppo di risorse esistente Facoltativo
resourcegroup_tags Tag da associare al gruppo di risorse Facoltativo

Parametri di rete

Il framework di automazione supporta sia la creazione della rete virtuale che le subnet (campo verde) o l'uso di una rete virtuale esistente e subnet esistenti (campo marrone) o una combinazione di campo verde e campo marrone:

  • Scenario di campo verde: è necessario specificare lo spazio degli indirizzi della rete virtuale e i prefissi degli indirizzi della subnet.
  • Scenario brown-field: è necessario specificare l'identificatore della risorsa di Azure per la rete virtuale e le subnet.

Il CIDR consigliato dello spazio di indirizzi della rete virtuale è /27, che consente lo spazio per 32 indirizzi IP. Un valore CIDR pari a /28 consente solo 16 indirizzi IP. Se si desidera includere Firewall di Azure, usare un valore CIDR pari a /25, perché Firewall di Azure richiede un intervallo di /26.

Il valore CIDR consigliato per la subnet di gestione è /28, che consente 16 indirizzi IP. Il valore CIDR consigliato per la subnet del firewall è /26, che consente 64 indirizzi IP.

Questa tabella mostra i parametri di rete.

Variabile Descrizione Type Note
management_network_name Nome della rete virtuale in cui verrà distribuito il deployer Facoltativo Per le distribuzioni in campo verde
management_network_logical_name Nome logico della rete (DEV-W edizione Enterprise U-MGMT01-INFRASTRUCTURE) Richiesto
management_network_arm_id Identificatore della risorsa di Azure per la rete virtuale Facoltativo Per le distribuzioni brown-field
management_network_address_space Intervallo di indirizzi per la rete virtuale Obbligatorio Per le distribuzioni in campo verde
management_subnet_name Nome della subnet Facoltativo
management_subnet_address_prefix Intervallo di indirizzi per la subnet Obbligatorio Per le distribuzioni in campo verde
management_subnet_arm_id Identificatore della risorsa di Azure per la subnet Obbligatorio Per le distribuzioni brown-field
management_subnet_nsg_name Nome del gruppo di sicurezza di rete Facoltativo
management_subnet_nsg_arm_id Identificatore della risorsa di Azure per il gruppo di sicurezza di rete Obbligatorio Per le distribuzioni brown-field
management_subnet_nsg_allowed_ips Intervallo di indirizzi IP consentiti da aggiungere a Firewall di Azure Facoltativo
management_firewall_subnet_arm_id Identificatore della risorsa di Azure per la subnet Firewall di Azure Obbligatorio Per le distribuzioni brown-field
management_firewall_subnet_address_prefix Intervallo di indirizzi per la subnet Obbligatorio Per le distribuzioni in campo verde
management_bastion_subnet_arm_id Identificatore della risorsa di Azure per la subnet di Azure Bastion Obbligatorio Per le distribuzioni brown-field
management_bastion_subnet_address_prefix Intervallo di indirizzi per la subnet Obbligatorio Per le distribuzioni in campo verde
webapp_subnet_arm_id Identificatore della risorsa di Azure per la subnet dell'app Web Obbligatorio Per le distribuzioni brown-field
webapp_subnet_address_prefix Intervallo di indirizzi per la subnet Obbligatorio Per le distribuzioni in campo verde
use_private_endpoint Usare endpoint privati. Facoltativo
use_service_endpoint Usare gli endpoint di servizio per le subnet. Facoltativo

Nota

Quando si usa una subnet esistente per l'app Web, la subnet deve essere vuota, nella stessa area del gruppo di risorse da distribuire e delegata a Microsoft.Web/serverFarms.

Parametri della macchina virtuale deployer

Questa tabella mostra i parametri correlati alla macchina virtuale del deployer.

Variabile Descrizione Tipo
deployer_size Definisce lo SKU della macchina virtuale da usare, impostazione predefinita: Standard_D4ds_v4 Facoltativo
deployer_count Definisce il numero di deployer Facoltativo
deployer_image Definisce l'immagine della macchina virtuale da usare, impostazione predefinita: Ubuntu 22.04 Facoltativo
plan Definisce il piano associato all'immagine della macchina virtuale Facoltativo
deployer_disk_type Definisce il tipo di disco, impostazione predefinita: Premium_LRS Facoltativo
deployer_use_DHCP Controlla se gli indirizzi IP forniti dalla subnet di Azure devono essere usati (dinamici) true Facoltativo
deployer_private_ip_address Definisce l'indirizzo IP privato da usare Facoltativo
deployer_enable_public_ip Definisce se il deployer ha un indirizzo IP pubblico Facoltativo
auto_configure_deployer Definisce se il deployer è configurato con il software richiesto (Terraform e Ansible) Facoltativo
add_system_assigned_identity Definisce se al deployer viene assegnata un'identità di sistema Facoltativo

L'immagine della macchina virtuale viene definita usando la struttura seguente:

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

Nota

Il tipo può essere marketplace/marketplace_with_plan/custom. L'uso di un'immagine di tipo marketplace_with_plan richiede che l'immagine in questione sia stata usata almeno una volta nella sottoscrizione. Il primo utilizzo richiede all'utente di accettare le condizioni di licenza e l'automazione non ha alcun mezzo per approvarlo.

Parametri di autenticazione

Questa sezione definisce i parametri usati per definire l'autenticazione della macchina virtuale.

Variabile Descrizione Tipo
deployer_vm_authentication_type Definisce l'autenticazione predefinita per il deployer Facoltativo
deployer_authentication_username nome account Amministrazione istrator Facoltativo
deployer_authentication_password Password amministratore Facoltativo
deployer_authentication_path_to_public_key Percorso della chiave pubblica usata per l'autenticazione Facoltativo
deployer_authentication_path_to_private_key Percorso della chiave privata usata per l'autenticazione Facoltativo
use_spn Se definita la distribuzione verrà eseguita usando un'entità servizio; in caso contrario, un'identità del servizio gestita Facoltativo

Parametri insieme di credenziali delle chiavi

Questa sezione definisce i parametri usati per definire le informazioni di Azure Key Vault.

Variabile Descrizione Tipo
user_keyvault_id Identificatore di risorsa di Azure per l'insieme di credenziali delle chiavi utente. Facoltativo
spn_keyvault_id Identificatore di risorsa di Azure per l'insieme di credenziali delle chiavi che contiene le credenziali di distribuzione. Facoltativo
deployer_private_key_secret_name Nome del segreto dell'insieme di credenziali delle chiavi per la chiave privata del deployer. Facoltativo
deployer_public_key_secret_name Nome del segreto dell'insieme di credenziali delle chiavi per la chiave pubblica del deployer. Facoltativo
deployer_username_secret_name Nome del segreto dell'insieme di credenziali delle chiavi per il nome utente del deployer. Facoltativo
deployer_password_secret_name Nome del segreto dell'insieme di credenziali delle chiavi per la password del deployer. Facoltativo
additional_users_to_add_to_keyvault_policies Elenco di ID oggetto utente da aggiungere ai criteri di accesso dell'insieme di credenziali delle chiavi di distribuzione. Facoltativo
set_secret_expiry Impostare la scadenza di 12 mesi per i segreti dell'insieme di credenziali delle chiavi. Facoltativo
soft_delete_retention_days Numero di giorni di conservazione degli elementi nel periodo di eliminazione temporanea. Facoltativo
deployer_assign_subscription_permissions Controlla l'assegnazione delle autorizzazioni di sottoscrizione. Facoltativo

Supporto DNS

Variabile Descrizione Tipo
dns_label Nome DNS della zona DNS privato. Facoltativo
use_custom_dns_a_registration Usa un sistema esterno per DNS, impostato su false per Azure nativo. Facoltativo
management_dns_subscription_id ID sottoscrizione per la sottoscrizione che contiene l'area DNS privato. Facoltativo
management_dns_resourcegroup_name Gruppo di risorse che contiene la zona DNS privato. Facoltativo

Altri parametri

Variabile Descrizione Type Note
firewall_deployment Flag booleano che controlla se deve essere distribuito un firewall di Azure. Facoltativo
bastion_deployment Flag booleano che controlla se l'host Azure Bastion deve essere distribuito. Facoltativo
bastion_sku SKU per l'host Azure Bastion da distribuire (Basic/Standard). Facoltativo
enable_purge_control_for_keyvaults Flag booleano che controlla se il controllo ripulitura è abilitato nell'insieme di credenziali delle chiavi. Facoltativo Usare solo per le distribuzioni di test.
enable_firewall_for_keyvaults_and_storage Limitare l'accesso alle subnet selezionate. Facoltativo
Agent_IP Indirizzo IP dell'agente. Facoltativo
add_Agent_IP Controlla se l'indirizzo IP dell'agente viene aggiunto all'insieme di credenziali delle chiavi e ai firewall dell'account di archiviazione Facoltativo

Parametri dell'app Web

Variabile Descrizione Type Note
use_webapp Valore booleano che indica se deve essere distribuita un'app Web. Facoltativo
app_service_SKU_name SKU del piano di servizio app. Facoltativo
app_registration_app_id ID di registrazione dell'app da usare per l'app Web. Facoltativo
webapp_client_secret SKU del piano di servizio app. Facoltativo Verrà salvata in modo permanente in Key Vault

File di parametri di esempio per deployer (solo parametri obbligatori)

# 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

Libreria SAP

La libreria SAP fornisce l'archiviazione permanente dei file di stato terraform e il supporto di installazione SAP scaricato per il piano di controllo.

La configurazione della libreria SAP viene eseguita in un file di variabile Terraform tfvars .

Se si vuole usare un gruppo di risorse esistente per la libreria SAP, specificare l'ID risorsa di Azure per il gruppo di risorse usando il resource_group_arm_id parametro nel file tfvars del deployer. Se il parametro non è definito, il gruppo di risorse viene creato usando la denominazione predefinita. È possibile modificare il nome predefinito usando il resource_group_name parametro .

Parametri terraform

Questa tabella mostra i parametri terraform. Questi parametri devono essere immessi manualmente se non si usano gli script di distribuzione o Azure Pipelines.

Variabile Descrizione Type Note
deployer_tfstate_key Nome del file di stato per il deployer Richiesto

Parametri di ambiente

Questa tabella mostra i parametri che definiscono la denominazione delle risorse.

Variabile Descrizione Type Note
environment Identificatore per il piano di controllo (massimo cinque caratteri) Obbligatorio Ad esempio, PROD per un ambiente di produzione e NP per un ambiente non di produzione.
location Area di Azure in cui distribuire Richiesto Usare lettere minuscole.
name_override_file File di override del nome Facoltativo Vedere Denominazione personalizzata.

Gruppo di risorse

Questa tabella mostra i parametri che definiscono il gruppo di risorse.

Variabile Descrizione Tipo
resourcegroup_name Nome del gruppo di risorse da creare Facoltativo
resourcegroup_arm_id Identificatore di risorsa di Azure per un gruppo di risorse esistente Facoltativo
resourcegroup_tags Tag da associare al gruppo di risorse Facoltativo

Account di archiviazione dei supporti di installazione SAP

Variabile Descrizione Tipo
library_sapmedia_arm_id Identificatore di risorsa di Azure Facoltativo

Account di archiviazione dello stato remoto terraform

Variabile Descrizione Tipo
library_terraform_state_arm_id Identificatore di risorsa di Azure Facoltativo

Supporto DNS

Variabile Descrizione Tipo
dns_label Nome DNS della zona DNS privato. Facoltativo
use_custom_dns_a_registration Usare una zona di DNS privato esistente. Facoltativo
management_dns_subscription_id ID sottoscrizione per la sottoscrizione che contiene l'area DNS privato. Facoltativo
management_dns_resourcegroup_name Gruppo di risorse che contiene la zona DNS privato. Facoltativo

Parametri aggiuntivi

Variabile Descrizione Tipo
use_private_endpoint Usare endpoint privati. Facoltativo
use_service_endpoint Usare gli endpoint di servizio per le subnet. Facoltativo
enable_firewall_for_keyvaults_and_storage Limitare l'accesso alle subnet selezionate. Facoltativo
subnets_to_add_to_firewall_for_keyvaults_and_storage Subnet che devono accedere agli insiemi di credenziali delle chiavi e agli account di archiviazione. Facoltativo

File di parametri di esempio per la libreria SAP (solo parametri obbligatori)

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

Passaggio successivo