Creare un gateway applicazione con l'interfaccia della riga di comando di Azure 2.0Create an application gateway by using the Azure CLI 2.0

Il gateway applicazione è un'appliance virtuale dedicata che offre un servizio di controller per la distribuzione di applicazioni (ADC, Application Delivery Controller) e varie funzionalità di bilanciamento del carico di livello 7 per l'applicazione.Azure Application Gateway is a dedicated virtual appliance that provides application delivery controller (ADC) as a service, offering various layer 7 load-balancing capabilities for your application.

Versioni dell'interfaccia della riga di comandoCLI versions

È possibile creare un gateway applicazione usando una delle versioni seguenti dell'interfaccia della riga di comando:You can create an application gateway by using one of the following command-line interface (CLI) versions:

Prerequisito: installare l'interfaccia della riga di comando di Azure 2.0Prerequisite: Install the Azure CLI 2.0

Per eseguire i passaggi indicati in questo articolo è necessario installare l'interfaccia della riga di comando di Azure per MacOS, Linux e Windows.To perform the steps in this article, you need to install the Azure CLI for macOS, Linux, and Windows.

Nota

Per creare un gateway applicazione è necessario disporre di un account di Azure.You need an Azure account to create an application gateway. Nel caso in cui non siano disponibili, è possibile usare una versione di valutazione gratuita.If you don't have one, sign up for a free trial.

ScenarioScenario

Questo scenario mostra come creare un gateway applicazione usando il portale di Azure.In this scenario, you learn how to create an application gateway by using the Azure portal.

Questo scenario illustrerà come:This scenario will:

  • Creare un gateway applicazione Medium con due istanze.Create a medium application gateway with two instances.
  • Creare una rete virtuale denominata AdatumAppGatewayVNET con un blocco CIDR riservato 10.0.0.0/16.Create a virtual network named AdatumAppGatewayVNET with a reserved CIDR block of 10.0.0.0/16.
  • Creare una subnet denominata Appgatewaysubnet che usa 10.0.0.0/28 come blocco CIDR.Create a subnet called Appgatewaysubnet that uses 10.0.0.0/28 as its CIDR block.

Nota

La configurazione aggiuntiva del gateway applicazione, che include i probe di integrità personalizzati, gli indirizzi del pool back-end e le regole aggiuntive, viene definita dopo la configurazione del gateway applicazione e non durante la distribuzione iniziale.Further configuration of the application gateway, including custom health probes, back-end pool addresses, and additional rules, happens after the application gateway is created and not during initial deployment.

Prima di iniziareBefore you begin

Un gateway applicazione richiede una propria subnet.An application gateway requires its own subnet. Quando si crea una rete virtuale, assicurarsi di lasciare uno spazio indirizzi sufficiente per più subnet.When you're creating a virtual network, ensure that you leave enough address space for multiple subnets. Dopo aver distribuito un gateway applicazione in una subnet, alla subnet possono essere aggiunti solo altri gateway applicazione.After you deploy an application gateway to a subnet, you can add only additional application gateways to that subnet.

Accedere ad AzureSign in to Azure

Aprire il prompt dei comandi di Microsoft Azureed eseguire l'accesso.Open the Microsoft Azure Command Prompt and sign in:

az login -u "username"

Nota

È anche possibile usare az login senza l'opzione per l'accesso del dispositivo che richiede l'immissione di un codice in aka.ms/devicelogin.You can also use az login without the switch for device login that requires entering a code at aka.ms/devicelogin.

Dopo aver immesso il comando precedente, viene restituito un codice.After you enter the preceding command, you'll receive a code. Passare a https://aka.ms/devicelogin in un browser per continuare la procedura di accesso.Go to https://aka.ms/devicelogin in a browser to continue the sign-in process.

Comando che illustra l'accesso al dispositivo

Nel browser immettere il codice ricevuto.In the browser, enter the code you received. Questo reindirizza l'utente a una pagina di accesso.This redirects you to a sign-in page.

Browser in cui immettere il codice

Immettere il codice per accedere e quindi chiudere il browser per continuare.Enter the code to sign in, and then close the browser to continue.

Accesso eseguito

Creare il gruppo di risorse.Create the resource group

Prima di creare il gateway applicazione, creare un gruppo di risorse per contenerlo.Before you create the application gateway, create a resource group to contain it. Usare il comando seguente:Use the following command:

az group create --name myresourcegroup --location "eastus"

Creare il gateway applicazioneCreate the application gateway

Usare gli indirizzi IP back-end per gli indirizzi IP del server back-end.Use the back-end IP addresses for your back-end server IP addresses. Questi valori possono essere indirizzi IP privati nella rete virtuale, indirizzi IP pubblici o nomi di dominio completi per i server back-end.These values can be either private IPs in the virtual network, public IPs, or fully qualified domain names for your back-end servers. L'esempio seguente crea un gateway applicazione con configurazioni aggiuntive per le impostazioni HTTP, le porte e le regole.The following example creates an application gateway with additional configurations for HTTP settings, ports, and rules:

az network application-gateway create \
--name "AdatumAppGateway" \
--location "eastus" \
--resource-group "myresourcegroup" \
--vnet-name "AdatumAppGatewayVNET" \
--vnet-address-prefix "10.0.0.0/16" \
--subnet "Appgatewaysubnet" \
--subnet-address-prefix "10.0.0.0/28" \
--servers 10.0.0.4 10.0.0.5 \
--capacity 2 \
--sku Standard_Small \
--http-settings-cookie-based-affinity Enabled \
--http-settings-protocol Http \
--frontend-port 80 \
--routing-rule-type Basic \
--http-settings-port 80 \
--public-ip-address "pip2" \
--public-ip-address-allocation "dynamic" \

