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

Diagrama que muestra el plano de control.

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"

Paso siguiente