Skapa en programgateway med en intern lastbalanserare (ILB)

Azure Application Gateway Standard v1 kan konfigureras med en Internetuppkopplad VIP eller med en intern slutpunkt som inte exponeras för Internet, även kallat en intern lastbalanserare (ILB). Det kan vara praktiskt att konfigurera gatewayen med en ILB för interna affärsprogram som inte är exponerade för Internet. Det är också användbart för tjänster och nivåer i ett program med flera nivåer som ligger i en säkerhetsgräns som inte är exponerad för Internet, men som fortfarande kräver resursallokeringsdistribution, sessionsstundighet eller TLS (Transport Layer Security), tidigare kallat Secure Sockets Layer (SSL), avslutning.

Den här artikeln beskriver hur du konfigurerar en Standard v1 Application Gateway med en ILB.

Innan du börjar

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

  1. Installera den senaste versionen av Azure PowerShell-modulen genom att följa installationsanvisningarna.
  2. Du ska skapa ett virtuellt nätverk och ett undernät för Application Gateway. Kontrollera att inga virtuella datorer eller molndistributioner använder undernätet. Application Gateway måste vara fristående i ett virtuellt nätverks undernät.
  3. De servrar som du konfigurerar för användning av programgatewayen måste finnas i det virtuella nätverket eller ha slutpunkter som skapats där eller tilldelats en offentlig IP-/VIP-adress.

Vad krävs för att skapa en programgateway?

  • Serverdelsserverpool: Listan över IP-adresser för serverdelsservrarna. IP-adresserna som anges måste antingen höra till det virtuella nätverket men i ett annat undernät för programgatewayen eller vara en offentlig IP/VIP.
  • Inställningar för backend-serverpool: Varje pool har inställningar som port, protokoll och cookie-baserad tillhörighet. Dessa inställningar är knutna till en pool och tillämpas på alla servrar i poolen.
  • Klientdelsport: Den här porten är den offentliga porten som öppnas på programgatewayen. Trafiken kommer till den här porten och omdirigeras till en av backend-servrarna.
  • Lyssnare: Lyssnaren har en klientdelsport, ett protokoll (Http eller Https, dessa är skiftlägeskänsliga) och SSL-certifikatnamnet (om du konfigurerar SSL-avlastning).
  • Regel: Regeln binder lyssnaren och serverdelsserverpoolen och definierar vilken serverdelsserverpool som trafiken ska dirigeras till när den träffar en viss lyssnare. För närvarande stöds endast regeln basic. Regeln basic använder belastningsutjämning med resursallokering.

Skapa en programgateway

Skillnaden mellan att använda den klassiska Azure-portalen och Azure Resource Manager är i vilken ordning du skapar programgatewayen och de objekt som ska konfigureras. Med Resource Manager konfigureras alla objekt som bildar en programgateway separat och sätts sedan ihop för att skapa en programgatewayresurs.

Här följer de steg som krävs för att skapa en programgateway:

  1. Skapa en resursgrupp för Resource Manager
  2. Skapa ett virtuellt nätverk och ett undernät för programgatewayen
  3. Skapa ett konfigurationsobjekt för programgatewayen
  4. Skapa en resurs för en programgateway

Skapa en resursgrupp för Resource Manager

Glöm inte att byta PowerShell-läge så att du kan använda cmdlets för Azure Resource Manager. Mer information finns i Använda Windows PowerShell med Resource Manager.

Steg 1

Connect-AzAccount

Step 2

Kontrollera prenumerationerna för kontot.

Get-AzSubscription

Du ombeds att autentisera dig med dina autentiseringsuppgifter.

Step 3

Välj vilka av dina Azure-prenumerationer som du vill använda.

Select-AzSubscription -Subscriptionid "GUID of subscription"

Steg 4

Skapa en ny resursgrupp (hoppa över detta steg om du använder en befintlig resursgrupp).

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

Azure Resource Manager kräver att alla resursgrupper definierar en plats. Detta används som standardplatsen för resurser i resursgruppen. Se till att alla kommandon du använder för att skapa en programgateway använder samma resursgrupp.

I föregående exempel skapade vi en resursgrupp med namnet "appgw-rg" och platsen "USA, västra".

