Configurer le plan de contrôle
Le plan de contrôle relatif à l’infrastructure d’automatisation du déploiement SAP comprend les composants suivants :
- Système de déploiement
- Bibliothèque SAP
Système de déploiement
Le système de déploiement est le moteur d’exécution de l’infrastructure d’automatisation du déploiement SAP. Il s’agit d’une machine virtuelle préconfigurée qui permet d’exécuter des commandes Terraform et Ansible. Quand vous utilisez Azure DevOps, le système de déploiement est un agent auto-hébergé.
La configuration du système de déploiement est effectuée dans un fichier de variables Terraform tfvars
.
Si vous souhaitez utiliser un groupe de ressources existant pour le système de déploiement, indiquez l’ID de ressource Azure du groupe de ressources à l’aide du paramètre resource_group_arm_id
dans le fichier tfvars du système de déploiement. Si le paramètre n’est pas défini, le groupe de ressources est créé selon la règle de nommage par défaut. Vous pouvez modifier le nom par défaut à l’aide du paramètre resource_group_name
.
Paramètres Terraform
Ce tableau montre les paramètres Terraform. Vous devez entrer ces paramètres manuellement si vous n’utilisez pas les scripts de déploiement.
Variable | Description | Type |
---|---|---|
tfstate_resource_id |
Identificateur de ressource Azure pour le compte de stockage dans la bibliothèque SAP contenant les fichiers d’état Terraform | Obligatoire |
Paramètres d’environnement
Ce tableau montre les paramètres qui définissent le nommage des ressources.
Variable | Description | Type | Notes |
---|---|---|---|
environment |
Identificateur du plan de contrôle (5 caractères maximum). | Obligatoire | Par exemple, PROD pour un environnement de production et NP pour un environnement hors production. |
location |
Région Azure dans laquelle effectuer le déploiement. | Requis | Utilisez des minuscules. |
codename |
Composant supplémentaire pour nommer les ressources. | Facultatif | |
name_override_file |
Fichier de remplacement de nom. | Facultatif | Consultez nommage personnalisé. |
place_delete_lock_on_resources |
Placez un verrou de suppression sur les ressources clés. | Facultatif |
Resource group
Ce tableau montre les paramètres qui définissent le groupe de ressources.
Variable | Description | Type |
---|---|---|
resourcegroup_name |
Nom du groupe de ressources à créer | Facultatif |
resourcegroup_arm_id |
Identificateur de ressource Azure pour un groupe de ressources existant | Facultatif |
resourcegroup_tags |
Étiquettes à associer au groupe de ressources | Facultatif |
Paramètres réseau
Le cadre d'automatisation prend en charge à la fois la création du réseau virtuel et des sous-réseaux (champ vert), ou l'utilisation d'un réseau virtuel existant et de sous-réseaux existants (champ marron), ou une combinaison de champ vert et de champ brun :
- Scénario nouveau : L'espace d'adressage du réseau virtuel et les préfixes d'adresse de sous-réseau doivent être spécifiés.
- Scénario de friches industrielles : L'identifiant de ressource Azure pour le réseau virtuel et les sous-réseaux doit être spécifié.
Le CIDR recommandé de l’espace d’adressage du réseau virtuel est /27, ce qui fournit de l’espace pour 32 adresses IP. Une valeur CIDR de /28 autorise uniquement 16 adresses IP. Si vous souhaitez inclure le pare-feu Azure, utilisez une valeur CIDR de /25, car le pare-feu Azure requiert une plage de /26.
La valeur CIDR recommandée pour le sous-réseau de gestion est /28, ce qui autorise 16 adresses IP. La valeur CIDR recommandée pour le sous-réseau du pare-feu est /26, ce qui autorise 64 adresses IP.
Ce tableau montre les paramètres de mise en réseau.
Variable | Description | Type | Notes |
---|---|---|---|
management_network_name |
Nom du réseau virtuel dans lequel le système de déploiement est déployé | Facultatif | Pour les déploiements en champ vert |
management_network_logical_name |
Nom logique du réseau (DEV-WEEU-MGMT01-INFRASTRUCTURE) | Obligatoire | |
management_network_arm_id |
Identificateur de ressource Azure pour le réseau virtuel | Facultatif | Pour les déploiements brown-field |
management_network_address_space |
Plage d’adresses pour le réseau virtuel | Obligatoire | Pour les déploiements en champ vert |
management_subnet_name |
Nom du sous-réseau | Facultatif | |
management_subnet_address_prefix |
Plage d’adresses du sous-réseau | Obligatoire | Pour les déploiements en champ vert |
management_subnet_arm_id |
Identificateur de ressource Azure pour le sous-réseau | Obligatoire | Pour les déploiements brown-field |
management_subnet_nsg_name |
Nom du groupe de sécurité réseau | Facultatif | |
management_subnet_nsg_arm_id |
Identificateur de ressource Azure pour le groupe de sécurité réseau | Obligatoire | Pour les déploiements brown-field |
management_subnet_nsg_allowed_ips |
Plage d’adresses IP autorisées à ajouter au pare-feu Azure | Facultatif | |
management_firewall_subnet_arm_id |
Identificateur de ressource Azure pour le sous-réseau Pare-feu Azure | Obligatoire | Pour les déploiements brown-field |
management_firewall_subnet_address_prefix |
Plage d’adresses du sous-réseau | Obligatoire | Pour les déploiements en champ vert |
management_bastion_subnet_arm_id |
Identificateur de ressource Azure pour le sous-réseau Azure Bastion | Obligatoire | Pour les déploiements brown-field |
management_bastion_subnet_address_prefix |
Plage d’adresses du sous-réseau | Obligatoire | Pour les déploiements en champ vert |
webapp_subnet_arm_id |
Identificateur de ressource Azure pour le sous-réseau d’application web | Obligatoire | Pour les déploiements brown-field |
webapp_subnet_address_prefix |
Plage d’adresses du sous-réseau | Obligatoire | Pour les déploiements en champ vert |
use_private_endpoint |
Utiliser des points de terminaison privés. | Facultatif | |
use_service_endpoint |
Utiliser des points de terminaison de service pour les sous-réseaux. | Facultatif |
Remarque
Quand vous utilisez un sous-réseau existant pour l’application web, le sous-réseau doit être vide, dans la même région que le groupe de ressources déployé et délégué à Microsoft.Web/serverFarms.
Paramètres de machine virtuelle du système de déploiement
Ce tableau montre les paramètres liés à la machine virtuelle du système de déploiement.
Variable | Description | Type |
---|---|---|
deployer_size |
Définit la référence SKU de machine virtuelle à utiliser, par défaut : Standard_D4ds_v4 | Facultatif |
deployer_count |
Définit le nombre de systèmes de déploiement | Facultatif |
deployer_image |
Définit l’image de machine virtuelle à utiliser, par défaut : Ubuntu 22.04 | Facultatif |
plan |
Définit le plan associé à l’image de machine virtuelle | Facultatif |
deployer_disk_type |
Définit le type de disque, par défaut : Premium_LRS | Facultatif |
deployer_use_DHCP |
Contrôle si les adresses IP fournies par le sous-réseau Azure doivent être utilisées (dynamiques) : true | Facultatif |
deployer_private_ip_address |
Définit l’adresse IP privée à utiliser | Facultatif |
deployer_enable_public_ip |
Détermine si le système de déploiement a une adresse IP publique | Facultatif |
auto_configure_deployer |
Définit si le système de déploiement est configuré avec les logiciels requis (Terraform et Ansible) | Facultatif |
add_system_assigned_identity |
Définit si une identité système est attribuée au système de déploiement | Facultatif |
L’image de machine virtuelle est définie à l’aide de la structure suivante :
xxx_vm_image = {
os_type = ""
source_image_id = ""
publisher = "Canonical"
offer = "0001-com-ubuntu-server-jammy"
sku = "22_04-lts"
version = "latest"
type = "marketplace"
}
Remarque
Le type peut être marketplace/marketplace_with_plan/custom
.
L’utilisation d’une image de type marketplace_with_plan
nécessite que l’image en question ait été utilisée au moins une fois dans l’abonnement. La première utilisation invite l’utilisateur à accepter les termes du contrat de licence, et l’automatisation n’a aucun moyen de l’approuver.
Paramètres d’authentification
Cette section définit les paramètres utilisés pour définir l’authentification de la machine virtuelle.
Variable | Description | Type |
---|---|---|
deployer_vm_authentication_type |
Définit l’authentification par défaut pour le système de déploiement | Facultatif |
deployer_authentication_username |
Nom du compte Administrateur | Facultatif |
deployer_authentication_password |
Mot de passe de l’administrateur | Facultatif |
deployer_authentication_path_to_public_key |
Chemin vers la clé publique utilisée pour l’authentification | Facultatif |
deployer_authentication_path_to_private_key |
Chemin vers la clé privée utilisée pour l’authentification | Facultatif |
use_spn |
Si cette variable est définie, le déploiement est effectué à l’aide d’un principal de service plutôt que d’un MSI | Facultatif |
Paramètres du coffre de clés
Cette section définit les paramètres utilisés pour définir les informations Azure Key Vault.
Variable | Description | Type |
---|---|---|
user_keyvault_id |
Identificateur de ressource Azure pour le coffre de clés utilisateur. | Facultatif |
spn_keyvault_id |
Identificateur de ressource Azure pour le coffre de clés contenant les informations d’identification de déploiement. | Facultatif |
deployer_private_key_secret_name |
Nom du secret du coffre de clés pour la clé privée du système de déploiement. | Facultatif |
deployer_public_key_secret_name |
Nom du secret du coffre de clés pour la clé publique du système de déploiement. | Facultatif |
deployer_username_secret_name |
Nom du secret du coffre de clés pour le nom d’utilisateur du système de déploiement. | Facultatif |
deployer_password_secret_name |
Nom du secret du coffre de clés pour le mot de passe du système de déploiement. | Facultatif |
additional_users_to_add_to_keyvault_policies |
Liste des ID d’objet utilisateur à ajouter aux stratégies d’accès au coffre de clés de déploiement. | Facultatif |
set_secret_expiry |
Définissez l’expiration des secrets du coffre de clés sur 12 mois. | Facultatif |
soft_delete_retention_days |
Nombre de jours de conservation des éléments pendant la période de suppression réversible. | Facultatif |
deployer_assign_subscription_permissions |
Contrôle l’attribution des autorisations d’abonnement. | Facultatif |
Prise en charge DNS
Variable | Description | Type |
---|---|---|
dns_label |
Nom DNS de la zone DNS privée. | Facultatif |
use_custom_dns_a_registration |
Utilise un système externe pour DNS, défini sur false pour natif Azure. | Facultatif |
management_dns_subscription_id |
ID de l’abonnement contenant la zone DNS privée. | Facultatif |
management_dns_resourcegroup_name |
Groupe de ressources contenant la zone DNS privée. | Facultatif |
Autres paramètres
Variable | Description | Type | Notes |
---|---|---|---|
firewall_deployment |
Indicateur booléen contrôlant si un pare-feu Azure doit être déployé. | Facultatif | |
bastion_deployment |
Indicateur booléen contrôlant si un hôte Azure Bastion doit être déployé. | Facultatif | |
bastion_sku |
Référence SKU pour l’hôte Azure Bastion à déployer (De base/Standard). | Facultatif | |
enable_purge_control_for_keyvaults |
Indicateur booléen vérifiant si le contrôle de vidage est activé sur le coffre de clés. | Facultatif | Utilisez uniquement pour les déploiements de test. |
enable_firewall_for_keyvaults_and_storage |
Restreindre l’accès aux sous-réseaux sélectionnés. | Facultatif | |
Agent_IP |
Adresse IP de l’agent. | Facultatif | |
add_Agent_IP |
Contrôle si l’adresse IP de l’agent est ajoutée aux pare-feu du coffre de clés et du compte de stockage. | Facultatif |
Paramètres de l’application web
Variable | Description | Type | Notes |
---|---|---|---|
use_webapp |
Valeur booléenne indiquant si une application web doit être déployée. | Facultatif | |
app_service_SKU_name |
Référence SKU du plan App Service. | Facultatif | |
app_registration_app_id |
ID d’inscription d’application à utiliser pour l’application web. | Facultatif | |
webapp_client_secret |
Référence SKU du plan App Service. | Facultatif | Conservée dans Key Vault |
Exemple de fichier de paramètres pour le système de déploiement (paramètres requis uniquement)
# 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
Bibliothèque SAP
La bibliothèque SAP fournit le stockage persistant des fichiers d’état Terraform et du support d’installation SAP téléchargé pour le plan de contrôle.
La configuration de la bibliothèque SAP est effectuée dans un fichier de variables Terraform tfvars
.
Si vous souhaitez utiliser un groupe de ressources existant pour la bibliothèque SAP, indiquez l’ID de ressource Azure du groupe de ressources à l’aide du paramètre resource_group_arm_id
dans le fichier tfvars du système de déploiement. Si le paramètre n’est pas défini, le groupe de ressources est créé selon la règle de nommage par défaut. Vous pouvez modifier le nom par défaut à l’aide du paramètre resource_group_name
.
Paramètres Terraform
Ce tableau montre les paramètres Terraform. Vous devez entrer ces paramètres manuellement si vous n’utilisez pas les scripts de déploiement ou Azure Pipelines.
Variable | Description | Type | Notes |
---|---|---|---|
deployer_tfstate_key |
Nom de fichier d’état pour le système de déploiement | Requis |
Paramètres d’environnement
Ce tableau montre les paramètres qui définissent le nommage des ressources.
Variable | Description | Type | Notes |
---|---|---|---|
environment |
Identificateur du plan de contrôle (cinq caractères maximum) | Obligatoire | Par exemple, PROD pour un environnement de production et NP pour un environnement hors production. |
location |
Région Azure dans laquelle effectuer le déploiement | Requis | Utilisez des minuscules. |
name_override_file |
Fichier de remplacement de nom | Facultatif | Consultez nommage personnalisé. |
Resource group
Ce tableau montre les paramètres qui définissent le groupe de ressources.
Variable | Description | Type |
---|---|---|
resourcegroup_name |
Nom du groupe de ressources à créer | Facultatif |
resourcegroup_arm_id |
Identificateur de ressource Azure pour un groupe de ressources existant | Facultatif |
resourcegroup_tags |
Étiquettes à associer au groupe de ressources | Facultatif |
Compte de stockage du support d’installation SAP
Variable | Description | Type |
---|---|---|
library_sapmedia_arm_id |
Identificateur de ressource Azure | Facultatif |
Compte de stockage de l’état à distance Terraform
Variable | Description | Type |
---|---|---|
library_terraform_state_arm_id |
Identificateur de ressource Azure | Facultatif |
Prise en charge DNS
Variable | Description | Type |
---|---|---|
dns_label |
Nom DNS de la zone DNS privée. | Facultatif |
use_custom_dns_a_registration |
Utiliser une zone DNS privée existante. | Facultatif |
management_dns_subscription_id |
ID de l’abonnement contenant la zone DNS privée. | Facultatif |
management_dns_resourcegroup_name |
Groupe de ressources contenant la zone DNS privée. | Facultatif |
Paramètres supplémentaires
Variable | Description | Type |
---|---|---|
use_private_endpoint |
Utiliser des points de terminaison privés. | Facultatif |
use_service_endpoint |
Utiliser des points de terminaison de service pour les sous-réseaux. | Facultatif |
enable_firewall_for_keyvaults_and_storage |
Restreindre l’accès aux sous-réseaux sélectionnés. | Facultatif |
subnets_to_add_to_firewall_for_keyvaults_and_storage |
Sous-réseaux qui ont besoin d’accéder aux coffres de clés et aux comptes de stockage. | Facultatif |
Exemple de fichier de paramètres pour la bibliothèque SAP (paramètres requis uniquement)
# 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"