L'esempio precedente mostra numerose proprietà non necessarie durante la creazione di un gateway applicazione.The preceding example shows several properties that are not required during the creation of an application gateway. L'esempio di codice seguente crea un gateway applicazione con le informazioni necessarie.The following code example creates an application gateway with the required information:

az network application-gateway create \
--name "AdatumAppGateway" \
--location "eastus" \
--resource-group "myresourcegroup" \
--vnet-name "AdatumAppGatewayVNET" \
--vnet-address-prefix "10.0.0.0/16" \
--subnet "Appgatewaysubnet" \
--subnet-address-prefix "10.0.0.0/28" \
--servers "10.0.0.5"  \
--public-ip-address pip

Nota

Per un elenco dei parametri che possono essere usati durante la creazione, eseguire questo comando: az network application-gateway create --help.For a list of parameters to use during creation, run the following command: az network application-gateway create --help.

Questo esempio crea un gateway applicazione di base con le impostazioni predefinite per il listener, il pool back-end, le impostazioni HTTP back-end e le regole.This example creates a basic application gateway with default settings for the listener, back-end pool, back-end HTTP settings, and rules. Queste impostazioni possono essere modificate in base alla propria distribuzione dopo che è stato completato il provisioning.You can modify these settings to suit your deployment after the provisioning is successful.

Se nei passaggi precedenti l'applicazione Web è stata definita con il pool back-end, il bilanciamento del carico inizia ora.If the web application was defined with the back-end pool in the preceding steps, load balancing begins now.

Ottenere il nome DNS del gateway applicazioneGet the application gateway DNS name

Dopo avere creato il gateway, viene configurata la comunicazione front-end.After you create the gateway, you then configure the front end for communication. Quando si usa un IP pubblico, il gateway applicazione richiede un nome DNS assegnato in modo dinamico, non descrittivo.When you're using a public IP, the application gateway requires a dynamically assigned DNS name, which is not friendly. Per assicurarsi che gli utenti possano raggiungere il gateway applicazione, usare un record CNAME che faccia riferimento all'endpoint pubblico del gateway applicazione.To ensure users can hit the application gateway, use a CNAME record to point to the public endpoint of the application gateway. Per altre informazioni, vedere Usare il servizio DNS di Azure per specificare impostazioni di dominio personalizzate per un servizio di Azure.For more information, see Use Azure DNS to provide custom domain settings for an Azure service.

Per configurare un alias, recuperare i dettagli del gateway applicazione e il relativo nome DNS/indirizzo IP usando l'elemento PublicIPAddress collegato al gateway applicazione.To configure an alias, retrieve details of the application gateway and its associated IP/DNS name by using the PublicIPAddress element attached to the application gateway. Usare il nome DNS del gateway applicazione per creare un record CNAME che associ le due applicazioni Web a questo nome DNS.Use the application gateway's DNS name to create a CNAME record, which points the two web applications to this DNS name. Non è consigliabile usare record A perché l'indirizzo VIP può cambiare al riavvio del gateway applicazione.Don't use A records because the VIP might change on restart of the application gateway.

az network public-ip show --name "pip" --resource-group "AdatumAppGatewayRG"
{
  "dnsSettings": {
    "domainNameLabel": null,
    "fqdn": "8c786058-96d4-4f3e-bb41-660860ceae4c.cloudapp.net",
    "reverseFqdn": null
  },
  "etag": "W/\"3b0ac031-01f0-4860-b572-e3c25e0c57ad\"",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AdatumAppGatewayRG/providers/Microsoft.Network/publicIPAddresses/pip2",
  "idleTimeoutInMinutes": 4,
  "ipAddress": "40.121.167.250",
  "ipConfiguration": {
    "etag": null,
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AdatumAppGatewayRG/providers/Microsoft.Network/applicationGateways/AdatumAppGateway2/frontendIPConfigurations/appGatewayFrontendIP",
    "name": null,
    "privateIpAddress": null,
    "privateIpAllocationMethod": null,
    "provisioningState": null,
    "publicIpAddress": null,
    "resourceGroup": "AdatumAppGatewayRG",
    "subnet": null
  },
  "location": "eastus",
  "name": "pip2",
  "provisioningState": "Succeeded",
  "publicIpAddressVersion": "IPv4",
  "publicIpAllocationMethod": "Dynamic",
  "resourceGroup": "AdatumAppGatewayRG",
  "resourceGuid": "3c30d310-c543-4e9d-9c72-bbacd7fe9b05",
  "tags": {
    "cli[2] owner[administrator]": ""
  },
  "type": "Microsoft.Network/publicIPAddresses"
}

Eliminare tutte le risorseDelete all resources

Per eliminare tutte le risorse create in questo articolo, eseguire il comando seguente:To delete all resources created in this article, run the following command:

az group delete --name AdatumAppGatewayRG

Passaggi successiviNext steps

Per altre informazioni su come creare un probe personalizzato, vedere Creare un probe personalizzato per il gateway applicazione con il portale.To learn how to create custom health probes, go to Create a custom probe for Application Gateway by using the portal.

Per apprendere come configurare l'offload SSL ed evitare così la costosa decrittografia SSL sui server Web, vedere Configurare un gateway applicazione per l'offload SSL con Azure Resource Manager.To learn how to configure SSL offloading and take the costly SSL decryption off your web servers, see Configure an application gateway for SSL offload by using Azure Resource Manager.