Skapa ett virtuellt nätverk och ett undernät för programgatewayen

Följande exempel illustrerar hur du skapar ett virtuellt nätverk med hjälp av Resource Manager:

Steg 1

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

Det här steget tilldelar adressintervallet 10.0.0.0/24 till en undernätsvariabel som ska användas för att skapa ett virtuellt nätverk.

Steg 2

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

Det här steget skapar ett virtuellt nätverk med namnet "appgwvnet" i resursgruppen "appgw-rg" för regionen USA, västra med prefixet 10.0.0.0/16 med undernätet 10.0.0.0/24.

Step 3

$subnet = $vnet.subnets[0]

Det här steget tilldelar undernätsobjektet till variabeln $subnet för nästa steg.

Skapa ett konfigurationsobjekt för programgatewayen

Steg 1

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

Det här steget skapar en IP-konfiguration för programgatewayen med namnet "gatewayIP01". När Application Gateway startar hämtar den en IP-adress från det konfigurerade undernätet och dirigerar nätverkstrafik till IP-adresserna i serverdels-IP-poolen. Tänk på att varje instans använder en IP-adress.

Steg 2

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

Det här steget konfigurerar serverdels-IP-adresspoolen med namnet "pool01" med IP-adresserna "10.1.1.8, 10.1.1.9, 10.1.1.10". Det är IP-adresserna som tar emot nätverkstrafiken som kommer från klientdelens IP-slutpunkt. Du ersätter de omnämnda IP-adresserna och lägger till ditt eget programs IP-adresslutpunkter.

Step 3

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

Det här steget konfigurerar programgatewayinställningen "poolsetting01" för den belastningsutjämningsbaserade nätverkstrafiken i serverdelspoolen.

Steg 4

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

Det här steget konfigurerar ip-porten för klientdelen med namnet "frontendport01" för ILB.

Steg 5

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

Det här steget skapar IP-konfigurationen för klientdelen med namnet "fipconfig01" och associerar den med en privat IP-adress från det aktuella virtuella nätverkets undernät.

Steg 6

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

Det här steget skapar lyssnaren med namnet "listener01" och associerar klientdelsporten med IP-konfigurationen för klientdelen.

Steg 7

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

Det här steget skapar lastbalanserarens routningsregel med namnet "rule01" som konfigurerar lastbalanserarens beteende.

Steg 8

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

Det här steget konfigurerar instansstorleken för programgatewayen.

Kommentar

Standardvärdet för Kapacitet är 2. För SKU-namn kan du välja mellan Standard_Small, Standard_Medium och Standard_Large.

Skapa en programgateway med hjälp av New-AzureApplicationGateway

Skapar en programgateway med alla konfigurationsobjekt från föregående steg. I det här exemplet heter programgatewayen ”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

Det här steget skapar en programgateway med alla konfigurationsobjekt från föregående steg. I det här exemplet heter programgatewayen ”appgwtest”.

Ta bort en programgateway

Om du vill ta bort en programgateway måste du utföra följande steg i ordning:

  1. Stoppa gatewayen med hjälp av cmdleten Stop-AzApplicationGateway.
  2. Ta bort gatewayen med hjälp av cmdleten Remove-AzApplicationGateway.
  3. Kontrollera att gatewayen har tagits bort med hjälp av cmdleten Get-AzureApplicationGateway.

Steg 1

Hämta objektet för programgatewayen och associera det med variabeln ”$getgw”.

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

Steg 2

Använd Stop-AzApplicationGateway för att stoppa programgatewayen. Det här exemplet visar cmdleten Stop-AzApplicationGateway på den första raden följt av utdata.

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

När programgatewayen är i ett stoppat läge använder du cmdleten Remove-AzApplicationGateway för att ta bort tjänsten.

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

Kommentar

Du kan använda växeln -force om du inte vill att några bekräftelsemeddelanden ska visas.

Kontrollera att tjänsten har tagits bort med hjälp av cmdleten Get-AzApplicationGateway. Det här steget är inte obligatoriskt.

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

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

Nästa steg

Om du vill konfigurera SSL-avlastning läser du Konfigurera en programgateway för SSL-avlastning.

Om du vill ha mer information om belastningsutjämningsalternativ i allmänhet läser du: