Creare un gateway applicazione usando Azure PowerShellCreate an application gateway using Azure PowerShell

È possibile usare Azure PowerShell per creare o gestire i gateway applicazione dalla riga di comando o in script.You can use Azure PowerShell to create or manage application gateways from the command line or in scripts. In questa guida introduttiva viene illustrato come creare risorse di rete, server back-end e un gateway applicazione.This quickstart shows you how to create network resources, backend servers, and an application gateway.

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.

Avviare Azure Cloud Shell

Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account. È sufficiente fare clic su Copia per copiare il codice, incollarlo in Cloud Shell e quindi premere INVIO per eseguirlo. Esistono alcuni modi per avviare Cloud Shell:

Fare clic su Prova nell'angolo superiore destro di un blocco di codice. Cloud Shell in questo articolo
Aprire Cloud Shell nel browser. https://shell.azure.com/powershell
Fare clic sul pulsante Cloud Shell nel menu in alto a destra nel portale di Azure. Cloud Shell nel portale

Se si sceglie di installare e usare PowerShell in locale, per questa esercitazione è necessario il modulo Azure PowerShell versione 3.6 o successiva.If you choose to install and use the PowerShell locally, this tutorial requires the Azure PowerShell module version 3.6 or later. Per trovare la versione, eseguire Get-Module -ListAvailable AzureRM.To find the version, run Get-Module -ListAvailable AzureRM . Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell.If you need to upgrade, see Install Azure PowerShell module. Se si esegue PowerShell in locale, è anche necessario eseguire Connect-AzureRmAccount per creare una connessione con Azure.If you are running PowerShell locally, you also need to run Connect-AzureRmAccount to create a connection with Azure.

Creare un gruppo di risorseCreate a resource group

Creare un gruppo di risorse di Azure usando New-AzureRmResourceGroup.Create an Azure resource group using New-AzureRmResourceGroup. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.A resource group is a logical container into which Azure resources are deployed and managed.

New-AzureRmResourceGroup -Name myResourceGroupAG -Location eastus

Creare risorse di reteCreate network resources

Creare le configurazioni di subnet usando New-AzureRmVirtualNetworkSubnetConfig.Create the subnet configurations using New-AzureRmVirtualNetworkSubnetConfig. Creare la rete virtuale usando New-AzureRmVirtualNetwork con le configurazioni di subnet.Create the virtual network using New-AzureRmVirtualNetwork with the subnet configurations. Creare infine l'indirizzo IP pubblico usando New-AzureRmPublicIpAddress.And finally, create the public IP address using New-AzureRmPublicIpAddress. Queste risorse vengono usate per fornire la connettività di rete al gateway applicazione e alle risorse associate.These resources are used to provide network connectivity to the application gateway and its associated resources.

$backendSubnetConfig = New-AzureRmVirtualNetworkSubnetConfig `
  -Name myAGSubnet `
  -AddressPrefix 10.0.1.0/24
$agSubnetConfig = New-AzureRmVirtualNetworkSubnetConfig `
  -Name myBackendSubnet `
  -AddressPrefix 10.0.2.0/24
New-AzureRmVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myVNet `
  -AddressPrefix 10.0.0.0/16 `
  -Subnet $backendSubnetConfig, $agSubnetConfig
New-AzureRmPublicIpAddress `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myAGPublicIPAddress `
  -AllocationMethod Dynamic

Creare i server back-endCreate backend servers

In questo esempio, vengono create due macchine virtuali da usare come server back-end per il gateway applicazione.In this example, you create two virtual machines to be used as backend servers for the application gateway. È inoltre possibile installare IIS sulle macchine virtuali per verificare l'avvenuta creazione del gateway applicazione.You also install IIS on the virtual machines to verify that the application gateway was successfully created.

Creare due macchine virtualiCreate two virtual machines

