Een web-app wereldwijd schalen met een architectuur voor hoge beschikbaarheid
Met dit voorbeeldscript maakt u een resourcegroep, twee App Service-abonnementen, twee web-apps, een Traffic Manager-profiel en twee Traffic Manager-eindpunten. Nadat de oefening is voltooid, hebt u een architectuur met hoge beschikbaarheid, waardoor uw web-app wereldwijd beschikbaar is op basis van de laagste netwerklatentie.
Installeer zo nodig de Azure PowerShell volgens de instructies in de Azure PowerShell handleiding en voer vervolgens Connect-AzAccount
uit om verbinding te maken met Azure.
Voorbeeldscript
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
# Generates a Random Value
$Random=(New-Guid).ToString().Substring(0,8)
# Variables
$ResourceGroupName="myResourceGroup$Random"
$App1Name="AppServiceTM1$Random"
$App2Name="AppServiceTM2$Random"
$Location1="WestUS"
$Location2="EastUS"
# Create a Resource Group
New-AzResourceGroup -Name $ResourceGroupName -Location $Location1
# Create Traffic Manager Profile
New-AzTrafficManagerProfile -Name "$ResourceGroupName-tmp" -ResourceGroupName $ResourceGroupName -TrafficRoutingMethod Performance -MonitorPath '/' -MonitorProtocol "HTTP" -RelativeDnsName $ResourceGroupName -Ttl 30 -MonitorPort 80
# Create an App Service Plan
New-AzAppservicePlan -Name "$App1Name-Plan" -ResourceGroupName $ResourceGroupName -Location $Location1 -Tier Standard
New-AzAppservicePlan -Name "$App2Name-Plan" -ResourceGroupName $ResourceGroupName -Location $Location2 -Tier Standard
# Create a Web App in the App Service Plan
$App1ResourceId=(New-AzWebApp -Name $App1Name -ResourceGroupName $ResourceGroupName -Location $Location1 -AppServicePlan "$App1Name-Plan").Id
$App2ResourceId=(New-AzWebApp -Name $App2Name -ResourceGroupName $ResourceGroupName -Location $Location2 -AppServicePlan "$App2Name-Plan").Id
# Create Traffic Manager Endpoints for Web Apps
New-AzTrafficManagerEndpoint -Name "$App1Name-$Location1" -ResourceGroupName $ResourceGroupName -ProfileName "$ResourceGroupName-tmp" -Type AzureEndpoints -TargetResourceId $App1ResourceId -EndpointStatus "Enabled"
New-AzTrafficManagerEndpoint -Name "$App2Name-$Location2" -ResourceGroupName $ResourceGroupName -ProfileName "$ResourceGroupName-tmp" -Type AzureEndpoints -TargetResourceId $App2ResourceId -EndpointStatus "Enabled"
Opschonen van implementatie
Nadat het voorbeeldscript is uitgevoerd, kan de volgende opdracht worden gebruikt om de resourcegroep, web-app en alle gerelateerde resources te verwijderen.
Remove-AzResourceGroup -Name myResourceGroup -Force
Uitleg van het script
In dit script worden de volgende opdrachten gebruikt. Elke opdracht in de tabel is een koppeling naar specifieke documentatie over de opdracht.
Opdracht | Opmerkingen |
---|---|
New-AzResourceGroup | Hiermee wordt een resourcegroep gemaakt waarin alle resources worden opgeslagen. |
New-AzTrafficManagerProfile | Hiermee maakt u een Traffic Manager-profiel. |
New-AzAppServicePlan | Hiermee maakt u een App Service-plan. |
New-AzWebApp | Hiermee maakt u een webtoepassing. |
New-AzTrafficManagerEndpoint | Hiermee voegt u een eindpunt toe aan een Azure Traffic Manager-profiel. |
Volgende stappen
Zie voor meer informatie over de Azure PowerShell-module de documentatie van Azure PowerShell.
Meer voorbeelden voor Azure PowerShell voor Azure App Service Web Apps vindt u in de voorbeelden van Azure PowerShell.