Configuración del plano de control
El plano de control del Marco de automatización de la implementación de SAP consta de los siguientes componentes:
- Implementador
- Biblioteca de SAP
Implementador
El implementador es el motor de ejecución del Marco de automatización de la implementación de SAP. Es una máquina virtual preconfigurada que se usa para ejecutar comandos de Terraform y Ansible. Cuando se usa Azure DevOps, el implementador es un agente autohospedado.
La configuración del implementador se realiza en un archivo de variable tfvars
de Terraform.
Si desea usar un grupo de recursos existente para el implementador, proporcione el identificador de recurso de Azure para el grupo de recursos mediante el parámetro resource_group_arm_id
en el archivo tfvars del implementador. Si el parámetro no está definido, el grupo de recursos se crea con la nomenclatura predeterminada. Puede cambiar el nombre predeterminado mediante el parámetro resource_group_name
.
Parámetros de Terraform
En esta tabla se muestran los parámetros de Terraform. Estos parámetros deben especificarse manualmente si no usa los scripts de implementación.
Variable | Descripción | Tipo |
---|---|---|
tfstate_resource_id |
Identificador de recursos de Azure para la cuenta de almacenamiento en la biblioteca de SAP que contiene los archivos de estado de Terraform | Requerido |
Parámetros del entorno
Esta tabla contiene los parámetros que definen la nomenclatura de los recursos.
Variable | Descripción | Type | Notas |
---|---|---|---|
environment |
Identificador del plano de control (máximo 5 caracteres). | Mandatory | Por ejemplo, PROD para un entorno de producción y NP para un entorno de no producción. |
location |
Región de Azure en la que se va a implementar. | Obligatorio | Use minúsculas. |
codename |
Componente adicional para nombrar los recursos. | Opcionales | |
name_override_file |
Nombre del archivo de invalidación. | Opcionales | Consulte Nomenclatura personalizada. |
place_delete_lock_on_resources |
Coloque un bloqueo de eliminación en los recursos de clave. | Opcionales |
Resource group
Esta tabla contiene los parámetros que definen el grupo de recursos.
Variable | Descripción | Tipo |
---|---|---|
resourcegroup_name |
Nombre del grupo de recursos que se va a crear. | Opcionales |
resourcegroup_arm_id |
Identificador de recursos de Azure para un grupo de recursos existente | Opcional |
resourcegroup_tags |
Etiquetas que se van a asociar al grupo de recursos | Opcional |
Parámetros de red
El marco de automatización admite la creación de la red virtual y las subredes (campo verde) o mediante una red virtual existente y subredes existentes (campo marrón) o una combinación de campo verde y campo marrón:
- Escenario de campo verde: se debe especificar el espacio de direcciones de red virtual y los prefijos de direcciones de subred.
- Escenario de campo marrón: se debe especificar el identificador de recurso Azure para la red virtual y las subredes.
El CIDR recomendado del espacio de direcciones de red virtual es /27, lo que concede espacio para 32 direcciones IP. Un valor de CIDR de /28 solo permite 16 direcciones IP. Si desea incluir Azure Firewall, use un valor CIDR de /25, ya que Azure Firewall requiere un intervalo de /26.
El valor CIDR recomendado para la subred de administración es /28, lo que permite 16 direcciones IP. El valor CIDR recomendado para la subred de firewall es /26, lo que permite 64 direcciones IP.
En esta tabla se muestran los parámetros de conexión en red.
Variable | Descripción | Type | Notas |
---|---|---|---|
management_network_name |
Nombre de la red virtual en la que se implementará el implementador | Opcionales | Para implementaciones de campo verde |
management_network_logical_name |
El nombre lógico de la red (DEV-WEEU-MGMT01-INFRASTRUCTURE) | Requerido | |
management_network_arm_id |
Identificador de recursos de Azure para la red virtual | Opcionales | Para implementaciones de campo marrón |
management_network_address_space |
El intervalo de direcciones de la red virtual. | Mandatory | Para implementaciones de campo verde |
management_subnet_name |
El nombre de la subred. | Opcional | |
management_subnet_address_prefix |
El intervalo de direcciones para la subred . | Mandatory | Para implementaciones de campo verde |
management_subnet_arm_id |
Identificador de recursos de Azure para la subred . | Mandatory | Para implementaciones de campo marrón |
management_subnet_nsg_name |
Nombre del grupo de seguridad de la red | Opcionales | |
management_subnet_nsg_arm_id |
El identificador de recursos de Azure para el grupo de seguridad de red | Mandatory | Para implementaciones de campo marrón |
management_subnet_nsg_allowed_ips |
Intervalo de direcciones IP permitidas que se agregan a Azure Firewall. | Opcionales | |
management_firewall_subnet_arm_id |
Identificador de recursos de Azure para la subred de Azure Firewall | Mandatory | Para implementaciones de campo marrón |
management_firewall_subnet_address_prefix |
El intervalo de direcciones para la subred . | Mandatory | Para implementaciones de campo verde |
management_bastion_subnet_arm_id |
Identificador de recursos de Azure para la subred de Azure Bastion | Mandatory | Para implementaciones de campo marrón |
management_bastion_subnet_address_prefix |
El intervalo de direcciones para la subred . | Mandatory | Para implementaciones de campo verde |
webapp_subnet_arm_id |
Identificador de recursos de Azure para la subred de aplicación web | Mandatory | Para implementaciones de campo marrón |
webapp_subnet_address_prefix |
El intervalo de direcciones para la subred . | Mandatory | Para implementaciones de campo verde |
use_private_endpoint |
Use los puntos de conexión privados. | Opcionales | |
use_service_endpoint |
Use puntos de conexión de servicio para subredes. | Opcionales |
Nota:
Cuando se usa una subred existente para la aplicación web, la subred debe estar vacía, en la misma región que el grupo de recursos que se va a implementar y delegar en Microsoft.Web/serverFarms.
Parámetros de máquina virtual del implementador
En esta tabla se muestran los parámetros relacionados con la máquina virtual del implementador.
Variable | Descripción | Tipo |
---|---|---|
deployer_size |
Define la SKU de máquina virtual que se va a usar de forma predeterminada: Standard_D4ds_v4 | Opcional |
deployer_count |
Define el número de implementadores | Opcional |
deployer_image |
Define la imagen de máquina virtual que se va a usar de forma predeterminada: Ubuntu 22.04 | Opcionales |
plan |
Define el plan asociado a la imagen de máquina virtual | Opcionales |
deployer_disk_type |
Define el tipo de disco, valor predeterminado: Premium_LRS | Opcionales |
deployer_use_DHCP |
Controla si las direcciones IP proporcionadas por la subred de Azure deben usarse (dinámicas) true | Opcionales |
deployer_private_ip_address |
Define la dirección IP privada que se va a usar | Opcional |
deployer_enable_public_ip |
Define si el implementador tiene una dirección IP pública | Opcionales |
auto_configure_deployer |
Define si el implementador está configurado con el software necesario (Terraform y Ansible) | Opcionales |
add_system_assigned_identity |
Define si el implementador tiene asignada una identidad del sistema | Opcionales |
La imagen de máquina virtual se define mediante la siguiente estructura:
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:
El tipo puede ser marketplace/marketplace_with_plan/custom
.
El uso de una imagen de tipo marketplace_with_plan
requiere que la imagen en cuestión se haya usado al menos una vez en la suscripción. El primer uso pide al usuario que acepte los términos de licencia y la automatización no tiene medios para aprobarlo.
Parámetros de autenticación
En esta sección se definen los parámetros usados para definir la autenticación de máquina virtual.
Variable | Descripción | Tipo |
---|---|---|
deployer_vm_authentication_type |
Define la autenticación predeterminada para el implementador | Opcional |
deployer_authentication_username |
Nombre de cuenta de administrador. | Opcional |
deployer_authentication_password |
Contraseña de administrador | Opcional |
deployer_authentication_path_to_public_key |
Ruta de acceso a la clave pública usada para la autenticación. | Opcional |
deployer_authentication_path_to_private_key |
Ruta de acceso a la clave privada usada para la autenticación. | Opcionales |
use_spn |
Si se define, la implementación se realizará utilizando una Entidad de servicio; de lo contrario, se utilizará un MSI | Opcionales |
Parámetros de Key Vault
En esta sección se definen los parámetros que se usan para definir la información de Azure Key Vault.
Variable | Descripción | Tipo |
---|---|---|
user_keyvault_id |
Identificador de recursos de Azure para el almacén de claves de usuario. | Opcionales |
spn_keyvault_id |
Identificador de recursos de Azure para el almacén de claves que contiene las credenciales de implementación. | Opcionales |
deployer_private_key_secret_name |
Nombre del secreto del almacén de claves para la clave privada del implementador. | Opcionales |
deployer_public_key_secret_name |
Nombre del secreto del almacén de claves para la clave pública del implementador. | Opcionales |
deployer_username_secret_name |
Nombre del secreto del almacén de claves para el nombre de usuario del implementador. | Opcionales |
deployer_password_secret_name |
Nombre del secreto del almacén de claves para la contraseña del implementador. | Opcionales |
additional_users_to_add_to_keyvault_policies |
Lista de identificadores de objeto de usuario que se van a agregar a las directivas de acceso del almacén de claves de implementación. | Opcionales |
set_secret_expiry |
Establezca la expiración de 12 meses para los secretos del almacén de claves. | Opcionales |
soft_delete_retention_days |
Número de días que se deben conservar los elementos en el período de eliminación temporal. | Opcionales |
deployer_assign_subscription_permissions |
Controla la asignación de permisos de suscripción. | Opcionales |
Compatible con DNS
Variable | Descripción | Tipo |
---|---|---|
dns_label |
Nombre DNS de la zona DNS privada. | Opcionales |
use_custom_dns_a_registration |
Usa un sistema externo para DNS, establecido en false para Azure nativo. | Opcionales |
management_dns_subscription_id |
Identificador de suscripción de la suscripción que contiene la zona DNS privada. | Opcionales |
management_dns_resourcegroup_name |
Grupo de recursos que contiene la zona DNS privada. | Opcionales |
Otros parámetros
Variable | Descripción | Type | Notas |
---|---|---|---|
firewall_deployment |
Marca booleana que controla si se va a implementar un firewall de Azure. | Opcionales | |
bastion_deployment |
Marca booleana que controla si se va a implementar el host de Azure Bastion. | Opcionales | |
bastion_sku |
SKU para el host de Azure Bastion que se va a implementar (Básico o Estándar). | Opcionales | |
enable_purge_control_for_keyvaults |
Marca booleana que controla si el control de purga está habilitado en el almacén de claves. | Opcionales | Se usa solo para implementaciones de prueba. |
enable_firewall_for_keyvaults_and_storage |
Restrinja el acceso a las subredes seleccionadas. | Opcionales | |
Agent_IP |
Dirección IP del agente. | Opcionales | |
add_Agent_IP |
Controla si la IP del agente se agrega a los firewalls del almacén de claves y de la cuenta de almacenamiento | Opcionales |
Parámetros de aplicación web
Variable | Descripción | Type | Notas |
---|---|---|---|
use_webapp |
Valor booleano que indica si se debe implementar una aplicación web. | Opcionales | |
app_service_SKU_name |
SKU del plan de App Service. | Opcionales | |
app_registration_app_id |
Identificador de registro de la aplicación que se va a usar para la aplicación web. | Opcionales | |
webapp_client_secret |
SKU del plan de App Service. | Opcionales | Se conservará en Key Vault |
Archivo de parámetros de ejemplo para el implementador (solo parámetros necesarios)
# 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
Biblioteca de SAP
La biblioteca de SAP proporciona el almacenamiento persistente de los archivos de estado de Terraform y el soporte de instalación de SAP descargado para el plano de control.
La configuración de la biblioteca de SAP se realiza en un archivo de variable tfvars
de Terraform.
Si desea usar un grupo de recursos existente para la biblioteca de SAP, proporcione el identificador de recurso de Azure para el grupo de recursos mediante el parámetro resource_group_arm_id
en el archivo tfvars del implementador. Si el parámetro no está definido, el grupo de recursos se crea con la nomenclatura predeterminada. Puede cambiar el nombre predeterminado mediante el parámetro resource_group_name
.
Parámetros de Terraform
En esta tabla se muestran los parámetros de Terraform. Estos parámetros deben especificarse manualmente si no usa los scripts de implementación o Azure Pipelines.
Variable | Descripción | Type | Notas |
---|---|---|---|
deployer_tfstate_key |
Nombre de archivo de estado para el implementador | Requerido |
Parámetros del entorno
Esta tabla contiene los parámetros que definen la nomenclatura de los recursos.
Variable | Descripción | Type | Notas |
---|---|---|---|
environment |
Identificador del plano de control (máximo de cinco caracteres) | Mandatory | Por ejemplo, PROD para un entorno de producción y NP para un entorno de no producción. |
location |
Región de Azure en la que se va a implementar | Obligatorio | Use minúsculas. |
name_override_file |
Archivo de reemplazo de nombres | Opcionales | Consulte Nomenclatura personalizada. |
Resource group
Esta tabla contiene los parámetros que definen el grupo de recursos.
Variable | Descripción | Tipo |
---|---|---|
resourcegroup_name |
Nombre del grupo de recursos que se va a crear. | Opcionales |
resourcegroup_arm_id |
Identificador de recursos de Azure para un grupo de recursos existente | Opcional |
resourcegroup_tags |
Etiquetas que se van a asociar al grupo de recursos | Opcionales |
Cuenta de almacenamiento de soporte de instalación de SAP
Variable | Descripción | Tipo |
---|---|---|
library_sapmedia_arm_id |
Identificador de recurso de Azure. | Opcional |
Cuenta de almacenamiento de estado remota de Terraform.
Variable | Descripción | Tipo |
---|---|---|
library_terraform_state_arm_id |
Identificador de recurso de Azure. | Opcional |
Compatible con DNS
Variable | Descripción | Tipo |
---|---|---|
dns_label |
Nombre DNS de la zona DNS privada. | Opcionales |
use_custom_dns_a_registration |
Use una zona DNS privada existente. | Opcionales |
management_dns_subscription_id |
Identificador de suscripción de la suscripción que contiene la zona DNS privada. | Opcionales |
management_dns_resourcegroup_name |
Grupo de recursos que contiene la zona DNS privada. | Opcionales |
Parámetros adicionales
Variable | Descripción | Tipo |
---|---|---|
use_private_endpoint |
Use los puntos de conexión privados. | Opcionales |
use_service_endpoint |
Use puntos de conexión de servicio para subredes. | Opcionales |
enable_firewall_for_keyvaults_and_storage |
Restrinja el acceso a las subredes seleccionadas. | Opcionales |
subnets_to_add_to_firewall_for_keyvaults_and_storage |
Subredes que necesitan acceso al almacenes de claves y cuentas de almacenamiento. | Opcionales |
Archivo de parámetros de ejemplo para la biblioteca de SAP (solo parámetros necesarios)
# 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"