Créer un environnement App Service Environment à l’aide d’un modèle Azure Resource Manager
Un environnement App Service Environment peut être créé à l’aide d’un modèle Azure Resource Manager vous permettant d’effectuer un déploiement reproductible.
Notes
Cet article concerne la fonctionnalité App Service Environment v3 qui est utilisée avec des plans App Service v2 isolés.
Vue d’ensemble
Un environnement Azure App Service Environment peut être créé avec un point de terminaison accessible via Internet ou un point de terminaison sur une adresse interne d’un réseau virtuel Azure. S’il est créé avec un point de terminaison interne, ce point de terminaison est fourni par un composant Azure appelé équilibreur de charge interne (ILB, Internal Load Balancer). Un environnement App Service Environment sur une adresse IP interne est appelé « environnement ASE ILB ». L’environnement App Service Environment avec un point de terminaison public est appelé « Environnement ASE externe ».
Un ASE peut être créé à l’aide du portail Azure ou d’un modèle Azure Resource Manager. Cet article décrit les étapes et la syntaxe nécessaires pour créer un ASE externe ou un ASE ILB à l’aide de modèles Resource Manager. Découvrez comment créer un environnement App Service Environment dans le portail Azure.
Lorsque vous créez un environnement App Service Environment dans le portail Azure, vous pouvez créer votre réseau virtuel en même temps ou choisir un réseau virtuel préexistant sur lequel le déployer.
Lorsque vous créez un environnement App Service Environment à partir d’un modèle, vous devez commencer avec :
- Un réseau virtuel Azure.
- Un sous-réseau dans ce réseau virtuel. Nous recommandons une taille de sous-réseau de
/24
avec 256 adresses pour s’adapter à une croissance future et aux besoins en termes de mise à l’échelle. Une fois l’environnement App Service Environment créé, vous ne pouvez pas en changer la taille. - L’emplacement dans lequel vous souhaitez procéder au déploiement.
Configuration de l’environnement App Service Environment
Le modèle Resource Manager de base qui crée un environnement App Service Environment ressemble à ceci :
{
"type": "Microsoft.Web/hostingEnvironments",
"apiVersion": "2022-03-01",
"name": "[parameters('aseName')]",
"location": "[resourceGroup().location]",
"kind": "ASEV3",
"properties": {
"internalLoadBalancingMode": "Web, Publishing",
"virtualNetwork": {
"id": "[parameters('subnetResourceId')]"
},
"networkingConfiguration": { },
"customDnsSuffixConfiguration": { }
},
"identity": {
"type": "SystemAssigned"
}
}
Outre les propriétés principales, vous pouvez utiliser d’autres options de configuration pour configurer votre environnement App Service Environment.
- nom : Obligatoire. Ce paramètre définit un nom d’environnement App Service Environment unique. Le nom ne doit pas comporter plus de 36 caractères.
- virtualNetwork -> id : Obligatoire. Spécifie l’ID de ressource du sous-réseau. Le sous-réseau doit être vide et délégué à Microsoft.Web/hostingEnvironments
- internalLoadBalancingMode : obligatoire. Dans la plupart des cas, définissez cette propriété sur « Web, Publishing », ce qui signifie que le trafic HTTP/HTTPS et le trafic FTP se situent tous les deux sur une adresse IP virtuelle interne (équilibreur de charge interne). Si cette propriété est définie sur « None », tout le trafic reste sur l’adresse IP virtuelle publique (équilibreur de charge externe).
- zoneRedundant : Facultatif. Détermine avec true/false si l’environnement App Service Environment sera déployé dans des zones de disponibilité (AZ). Pour plus d’informations, consultez Régions et zones de disponibilité.
- dedicatedHostCount : Facultatif. Dans la plupart des cas, définissez cette propriété sur 0 ou omettez-la. Vous pouvez la définir sur 2 si vous souhaitez déployer votre environnement App Service Environment avec une isolation matérielle physique sur des hôtes dédiés.
- upgradePreference : Facultatif. Définit si la mise à niveau est démarrée automatiquement ou si une fenêtre de 15 jours est donnée pour démarrer le déploiement. Les valeurs valides sont « None », « Early », « Late », « Manual ». Informations supplémentaires sur les préférences de mise à niveau.
- clusterSettings : Facultatif. Pour plus d’informations, consultez Paramètres de cluster.
- networkingConfiguration -> allowNewPrivateEndpointConnections : Facultatif. Pour plus d’informations, consultez Configuration du réseau.
- networkingConfiguration -> remoteDebugEnabled : Facultatif. Pour plus d’informations, consultez Configuration du réseau.
- networkingConfiguration -> ftpEnabled : Facultatif. Pour plus d’informations, consultez Configuration du réseau.
- networkingConfiguration -> inboundIpAddressOverride : Facultatif. Vous permet de créer un environnement App Service Environment avec votre propre adresse IP publique Azure (spécifiez l’ID de la ressource) ou de définir une adresse IP statique pour les déploiements ILB. Ce paramètre ne peut pas être modifié une fois l’environnement App Service Environment créé.
- customDnsSuffixConfiguration : Facultatif. Vous permet de spécifier un suffixe de domaine personnalisé pour l’environnement App Service Environment. Nécessite un certificat valide délivré par un coffre de clés et un accès à l’aide d’une identité managée. Pour plus d’informations sur les paramètres spécifiques, consultez Configuration d’un suffixe de domaine personnalisé.
Remarque
Les propriétés dnsSuffix
, multiSize
, frontEndScaleFactor
, userWhitelistedIpRanges
et ipSslAddressCount
ne sont pas prises en charge lors de la création d’App Service Environment v3.
Déploiement de l’environnement App Service Environment
Après avoir créé le modèle ARM, nommé par exemple azuredeploy.json, et éventuellement un fichier de paramètres nommé par exemple azuredeploy.parameters.json, vous pouvez créer l’environnement App Service Environment à l’aide de l’extrait de code Azure CLI. Modifiez les chemins d’accès des fichiers de façon à ce qu’ils correspondent aux emplacements des fichiers du modèle Resource Manager sur votre ordinateur. Pensez à indiquer votre propre valeur pour le nom du groupe de ressources :
templatePath="PATH/azuredeploy.json"
parameterPath="PATH/azuredeploy.parameters.json"
az deployment group create --resource-group "YOUR-RG-NAME-HERE" --template-file $templatePath --parameters $parameterPath
La création de App Service Environment prend généralement environ une heure, mais s’il s’agit d’une App Service Environment redondante par zone ou si nous rencontrons une requête inattendue dans une région, le processus de création peut durer plusieurs heures.