Skapande och konfiguration av Application Gateway
Application Gateway består av ett antal komponenter som tillsammans dirigerar begäranden till en pool med webbservrar och kontrollerar hälsan för de webbservrarna. Vi tittar närmare på hur de här komponenterna är relaterade och vilken roll de har i en Application Gateway.
Klientdelens IP-adress
Klientbegäranden tas emot via en IP-adress för klientdelen. Du kan konfigurera Application Gateway till att ha en offentlig IP-adress, en privat IP-adress eller båda. Application Gateway kan inte ha fler än en offentlig och en privat IP-adress.
Lyssnare
Application Gateway använder en eller flera lyssnare för att ta emot inkommande begäranden. Lyssnare accepterar trafik som inkommer på en angiven kombination av protokoll, port, värd och IP-adress. Varje lyssnare dirigerar begäranden till en serverdelspool med servrar enligt dirigeringsregler som du anger. En lyssnare kan vara Basic eller Multisite. Grundläggande lyssnare dirigerar endast begäranden baserat på sökvägen i URL:en. En lyssnare med flera platser kan också dirigera begäranden med hjälp av värdnamnselementet i URL:en.
Lyssnare hanterar även SSL-certifikat för att skydda ditt program mellan användaren och Application Gateway.
Dirigeringsregler
Dirigeringsregler binder en lyssnare till serverdelspoolerna. En regel anger hur du tolkar värdnamns- och sökvägselementen i URL:en för en begäran och hur du dirigerar begäran till lämplig serverdelspool. Dirigeringsregler har även en associerad uppsättning HTTP-inställningar. De här inställningarna anger huruvida (och hur) trafik ska krypteras mellan Application Gateway och serverdelsservrarna samt annan konfigurationsinformation såsom:
- Protokoll (HTTP eller HTTPS).
- Sessionsbeständighet för att skicka alla begäranden i en klientsession till samma webbserver i stället för att distribuera dem mellan servrar med belastningsutjämning.
- Anslutningsdränering möjliggör graciös borttagning av servrar från en serverdelspool.
- Tidsgränsperiod för begäranden i sekunder.
- Hälsoavsökningar, ange en avsöknings-URL, tidsgränsperioder och andra parametrar som används för att avgöra om en server i serverdelspoolen är tillgänglig.
Serverdelspooler
Serverdelspooler refererar till en uppsättning webbservrar. Du kan ange IP-adressen för varje webbserver och den port som den lyssnar på efter begäranden när poolen konfigureras. Varje pool kan ange en fast uppsättning virtuella datorer, en VM-skalningsuppsättning, en app som hanteras av Azure App Services eller en samling med lokala servrar. Varje serverdelspool har en associerad lastbalanserare som distribuerar arbete i poolen
Brandvägg för webbaserade program
Brandväggen för webbaserade program (WAF) är en valfri komponent som hanterar inkommande begäranden innan de når en lyssnare. Brandväggen för webbaserade program kontrollerar varje begäran efter många vanliga hot baserat på Open Web Application Security Project (OWASP). Dessa kan vara:
- SQL-inmatning
- Skriptkörning över flera webbplatser
- Kommandoinmatning
- HTTP-begärandesmuggling
- HTTP-svarsdelning
- Fjärrfilinkludering
- Robotar, crawlers och skannrar
- Överträdelser och avvikelser för HTTP-protokoll
OWASP har definierat en uppsättning allmänna regler för att identifiera attacker som kallas CRS (Core Rule Set). Regeluppsättningen granskas kontinuerligt allt eftersom attacker blir mer sofistikerade. WAF stöder två regeluppsättningar: CRS 2.2.9 och CRS 3.0. I CRS 3.0 är standard och den senare av dessa regeluppsättningar. Om det behövs kan du välja endast specifika regler i en regeluppsättning som riktar in sig på särskilda hot. Du kan dessutom anpassa brandväggen för att ange vilka element i en begäran som ska granskas samt begränsa storleken på meddelanden för att förhindra att stora uppladdningar överbelastar dina servrar.
Du kan aktivera WAF på din Application Gateway genom att WAF
välja nivån när du skapar en gateway.
Hälsotillståndsavsökningar
Hälsoavsökningar är ett viktigt element för att hjälpa lastbalanseraren att avgöra vilka servrar som är tillgängliga för belastningsutjämning i en serverdelspool. Application Gateway använder en hälsoavsökning för att skicka en begäran till en server. Om servern returnerar ett HTTP-svar med en statuskod mellan 200 och 399 anses servern vara felfri.
Om du inte konfigurerar en hälsoavsökning skapar Application Gateway en standardavsökning och väntar sedan 30 sekunder innan den bedömer att en server är otillgänglig.
Nätverkskrav för Application Gateway
Application Gateway kräver ett virtuellt nätverk där den kan arbeta. Du måste konfigurera det här virtuella nätverket och ett dedikerat undernät innan du konfigurerar Application Gateway. Application Gateway använder ett antal privata adresser för internt bruk och för att kommunicera med varje instans om gatewayen skalar ut. Om du till exempel planerar att skala ut till fyra instanser skapar du ett /28-storleksundernät. Om du förväntar dig att skala till fler instanser skapar du ett större undernät.
Du kan exponera Application Gateway via en offentlig IP-adress, eller så kan du hålla den privat genom att bara ge den en privat IP-adress i det virtuella nätverket. Det här är användbart om du har interna webbplatser som du vill ska använda Application Gateway för att ge belastningsutjämning.
Alternativ för Application Gateway
Du kan skapa en Application Gateway på nivån Standard eller WAF. Du kan också välja mellan tre storlekar med varierande prestanda, priser och skalbarhet: Liten, Medel och Stor.
Nivåerna Standard och WAF finns tillgängliga i två versioner: V1 och V2. V2 har stöd för Azure-tillgänglighetszoner är just nu i förhandsversion.
Application Gateway stöder manuell skalning och autoskalning. Om du väljer autoskalning skalar Application Gateway ut och in automatiskt enligt programtrafiken. Du kan begränsa det högsta och det lägsta antalet instanser av Application Gateway.
Skapa och konfigurera en gateway
Du kan skapa och konfigurera Application Gateway med hjälp av Azure-portalen, Azure PowerShell eller Azure CLI. För Azure CLI använder du kommandot az network application-gateway create
för att skapa en ny gateway. Om du föredrar PowerShell kan du använda cmdleten New-AzApplicationGateway
. Du kan även använda Azure-portalen för att utföra de flesta åtgärder.
Du kan undersöka och ändra konfigurationen av komponenterna i en gateway med hjälp av kommandona az network application-gateway http-listener
, az network application-gateway rule
, az network application-gateway address-pool
, az network application-gateway http-settings
och az network application-gateway front-end-port
från Azure CLI. Serierna Get-AzApplicationGateway*
och Set-AzApplicationGateway*
med cmdletar ger samma åtgärder för PowerShell.
Nu skapar och konfigurerar vi en Application Gateway för de webbplatser för fordonsavdelningen som vi har distribuerat.