Creare un gateway applicazione con un servizio di bilanciamento del carico interno

app Azure lication Gateway Standard v1 può essere configurato con un indirizzo VIP con connessione Internet o con un endpoint interno non esposto a Internet, noto anche come endpoint del servizio di bilanciamento del carico interno (ILB). Configurare il gateway con un ILB è utile per le applicazioni line-of-business interne non esposte a Internet. È utile anche per i servizi e i livelli all'interno di un'applicazione multilivello che si trovano in un limite di sicurezza non esposto a Internet, ma richiedono comunque la distribuzione del carico round robin, la permanentità della sessione o tls (Transport Layer Security), nota in precedenza come Secure Sockets Layer (SSL), terminazione.

Questo articolo illustra la procedura per configurare un gateway applicazione Standard v1 con un servizio di bilanciamento del carico interno.

Operazioni preliminari

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

  1. Installare la versione più recente del modulo Azure PowerShell seguendo le istruzioni di installazione.
  2. Creare una rete virtuale e una subnet per il gateway applicazione. Assicurarsi che nessuna macchina virtuale o distribuzione cloud stia usando la subnet. Il gateway applicazione deve essere da solo in una subnet di rete virtuale.
  3. È necessario che i server configurati per l'uso del gateway applicazione esistano oppure che i relativi endpoint siano stati creati nella rete virtuale o con un indirizzo IP/VIP pubblico assegnato.

