Partage via


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

Diagramme montrant le plan de contrôle.

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"

Étape suivante