Een App Service-omgeving maken met behulp van een Azure Resource Manager-sjabloon
App Service Environment kan worden gemaakt met behulp van een Azure Resource Manager-sjabloon, zodat u herhaalbare implementaties kunt uitvoeren.
Notitie
Dit artikel gaat over App Service Environment v3, dat wordt gebruikt met Geïsoleerde v2 App Service-abonnementen.
Overzicht
Azure-app Service Environment kan worden gemaakt met een eindpunt dat toegankelijk is voor internet of een eindpunt op een intern adres in een virtueel Azure-netwerk. Wanneer dit is gemaakt met een intern eindpunt, wordt dat eindpunt geleverd door een Azure-onderdeel dat een interne load balancer (ILB) wordt genoemd. De App Service Environment op een intern IP-adres wordt een ILB AS-omgeving genoemd. De App Service-omgeving met een openbaar eindpunt wordt een externe ASE genoemd.
Een ASE kan worden gemaakt met behulp van Azure Portal of een Azure Resource Manager-sjabloon. In dit artikel worden de stappen en syntaxis beschreven die u nodig hebt om een externe ASE of ILB ASE te maken met Resource Manager-sjablonen. Meer informatie over het maken van een App Service-omgeving in Azure Portal.
Wanneer u een App Service Environment maakt in Azure Portal, kunt u uw virtuele netwerk tegelijkertijd maken of een bestaand virtueel netwerk kiezen waarin u wilt implementeren.
Wanneer u een App Service-omgeving maakt op basis van een sjabloon, moet u beginnen met:
- Een virtueel Azure-netwerk.
- Een subnet in dat virtuele netwerk. We raden een subnetgrootte van
/24
256 adressen aan om tegemoet te komen aan toekomstige groei- en schaalbehoeften. Nadat de App Service Environment is gemaakt, kunt u de grootte niet wijzigen. - De locatie waarop u wilt implementeren.
De App Service-omgeving configureren
De eenvoudige Resource Manager-sjabloon waarmee een App Service-omgeving wordt gemaakt, ziet er als volgt uit:
{
"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"
}
}
Naast de kerneigenschappen zijn er andere configuratieopties die u kunt gebruiken om uw App Service-omgeving te configureren.
- name: vereist. Deze parameter definieert een unieke Naam van de App Service-omgeving. De naam mag niet langer zijn dan 36 tekens.
- virtualNetwork -> id: vereist. Hiermee geeft u de resource-id van het subnet. Subnet moet leeg en gedelegeerd zijn aan Microsoft.Web/hostingEnvironments
- internalLoadBalancingMode: vereist. In de meeste gevallen stelt u deze eigenschap in op 'Web, Publiceren', wat betekent dat zowel HTTP-/HTTPS-verkeer als FTP-verkeer zich op een intern VIP (Interne load balancer) bevindt. Als deze eigenschap is ingesteld op 'Geen', blijft al het verkeer op het openbare VIP (Externe load balancer).
- zoneRedundant: Optioneel. Definieert waar/onwaar als de App Service Environment wordt geïmplementeerd in Beschikbaarheidszones (AZ). Zie Regio's en beschikbaarheidszones voor meer informatie.
- dedicatedHostCount: Optioneel. In de meeste gevallen stelt u deze eigenschap in op 0 of gelaten. U kunt deze instellen op 2 als u uw App Service Environment wilt implementeren met fysieke hardware-isolatie op toegewezen hosts.
- upgradePreference: Optioneel. Definieert of de upgrade automatisch wordt gestart of een venster van 15 dagen voor het starten van de implementatie wordt gegeven. Geldige waarden zijn 'None', 'Early', 'Late', 'Manual'. Meer informatie over upgradevoorkeur.
- clusterSettings: Optioneel. Zie clusterinstellingen voor meer informatie.
- networkingConfiguration -> allowNewPrivateEndpointConnections: Optioneel. Zie de netwerkconfiguratie voor meer informatie.
- networkingConfiguration -> remoteDebugEnabled: Optioneel. Zie de netwerkconfiguratie voor meer informatie.
- networkingConfiguration -> ftpEnabled: Optioneel. Zie de netwerkconfiguratie voor meer informatie.
- networkingConfiguration -> inboundIpAddressOverride: Optioneel. Hiermee kunt u een App Service-omgeving maken met uw eigen openbare Azure-IP-adres (geef de resource-id op) of definieert u een statisch IP-adres voor ILB-implementaties. Deze instelling kan niet worden gewijzigd nadat de App Service-omgeving is gemaakt.
- customDnsSuffixConfiguration: Optioneel. Hiermee kunt u een aangepast domeinachtervoegsel opgeven voor de App Service-omgeving. Vereist een geldig certificaat uit een Key Vault en toegang met behulp van een beheerde identiteit. Zie het achtervoegsel voor aangepaste configuratiedomeinen voor meer informatie over de specifieke parameters.
Notitie
De eigenschappendnsSuffix
, multiSize
, , frontEndScaleFactor
en userWhitelistedIpRanges
ipSslAddressCount
worden niet ondersteund bij het maken van App Service Environment v3.
De App Service-omgeving implementeren
Nadat u de ARM-sjabloon hebt gemaakt, bijvoorbeeld met de naam azuredeploy.json en eventueel een parameterbestand met de naam azuredeploy.parameters.json, kunt u de App Service Environment maken met behulp van het Azure CLI-codefragment. Wijzig de bestandspaden zodat deze overeenkomen met de resourcebeheersjabloon-bestandslocaties op uw computer. Vergeet niet om uw eigen waarde op te geven voor de naam van de resourcegroep:
templatePath="PATH/azuredeploy.json"
parameterPath="PATH/azuredeploy.parameters.json"
az deployment group create --resource-group "YOUR-RG-NAME-HERE" --template-file $templatePath --parameters $parameterPath
Het maken van de App Service-omgeving duurt meestal ongeveer een uur, maar als het een zoneredundante App Service-omgeving is of als er onverwachte vraag in een regio is, kan het maken van het proces enkele uren duren.