Elementi necessari per creare un gateway applicazione

  • Pool di server back-end: elenco di indirizzi IP dei server back-end. Gli indirizzi IP elencati devono appartenere alla rete virtuale, ma devono trovarsi in una subnet diversa per il gateway applicazione, o devono essere un indirizzo IP/VIP pubblico.
  • Impostazioni del pool di server back-end: ogni pool ha impostazioni come porta, protocollo e affinità basata sui cookie. Queste impostazioni sono associate a un pool e vengono applicate a tutti i server nel pool.
  • Porta front-end: questa porta è la porta pubblica aperta nel gateway applicazione. Il traffico raggiunge questa porta e quindi viene reindirizzato a uno dei server back-end.
  • Listener: il listener ha una porta front-end, un protocollo (Http o Https, con applicazione della distinzione tra maiuscole e minuscole) e il nome del certificato SSL (se si configura l'offload SSL).
  • Regola: la regola associa il listener e il pool di server back-end e definisce il pool di server back-end a cui deve essere indirizzato il traffico quando raggiunge un listener specifico. È attualmente supportata solo la regola basic . La regola basic è una distribuzione del carico di tipo round robin.

Creare un gateway applicazione

La differenza tra l'uso di Azure classico e di Azure Resource Manager risiede nell'ordine in cui vengono creati il gateway applicazione e gli elementi da configurare. Con Resource Manager, tutti gli elementi che costituiscono un gateway applicazione vengono configurati singolarmente e quindi combinati per creare la risorsa del gateway applicazione.

Per creare un gateway applicazione, seguire questa procedura:

  1. Creare un gruppo di risorse per Gestione risorse
  2. Creare una rete virtuale e una subnet per il gateway applicazione
  3. Creare un oggetto di configurazione gateway applicazione
  4. Creare una risorsa gateway applicazione

Creare un gruppo di risorse per Gestione risorse

Assicurarsi di passare alla modalità PowerShell per usare i cmdlet di Gestione risorse di Azure. Altre informazioni sono disponibili in Uso di Azure PowerShell con Azure Resource Manager.

Passaggio 1

Connect-AzAccount

Step 2

Controllare le sottoscrizioni per l'account.

Get-AzSubscription

Verrà richiesto di eseguire l'autenticazione con le proprie credenziali.

Passaggio 3

Scegliere quali sottoscrizioni Azure usare.

Select-AzSubscription -Subscriptionid "GUID of subscription"

Passaggio 4

Creare un nuovo gruppo di risorse. Ignorare questo passaggio se si sta usando un gruppo di risorse esistente.

New-AzResourceGroup -Name appgw-rg -location "West US"

Gestione risorse di Azure richiede che tutti i gruppi di risorse specifichino un percorso che viene usato come percorso predefinito per le risorse presenti in tale gruppo di risorse. Assicurarsi che tutti i comandi per creare un gateway applicazione usino lo stesso gruppo di risorse.

Nell'esempio precedente è stato creato un gruppo di risorse denominato "appgw-rg" e la località "Stati Uniti occidentali".

Creare una rete virtuale e una subnet per il gateway applicazione

L'esempio seguente illustra come creare una rete virtuale usando Gestione risorse:

Passaggio 1

$subnetconfig = New-AzVirtualNetworkSubnetConfig -Name subnet01 -AddressPrefix 10.0.0.0/24

Questo passaggio assegna l'intervallo di indirizzi 10.0.0.0/24 a una variabile di subnet da usare per creare una rete virtuale.

Passaggio 2

$vnet = New-AzVirtualNetwork -Name appgwvnet -ResourceGroupName appgw-rg -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $subnetconfig

Questo passaggio crea una rete virtuale denominata "appgwvnet" nel gruppo di risorse "appgw-rg" per l'area Stati Uniti occidentali usando il prefisso 10.0.0.0/16 con subnet 10.0.0.0/24.

Passaggio 3

$subnet = $vnet.subnets[0]

Questo passaggio assegna l'oggetto subnet alla variabile $subnet per i passaggi successivi.

Creare un oggetto di configurazione gateway applicazione

Passaggio 1

$gipconfig = New-AzApplicationGatewayIPConfiguration -Name gatewayIP01 -Subnet $subnet

Questo passaggio crea una configurazione IP del gateway applicazione denominata "gatewayIP01". All'avvio gateway applicazione, preleva un indirizzo IP dalla subnet configurata e instrada il traffico di rete agli indirizzi IP nel pool ip back-end. Tenere presente che ogni istanza ha un indirizzo IP.

Passaggio 2

$pool = New-AzApplicationGatewayBackendAddressPool -Name pool01 -BackendIPAddresses 10.1.1.8,10.1.1.9,10.1.1.10

Questo passaggio configura il pool di indirizzi IP back-end denominato "pool01" con indirizzi IP "10.1.1.8, 10.1.1.9, 10.1.1.10". Si tratta degli indirizzi IP che ricevono il traffico di rete proveniente dall'endpoint IP front-end. Sostituire gli indirizzi IP precedenti e aggiungere gli endpoint di indirizzi IP dell'applicazione.

Passaggio 3

$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name poolsetting01 -Port 80 -Protocol Http -CookieBasedAffinity Disabled

Questo passaggio configura l'impostazione del gateway applicazione "poolsetting01" per il traffico di rete con carico bilanciato nel pool back-end.

Passaggio 4

$fp = New-AzApplicationGatewayFrontendPort -Name frontendport01  -Port 80

Questo passaggio configura la porta IP front-end denominata "frontendport01" per il servizio di bilanciamento del carico interno.

Passaggio 5

$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name fipconfig01 -Subnet $subnet

Questo passaggio crea la configurazione IP front-end denominata "fipconfig01" e la associa a un indirizzo IP privato dalla subnet di rete virtuale corrente.

Passaggio 6

$listener = New-AzApplicationGatewayHttpListener -Name listener01  -Protocol Http -FrontendIPConfiguration $fipconfig -FrontendPort $fp

Questo passaggio crea il listener denominato "listener01" e associa la porta front-end alla configurazione IP front-end.

Passo 7

$rule = New-AzApplicationGatewayRequestRoutingRule -Name rule01 -RuleType Basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool

Questo passaggio crea la regola di routing del servizio di bilanciamento del carico denominata "rule01" che configura il comportamento del servizio di bilanciamento del carico.

Passaggio 8

$sku = New-AzApplicationGatewaySku -Name Standard_Small -Tier Standard -Capacity 2

Questo passaggio configura le dimensioni dell'istanza del gateway applicazione.

Nota

Il valore predefinito per Capacità è 2. Per il nome dello SKU, è possibile scegliere tra Standard_Small, Standard_Medium e Standard_Large.

Creare un gateway applicazione usando New-AzureApplicationGateway

Crea un gateway applicazione con tutti gli elementi di configurazione illustrati nei passaggi precedenti. Nell'esempio, il gateway applicazione è denominato "appgwtest".

$appgw = New-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Location "West US" -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig  -GatewayIpConfigurations $gipconfig -FrontendPorts $fp -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku

Questo passaggio crea un gateway applicazione con tutti gli elementi di configurazione illustrati nei passaggi precedenti. Nell'esempio il gateway applicazione è denominato "appgwtest".

Eliminare un gateway applicazione

Per eliminare un gateway applicazione sarà necessario eseguire questi passaggi nell'ordine indicato:

  1. Usare il cmdlet Stop-AzApplicationGateway per arrestare il gateway.
  2. Usare il cmdlet Remove-AzApplicationGateway per rimuovere il gateway.
  3. Assicurarsi che il gateway sia stato rimosso usando il cmdlet Get-AzureApplicationGateway.

Passaggio 1

Ottenere l'oggetto gateway applicazione e associarlo a una variabile "$getgw".

$getgw =  Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg

Passaggio 2

Usare Stop-AzApplicationGateway per arrestare il gateway applicazione. Questo esempio illustra il cmdlet Stop-AzApplicationGateway nella prima riga seguito dall'output.

Stop-AzApplicationGateway -ApplicationGateway $getgw  
VERBOSE: 9:49:34 PM - Begin Operation: Stop-AzureApplicationGateway
VERBOSE: 10:10:06 PM - Completed Operation: Stop-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   ce6c6c95-77b4-2118-9d65-e29defadffb8

Quando il gateway applicazione si trova in stato di interruzione, usare il cmdlet Remove-AzApplicationGateway per rimuovere il servizio.

Remove-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Force
VERBOSE: 10:49:34 PM - Begin Operation: Remove-AzureApplicationGateway
VERBOSE: 10:50:36 PM - Completed Operation: Remove-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   055f3a96-8681-2094-a304-8d9a11ad8301

Nota

L'opzione -force può essere usata per eliminare il messaggio di conferma della rimozione.

Per verificare che il servizio sia stato rimosso, è possibile usare il cmdlet Get-AzApplicationGateway. Questo passaggio non è obbligatorio.

Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg
VERBOSE: 10:52:46 PM - Begin Operation: Get-AzureApplicationGateway

Get-AzureApplicationGateway : ResourceNotFound: The gateway doesn't exist.

Passaggi successivi

Per configurare l'offload SSL, vedere Configurare un gateway applicazione per l'offload SSL.

Per altre informazioni generali sulle opzioni di bilanciamento del carico, vedere: