Configurar o painel de controle

O painel de controle para a Estrutura de Automação de Implantação do SAP consiste nos seguintes componentes:

  • Implantador
  • Biblioteca do SAP

Diagrama que mostra o painel de controle.

Implantador

O implantador é o mecanismo de execução da estrutura de automação de implantação do SAP. É uma VM (máquina virtual) pré-configurada que é usada para executar os comandos Terraform e Ansible. Ao usar o Azure DevOps, o implantador é um agente auto-hospedado.

A configuração do implantador é executada em um arquivo de variável tfvars do Terraform.

Se você quiser usar um grupo de recursos existente para o Implantador, forneça a ID de recurso do Azure para o grupo de recursos usando o parâmetro resource_group_arm_id no arquivo tfvars do implantador. Se o parâmetro não estiver definido, o grupo de recursos será criado usando a nomenclatura padrão. Você pode alterar o nome padrão usando o parâmetro resource_group_name.

Parâmetros do Terraform

Esta tabela mostra os parâmetros Terraform. Tais parâmetros precisam ser inseridos manualmente se não usarem os scripts de implantação.

Variável Descrição Type
tfstate_resource_id Identificador de recursos do Azure para a conta de armazenamento na Biblioteca do SAP que contém os arquivos de estado do Terraform Obrigatório

Parâmetros do ambiente

Esta tabela mostra os parâmetros que definem a nomenclatura de recursos.

Variável Descrição Tipo Observações
environment Identificador do plano de controle (máximo de cinco caracteres). Obrigatório Por exemplo, PROD para um ambiente de produção e NP para um ambiente de não produção.
location A região do Azure na qual implantar. Obrigatório Usar letras minúsculas.
codename Componente adicional para nomear os recursos. Opcional
name_override_file Arquivo de substituição de nome. Opcional Confira Nomenclatura personalizada.
place_delete_lock_on_resources Coloque um bloqueio de exclusão nos recursos de chave. Opcional

Grupo de recursos

Esta tabela mostra os parâmetros que definem o grupo de recursos.

Variável Descrição Type
resourcegroup_name Nome do grupo de recursos a ser criado Opcional
resourcegroup_arm_id Identificador de recursos do Azure para um grupo de recursos existente Opcional
resourcegroup_tags Marcas a serem associadas ao grupo de recursos Opcional

Parâmetros de rede

A estrutura de automação dá suporte à criação da rede virtual e às sub-redes (campo verde) ou ao uso de uma rede virtual existente e sub-redes existentes (campo marrom) ou uma combinação de campo verde e campo marrom:

  • Cenário de campo verde: o espaço de endereço da rede virtual e os prefixos de endereço de sub-rede devem ser especificados.
  • Cenário de campo marrom: o identificador de recursos do Azure para a rede virtual e as sub-redes precisa ser especificado.

O CIDR recomendado do espaço de endereço de rede virtual é /27, que permite espaço para endereços IP 32. Um valor CIDR de /28 só permite 16 endereços IP. Se você quiser incluir o Firewall do Azure, use um valor de CIDR de /25, pois o Firewall do Azure requer um intervalo de /26.

O valor de CIDR recomendado para a sub-rede de gerenciamento é /28, que permite 16 endereços IP. O valor de CIDR recomendado para a sub-rede de firewall é /26, que permite 64 endereços IP.

Esta tabela mostra os parâmetros de rede.

Variável Descrição Tipo Observações
management_network_name O nome da VNet na qual o implantador será implantado Opcional Para implantações de campo verde
management_network_logical_name O nome lógico da rede (DEV-WEEU-MGMT01-INFRASTRUCTURE) Obrigatório
management_network_arm_id O identificador de recursos do Azure para a rede virtual Opcional Para implantações de campo marrom
management_network_address_space O intervalo de endereços para a rede virtual Obrigatório Para implantações de campo verde
management_subnet_name O nome da sub-rede Opcional
management_subnet_address_prefix O intervalo de endereços na sub-rede Obrigatório Para implantações de campo verde
management_subnet_arm_id O identificador de recursos do Azure na sub-rede Obrigatório Para implantações de campo marrom
management_subnet_nsg_name O nome do grupo de segurança de rede Opcional
management_subnet_nsg_arm_id O identificador de recurso do Azure para o grupo de segurança de rede Obrigatório Para implantações de campo marrom
management_subnet_nsg_allowed_ips Intervalo de endereços IP permitidos para adicionar ao Firewall do Azure Opcional
management_firewall_subnet_arm_id O identificador de recursos do Azure para a sub-rede do Firewall do Azure Obrigatório Para implantações de campo marrom
management_firewall_subnet_address_prefix O intervalo de endereços na sub-rede Obrigatório Para implantações de campo verde
management_bastion_subnet_arm_id O identificador de recursos do Azure para a sub-rede do Azure Bastion Obrigatório Para implantações de campo marrom
management_bastion_subnet_address_prefix O intervalo de endereços na sub-rede Obrigatório Para implantações de campo verde
webapp_subnet_arm_id O identificador de recursos do Azure para a sub-rede de aplicativo Web Obrigatório Para implantações de campo marrom
webapp_subnet_address_prefix O intervalo de endereços na sub-rede Obrigatório Para implantações de campo verde
use_private_endpoint Use pontos de extremidade privados. Opcional
use_service_endpoint Usar pontos de extremidade de serviço para sub-redes. Opcional

Observação

Ao usar uma sub-rede existente para o aplicativo Web, a sub-rede deve estar vazia, na mesma região que o grupo de recursos que está sendo implantado e delegada para Microsoft.Web/serverFarms.

Parâmetros de máquina virtual do implantador

Esta tabela mostra os parâmetros relacionados à máquina virtual do implantador.

Variável Descrição Type
deployer_size Define a SKU da VM a ser usada padrão: Standard_D4ds_v4 Opcional
deployer_count Define o número de implantadores Opcional
deployer_image Define a imagem da VM a ser usada, padrão: Ubuntu 22.04 Opcional
plan Define o plano associado à imagem da VM Opcional
deployer_disk_type Define o tipo de disco, padrão: Premium_LRS Opcional
deployer_use_DHCP Controla se os endereços IP fornecidos pela sub-rede do Azure devem ser usados (dinâmico) true Opcional
deployer_private_ip_address Define o endereço IP privado a ser usado Opcional
deployer_enable_public_ip Define se o implantador tem um IP público Opcional
auto_configure_deployer Define que o implantador será configurado com o software obrigatório (Terraform e Ansible) Opcional
add_system_assigned_identity Define se uma identidade do sistema é atribuída ao implantador Opcional

A imagem da máquina virtual é definida usando a seguinte estrutura:

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

Observação

O tipo pode ser marketplace/marketplace_with_plan/custom. Usar uma imagem do tipo marketplace_with_plan requer que a imagem em questão tenha sido usada pelo menos uma vez na assinatura. O primeiro uso solicita que o usuário aceite os termos de licença e a automação não tem nenhum meio de aprová-los.

Parâmetros de autenticação

Esta seção define os parâmetros usados para definir a autenticação de VM.

Variável Descrição Type
deployer_vm_authentication_type Define a autenticação padrão para o implantador Opcional
deployer_authentication_username Nome da conta de administrador Opcional
deployer_authentication_password Senha do administrador Opcional
deployer_authentication_path_to_public_key Caminho para a chave pública usada para autenticação Opcional
deployer_authentication_path_to_private_key Caminho para a chave privada usada para autenticação Opcional
use_spn Se definido, a implantação será executada usando uma Entidade de Serviço, caso contrário, uma MSI Opcional

Parâmetros do Key Vault

Esta seção define os parâmetros usados para definir as informações do Azure Key Vault.

Variável Descrição Type
user_keyvault_id O identificador de recursos do Azure para o cofre de chaves do usuário. Opcional
spn_keyvault_id Identificador de recursos do Azure no cofre de chaves que contém as credenciais de implantação. Opcional
deployer_private_key_secret_name O nome secreto do cofre de chaves para a chave privada do implantador. Opcional
deployer_public_key_secret_name O nome secreto do cofre de chaves para a chave pública do implantador. Opcional
deployer_username_secret_name O nome do segredo do cofre de chaves para o nome de usuário do implantador. Opcional
deployer_password_secret_name O nome do segredo do cofre de chaves para a senha do implantador. Opcional
additional_users_to_add_to_keyvault_policies Uma lista de IDs de objeto de usuário a serem adicionadas às políticas de acesso do cofre de chaves de implantação. Opcional
set_secret_expiry Defina a expiração de 12 meses para segredos do cofre de chaves. Opcional
soft_delete_retention_days O número de dias em que os itens devem ser mantidos no período de exclusão temporária. Opcional
deployer_assign_subscription_permissions Controla a atribuição de permissão de assinatura. Opcional

Suporte ao DNS

Variável Descrição Type
dns_label Nome DNS da zona DNS privada. Opcional
use_custom_dns_a_registration Usa um sistema externo para DNS, definido como false para nativo do Azure. Opcional
management_dns_subscription_id ID da assinatura para a assinatura que contém a zona DNS privada. Opcional
management_dns_resourcegroup_name O grupo de recursos que contém a zona DNS privada. Opcional

Outros parâmetros

Variável Descrição Tipo Observações
firewall_deployment Sinalizador booliano que controla se um firewall do Azure deve ser implantado. Opcional
bastion_deployment Sinalizador booliano que controla se o host do Azure Bastion deve ser implantado. Opcional
bastion_sku SKU para host do Azure Bastion a ser implantado (Básico/Standard). Opcional
enable_purge_control_for_keyvaults Sinalizador booliano que controla se o controle de limpeza está habilitado no cofre de chaves. Opcional Use essa opção somente em implantações de teste.
enable_firewall_for_keyvaults_and_storage Restrinja o acesso às sub-redes selecionadas. Opcional
Agent_IP Endereço IP do agente. Opcional
add_Agent_IP Controla se o IP do Agente é adicionado ao cofre de chaves e aos firewalls da conta de armazenamento Opcional

Parâmetros do Aplicativo Web

Variável Descrição Tipo Observações
use_webapp Valor booliano que indica se um aplicativo Web deve ser implantado. Opcional
app_service_SKU_name O SKU do plano de serviço de aplicativo. Opcional
app_registration_app_id A ID de registro do aplicativo a ser usada para o aplicativo Web. Opcional
webapp_client_secret O SKU do plano de serviço de aplicativo. Opcional Será mantido no Key Vault

Arquivo de parâmetros de exemplo para o implantador (somente parâmetros necessários)

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

A biblioteca do SAP fornece o armazenamento persistente dos arquivos de estado do Terraform e a mídia de instalação do SAP baixada para o painel de controle.

A configuração da Biblioteca do SAP é executada em um arquivo de variável tfvars do Terraform.

Se você quiser usar um grupo de recursos existente para a biblioteca SAP, forneça a ID de recurso do Azure para o grupo de recursos usando o parâmetro resource_group_arm_id no arquivo tfvars do implantador. Se o parâmetro não estiver definido, o grupo de recursos será criado usando a nomenclatura padrão. Você pode alterar o nome padrão usando o parâmetro resource_group_name.

Parâmetros do Terraform

Esta tabela mostra os parâmetros Terraform. Tais parâmetros precisam ser inseridos manualmente se não usarem os scripts de implantação ou o Azure Pipelines.

Variável Descrição Tipo Observações
deployer_tfstate_key O nome do arquivo de estado para o implantador Obrigatório

Parâmetros do ambiente

Esta tabela mostra os parâmetros que definem a nomenclatura de recursos.

Variável Descrição Tipo Observações
environment Identificador do painel de controle (máximo de cinco caracteres) Obrigatório Por exemplo, PROD para um ambiente de produção e NP para um ambiente de não produção.
location A região do Azure na qual implantar Obrigatório Usar letras minúsculas.
name_override_file Arquivo de substituição de nome Opcional Confira Nomenclatura personalizada.

Grupo de recursos

Esta tabela mostra os parâmetros que definem o grupo de recursos.

Variável Descrição Type
resourcegroup_name Nome do grupo de recursos a ser criado Opcional
resourcegroup_arm_id Identificador de recursos do Azure para um grupo de recursos existente Opcional
resourcegroup_tags Marcas a serem associadas ao grupo de recursos Opcional

Conta de armazenamento de mídia de instalação do SAP

Variável Descrição Type
library_sapmedia_arm_id Identificador do recurso do Azure. Opcional

Conta de armazenamento de estado remoto do Terraform

Variável Descrição Type
library_terraform_state_arm_id Identificador do recurso do Azure. Opcional

Suporte ao DNS

Variável Descrição Type
dns_label Nome DNS da zona DNS privada. Opcional
use_custom_dns_a_registration Use uma zona de DNS privada existente. Opcional
management_dns_subscription_id ID da assinatura para a assinatura que contém a zona DNS privada. Opcional
management_dns_resourcegroup_name O grupo de recursos que contém a zona DNS privada. Opcional

Parâmetros adicionais

Variável Descrição Type
use_private_endpoint Use pontos de extremidade privados. Opcional
use_service_endpoint Usar pontos de extremidade de serviço para sub-redes. Opcional
enable_firewall_for_keyvaults_and_storage Restrinja o acesso às sub-redes selecionadas. Opcional
subnets_to_add_to_firewall_for_keyvaults_and_storage Sub-redes que precisam de acesso a cofres de chaves e contas de armazenamento. Opcional

Arquivo de parâmetros de exemplo para a biblioteca do SAP (somente parâmetros necessários)

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

Próxima etapa