Instradare il traffico per la disponibilità elevata delle applicazioniRoute traffic for high availability of applications

In questo script viene creato un gruppo di risorse, due piani di servizio app, due app Web, un profilo di gestione traffico e due endpoint di gestione traffico.This script creates a resource group, two app service plans, two web apps, a traffic manager profile, and two traffic manager endpoints. Gestione traffico indirizza il traffico verso l'applicazione in un'area come area primaria e nell'area secondaria quando l'applicazione nell'area primaria non è disponibile.Traffic Manager directs traffic to the application in one region as the primary region, and to the secondary region when the application in the primary region is unavailable. Prima di eseguire lo script, è necessario modificare i valori MyWebApp, MyWebAppL1 e MyWebAppL2 in valori univoci in Azure.Before executing the script, you must change the MyWebApp, MyWebAppL1 and MyWebAppL2 values to unique values across Azure. Dopo aver eseguito lo script, è possibile accedere all'app nell'area primaria con l'URL mywebapp.trafficmanager.net.After running the script, you can access the app in the primary region with the URL mywebapp.trafficmanager.net.

Per eseguire questo esempio, verificare di aver installato l'ultima versione dell'interfaccia della riga di comando di Azure 2.0.To run this sample, make sure you have installed the latest Azure CLI 2.0. Per iniziare, eseguire az login per creare una connessione con Azure.To start, run az login to create a connection with Azure.

Questo esempio funziona in una shell Bash.This sample works in a Bash shell. Per le opzioni sull'esecuzione di script dell'interfaccia della riga di comando di Azure nel client Windows, vedere Running the Azure CLI in Windows (Esecuzione dell'interfaccia della riga di comando di Azure in Windows).For options on running Azure CLI scripts on Windows client, see Running the Azure CLI in Windows.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Script di esempioSample script

#!/bin/bash

RgName1="MyResourceGroup1"
RgName2="MyResourceGroup2"
Location1="eastus"
Location2="westeurope"

# The values of the variables below must be unique (replace with your own names).
WebApp="MyWebApp"
WebAppL1="MyWebAppL1"
WebAppL2="MyWebAppL2"

# Create a resource group in location one.
az group create \
  --name $RgName1 \
  --location $Location1

# Create a resource group in location two.
az group create \
  --name $RgName2 \
  --location $Location2

# Create a website deployed from GitHub in both regions (replace with your own GitHub URL).
gitrepo="https://github.com/Azure-Samples/app-service-web-dotnet-get-started.git"

# Create a hosting plan and website and deploy it in location one (requires Standard 1 minimum SKU).
az appservice plan create \
  --name $WebAppL1 \
  --resource-group $RgName1 \
  --sku S1
az appservice web create \
  --name $WebAppL1 \
  --resource-group $RgName1 \
  --plan $WebAppL1
az appservice web source-control config \
  --name $WebAppL1 \
  --resource-group $RgName1 \
  --repo-url $gitrepo \
  --branch master \
  --manual-integration

# Create a hosting plan and website and deploy it in westus (requires Standard 1 minimum SKU).
az appservice plan create \
  --name $WebAppL2 \
  --resource-group $RgName2 \
  --sku S1
az appservice web create \
  --name $WebAppL2 \
  --resource-group $RgName2 \
  --plan $WebAppL2
az appservice web source-control config \
  --name $WebAppL2 \
  --resource-group $RgName2 \
  --repo-url $gitrepo \
  --branch master --manual-integration

# Create a Traffic Manager profile.
az network traffic-manager profile create \
  --name MyTrafficManagerProfile \
  --resource-group $RgName1 \
  --routing-method Priority \
  --unique-dns-name $WebApp

# Create an endpoint for the location one website deployment and set it as the priority target.
L1Id=$(az appservice web show \
  --resource-group $RgName1 \
  --name $WebAppL1 \
  --query id \
  --out tsv)
az network traffic-manager endpoint create \
  --name MyEndPoint1 \
  --profile-name MyTrafficManagerProfile \
  --resource-group $RgName1 \
  --type azureEndpoints \
  --priority 1 \
  --target-resource-id $L1Id

# Create an endpoint for the location two website deployment and set it as the secondary target.
L2Id=$(az appservice web show \
  --resource-group $RgName2 \
  --name $WebAppL2 \
  --query id --out tsv)
az network traffic-manager endpoint create \
  --name MyEndPoint2 \
  --profile-name MyTrafficManagerProfile \
  --resource-group $RgName1 \
  --type azureEndpoints \
  --priority 2 \
  --target-resource-id $L2Id

Pulire la distribuzioneClean up deployment

Dopo l'esecuzione dello script di esempio, eseguire questo comando per rimuovere il gruppo di risorse, l'app del servizio app e tutte le risorse correlate.After the script sample has been run, the follow command can be used to remove the resource group, App Service app, and all related resources.

az group delete --name myResourceGroup1 --yes
az group delete --name myResourceGroup2 --yes

Spiegazione dello scriptScript explanation

Questo script usa i comandi seguenti per creare un gruppo di risorse, un'App Web, un profilo di Gestione traffico e tutte le risorse correlate.This script uses the following commands to create a resource group, web app, traffic manager profile, and all related resources. Ogni comando della tabella include collegamenti alla documentazione specifica del comando.Each command in the table links to command specific documentation.

ComandoCommand NoteNotes
az group createaz group create Consente di creare un gruppo di risorse in cui sono archiviate tutte le risorse.Creates a resource group in which all resources are stored.
az appservice plan createaz appservice plan create Consente di creare un piano di servizio app.Creates an App Service plan. Equivale a una server farm per l'App Web di Azure.This is like a server farm for your Azure web app.
az appservice web createaz appservice web create Consente di creare un'App Web di Azure all'interno del piano di servizio app.Creates an Azure web app within the App Service plan.
az network traffic-manager profile createaz network traffic-manager profile create Crea un profilo di Gestione traffico di Azure.Creates an Azure Traffic Manager profile.
az network traffic-manager endpoint createaz network traffic-manager endpoint create Aggiunge un endpoint a un profilo di Gestione traffico di Azure.Adds a endpoint to an Azure Traffic Manager Profile.

Passaggi successiviNext steps

Per altre informazioni sull'interfaccia della riga di comando di Azure, vedere la documentazione sull'interfaccia della riga di comando di Azure.For more information on the Azure CLI, see Azure CLI documentation.

Altri esempi di script dell'interfaccia della riga di comando del servizio app sono disponibili nella documentazione della rete di Azure.Additional App Service CLI script samples can be found in the Azure Networking documentation.