Creare un gateway applicazione con un servizio di bilanciamento del carico interno
Un gateway applicazione di Azure Standard v1 può essere configurato con un indirizzo VIP con connessione Internet o con un endpoint interno non esposto a Internet, detto anche endpoint del dispositivo 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 servizi e livelli in un'applicazione a più livelli posti entro un limite di sicurezza non esposto a Internet, ma che richiedono la distribuzione del carico round robin, la persistenza delle sessioni o la terminazione TLS (Transport Layer Security), precedentemente nota come terminazione SSL (Secure Sockets Layer).
In questo articolo verrà illustrata la procedura per configurare un gateway applicazione Standard v1 con un ILB.
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.
- Installare la versione più recente del modulo di Azure PowerShell seguendo le istruzioni di installazione.
- 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.
- È 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: porta pubblica aperta sul 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:
- Creare un gruppo di risorse per Gestione risorse
- Creare una rete virtuale e una subnet per il gateway applicazione
- Creare un oggetto di configurazione gateway applicazione
- 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, il gateway applicazione seleziona un indirizzo IP dalla subnet configurata e indirizza il traffico di rete agli indirizzi IP nel pool di indirizzi 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 gli indirizzi IP "10.1.1.8, 10.1.1.9, 10.1.1.10". Questi saranno gli 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 "poolsetting01" del gateway applicazione per il traffico di rete con bilanciamento del carico 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 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:
- Usare il cmdlet
Stop-AzApplicationGateway
per arrestare il gateway. - Usare il cmdlet
Remove-AzApplicationGateway
per rimuovere il gateway. - 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: