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