Creare un'interfaccia di rete con New-AzureRmNetworkInterface.Create a network interface with New-AzureRmNetworkInterface. Creare una configurazione di macchina virtuale con New-AzureRmVMConfig.Create a virtual machine configuration with New-AzureRmVMConfig. Quando si eseguono i comandi seguenti, viene chiesto di immettere le credenziali.When you run the following commands, you are prompted for credentials. Immettere azureuser per il nome utente e Azure123456!Enter azureuser for the user name and Azure123456! come password.for the password. Creare la macchina virtuale con New-AzureRmVM.Create the virtual machine with New-AzureRmVM.

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$cred = Get-Credential
for ($i=1; $i -le 2; $i++)
{
  $nic = New-AzureRmNetworkInterface `
    -Name myNic$i `
    -ResourceGroupName myResourceGroupAG `
    -Location EastUS `
    -SubnetId $vnet.Subnets[1].Id
  $vm = New-AzureRmVMConfig `
    -VMName myVM$i `
    -VMSize Standard_DS2
  $vm = Set-AzureRmVMOperatingSystem `
    -VM $vm `
    -Windows `
    -ComputerName myVM$i `
    -Credential $cred
  $vm = Set-AzureRmVMSourceImage `
    -VM $vm `
    -PublisherName MicrosoftWindowsServer `
    -Offer WindowsServer `
    -Skus 2016-Datacenter `
    -Version latest
  $vm = Add-AzureRmVMNetworkInterface `
    -VM $vm `
    -Id $nic.Id
  $vm = Set-AzureRmVMBootDiagnostics `
    -VM $vm `
    -Disable
  New-AzureRmVM -ResourceGroupName myResourceGroupAG -Location EastUS -VM $vm
  Set-AzureRmVMExtension `
    -ResourceGroupName myResourceGroupAG `
    -ExtensionName IIS `
    -VMName myVM$i `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
    -Location EastUS
}

Creare un gateway applicazioneCreate an application gateway

Creare le configurazioni IP e la porta front-endCreate the IP configurations and frontend port

Usare New-AzureRmApplicationGatewayIPConfiguration per creare la configurazione che associa la subnet creata in precedenza al gateway applicazione.Use New-AzureRmApplicationGatewayIPConfiguration to create the configuration that associates the subnet that you previously created with the application gateway. Usare New-AzureRmApplicationGatewayFrontendIPConfig per creare la configurazione che assegna l'indirizzo IP pubblico creato in precedenza al gateway applicazione.Use New-AzureRmApplicationGatewayFrontendIPConfig to create the configuration that assigns the public IP address that you also previously created to the application gateway. Usare New-AzureRmApplicationGatewayFrontendPort per assegnare la porta 80 per l'accesso al gateway applicazione.Use New-AzureRmApplicationGatewayFrontendPort to assign port 80 to be used to access the application gateway.

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$pip = Get-AzureRmPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress 
$subnet=$vnet.Subnets[0]
$gipconfig = New-AzureRmApplicationGatewayIPConfiguration `
  -Name myAGIPConfig `
  -Subnet $subnet
$fipconfig = New-AzureRmApplicationGatewayFrontendIPConfig `
  -Name myAGFrontendIPConfig `
  -PublicIPAddress $pip
$frontendport = New-AzureRmApplicationGatewayFrontendPort `
  -Name myFrontendPort `
  -Port 80

Creare il pool back-endCreate the backend pool

Usare New-AzureRmApplicationGatewayBackendAddressPool per creare il pool back-end per il gateway applicazione.Use New-AzureRmApplicationGatewayBackendAddressPool to create the backend pool for the application gateway. Configurare le impostazioni per il pool back-end usando New-AzureRmApplicationGatewayBackendHttpSettings.Configure the settings for the backend pool using New-AzureRmApplicationGatewayBackendHttpSettings.

$address1 = Get-AzureRmNetworkInterface -ResourceGroupName myResourceGroupAG -Name myNic1
$address2 = Get-AzureRmNetworkInterface -ResourceGroupName myResourceGroupAG -Name myNic2
$backendPool = New-AzureRmApplicationGatewayBackendAddressPool `
  -Name myAGBackendPool `
  -BackendIPAddresses $address1.ipconfigurations[0].privateipaddress, $address2.ipconfigurations[0].privateipaddress
$poolSettings = New-AzureRmApplicationGatewayBackendHttpSettings `
  -Name myPoolSettings `
  -Port 80 `
  -Protocol Http `
  -CookieBasedAffinity Enabled `
  -RequestTimeout 120

Creare il listener e aggiungere una regolaCreate the listener and add a rule

È necessario un listener per consentire al gateway applicazione di instradare il traffico in modo appropriato al pool back-end.A listener is required to enable the application gateway to route traffic appropriately to the backend pool. Creare il listener usando New-AzureRmApplicationGatewayHttpListener con la configurazione front-end e la porta front-end creata prima.Create a listener using New-AzureRmApplicationGatewayHttpListener with the frontend configuration and frontend port that you previously created. È necessaria una regola per comunicare al listener quale pool back-end usare per il traffico in ingresso.A rule is required for the listener to know which backend pool to use for incoming traffic. Usare New-AzureRmApplicationGatewayRequestRoutingRule per creare una regola denominata rule1.Use New-AzureRmApplicationGatewayRequestRoutingRule to create a rule named rule1.

$defaultlistener = New-AzureRmApplicationGatewayHttpListener `
  -Name myAGListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport
$frontendRule = New-AzureRmApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -HttpListener $defaultlistener `
  -BackendAddressPool $backendPool `
  -BackendHttpSettings $poolSettings

Creare il gateway applicazioneCreate the application gateway

Ora che sono state create le risorse di supporto necessarie, usare New-AzureRmApplicationGatewaySku per specificare i parametri per il gateway applicazione e quindi usare New-AzureRmApplicationGateway per creare il gateway.Now that you created the necessary supporting resources, use New-AzureRmApplicationGatewaySku to specify parameters for the application gateway, and then use New-AzureRmApplicationGateway to create it.

$sku = New-AzureRmApplicationGatewaySku `
  -Name Standard_Medium `
  -Tier Standard `
  -Capacity 2
New-AzureRmApplicationGateway `
  -Name myAppGateway `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -BackendAddressPools $backendPool `
  -BackendHttpSettingsCollection $poolSettings `
  -FrontendIpConfigurations $fipconfig `
  -GatewayIpConfigurations $gipconfig `
  -FrontendPorts $frontendport `
  -HttpListeners $defaultlistener `
  -RequestRoutingRules $frontendRule `
  -Sku $sku

Testare il gateway applicazioneTest the application gateway

Usare Get-AzureRmPublicIPAddress per ottenere l'indirizzo IP pubblico del gateway applicazione.Use Get-AzureRmPublicIPAddress to get the public IP address of the application gateway. Copiare l'indirizzo IP pubblico e quindi incollarlo nella barra degli indirizzi del browser.Copy the public IP address, and then paste it into the address bar of your browser.

Get-AzureRmPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Testare il gateway applicazione

Pulire le risorseClean up resources

Quando il gruppo di risorse, il gateway applicazione e tutte le risorse correlate non sono più necessari, è possibile usare il comando Remove-AzureRmResourceGroup per rimuoverli.When no longer needed, you can use the Remove-AzureRmResourceGroup command to remove the resource group, application gateway, and all related resources.

Remove-AzureRmResourceGroup -Name myResourceGroupAG

Passaggi successiviNext steps

In questa guida introduttiva sono stati creati un gruppo di risorse, le risorse di rete e i server back-end.In this quickstart, you created a resource group, network resources, and backend servers. Tali risorse sono state quindi usate per creare un gateway applicazione.You then used those resources to create an application gateway. Per altre informazioni sui gateway applicazione e sulle risorse associate, continuare con le procedure dettagliate.To learn more about application gateways and their associated resources, continue to the how-to articles.