Skalowanie aplikacji internetowej na całym świecie przy użyciu architektury wysokiej dostępności
W tym scenariuszu utworzysz grupę zasobów, dwa plany usługi App Service, dwie aplikacje internetowe, profil usługi Traffic Manager i dwa punkty końcowe usługi Traffic Manager. Po zakończeniu wykonywania czynności w tym ćwiczeniu dostępna będzie architektura wysokiej dostępności, która zapewnia globalną dostępność aplikacji internetowej z najniższych opóźnieniem sieci.
W razie potrzeby zainstaluj Azure PowerShell, korzystając z instrukcji znajdującej się w przewodniku Azure PowerShell, a następnie uruchom polecenie Connect-AzAccount
, aby utworzyć połączenie z platformą Azure.
Przykładowy skrypt
Uwaga
Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
# 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"
Czyszczenie wdrożenia
Po wykonaniu przykładowego skryptu możesz uruchomić następujące polecenie, aby usunąć grupę zasobów, aplikację internetową i wszystkie powiązane zasoby.
Remove-AzResourceGroup -Name myResourceGroup -Force
Objaśnienia dla skryptu
W tym skrypcie użyto następujących poleceń. Każde polecenie w tabeli stanowi link do dokumentacji polecenia.
Polecenie | Uwagi |
---|---|
New-AzResourceGroup | Tworzy grupę zasobów, w której są przechowywane wszystkie zasoby. |
New-AzTrafficManagerProfile | Tworzy profil usługi Traffic Manager. |
New-AzAppServicePlan | Tworzy plan usługi App Service. |
New-AzWebApp | Tworzy aplikację internetową. |
New-AzTrafficManagerEndpoint | Tworzy punkt końcowy w profilu usługi Traffic Manager. |
Następne kroki
Aby uzyskać więcej informacji na temat modułu Azure PowerShell, zobacz dokumentację programu Azure PowerShell.
Dodatkowe przykłady Azure PowerShell dla Azure App Service Web Apps można znaleźć w przykładach Azure PowerShell.