Azure Well-Architected Framework-granskning – Azure Application Gateway v2

Den här artikeln innehåller metodtips för arkitektur för Azure Application Gateway v2-serien med SKU:er. Vägledningen baseras på de fem grundpelarna för arkitekturkvalitet:

Vi antar att du har en fungerande kunskap om Azure Application Gateway och är väl bevandrad med V2 SKU-funktioner. Mer information finns i Azure Application Gateway-funktioner.

Förutsättningar

Tillförlitlighet

I molnet bekräftar vi att fel inträffar. Målet är att minimera effekten av en enda komponent som havererar snarare än att förhindra fel helt och hållet. Använd följande information för att minimera misslyckade instanser.

Checklista för design

När du gör designval för Application Gateway läser du designprinciperna för tillförlitlighet.

  • Distribuera instanserna i en zonmedveten konfiguration, där det är tillgängligt.
  • Använd Application Gateway med Web Application Firewall (WAF) i ett virtuellt nätverk för att skydda inkommande HTTP/S trafik från Internet.
  • I nya distributioner använder du Azure Application Gateway v2 om det inte finns en övertygande anledning att använda Azure Application Gateway v1.
  • Planera för regeluppdateringar
  • Använda hälsoavsökningar för att identifiera att serverdelen inte är tillgänglig
  • Granska effekten av intervall- och tröskelvärdesinställningarna på hälsoavsökningar
  • Verifiera underordnade beroenden via hälsoslutpunkter

Rekommendationer

Utforska följande tabell med rekommendationer för att optimera din Application Gateway-konfiguration för tillförlitlighet.

Rekommendation Förmån
Planera för regeluppdateringar Planera tillräckligt med tid för uppdateringar innan du öppnar Application Gateway eller gör ytterligare ändringar. Det kan till exempel ta lite tid att ta bort servrar från serverdelspoolen eftersom de måste tömma befintliga anslutningar.
Använda hälsoavsökningar för att identifiera att serverdelen inte är tillgänglig Om Application Gateway används för att belastningsutjämning av inkommande trafik över flera serverdelsinstanser rekommenderar vi att du använder hälsoavsökningar. Dessa säkerställer att trafiken inte dirigeras till serverdelar som inte kan hantera trafiken.
Granska effekten av intervall- och tröskelvärdesinställningarna på hälsoavsökningar Hälsoavsökningen skickar begäranden till den konfigurerade slutpunkten med ett angivet intervall. Det finns också ett tröskelvärde för misslyckade begäranden som kommer att tolereras innan serverdelen markeras som felaktig. Dessa siffror utgör en kompromiss.

– Om du ställer in ett högre intervall läggs en högre belastning på tjänsten. Varje Application Gateway-instans skickar sina egna hälsoavsökningar, så 100 instanser var 30:e sekund innebär 100 begäranden per 30 sekunder.
– Om du anger ett lägre intervall återstår mer tid innan ett avbrott identifieras.
– Om du ställer in ett lågt tröskelvärde för fel kan korta, tillfälliga fel ta bort en serverdel.
– Det kan ta längre tid att ställa in ett högt tröskelvärde för att ta bort en serverdel från rotationen.
Verifiera underordnade beroenden via hälsoslutpunkter Anta att varje serverdel har sina egna beroenden för att säkerställa att felen är isolerade. Ett program som finns bakom Application Gateway kan till exempel ha flera serverdelar, var och en ansluten till en annan databas (replik). När ett sådant beroende misslyckas kanske programmet fungerar men returnerar inte giltiga resultat. Därför bör hälsoslutpunkten helst validera alla beroenden. Tänk på att om varje anrop till hälsoslutpunkten har ett direkt beroendeanrop skulle databasen ta emot 100 frågor var 30:e sekund i stället för 1. För att undvika detta bör hälsoslutpunkten cachelagras beroendenas tillstånd under en kort tidsperiod.
När du använder Azure Front Door och Application Gateway för att skydda HTTP/S program använder du WAF-principer i Front Door och låser Application Gateway för att endast ta emot trafik från Azure Front Door. Vissa scenarier kan tvinga dig att implementera regler specifikt på Application Gateway. Om till exempel ModSec CRS 2.2.9, CRS 3.0 eller CRS 3.1-regler krävs kan dessa regler endast implementeras på Application Gateway. Omvänt är hastighetsbegränsning och geo-filtrering endast tillgängliga på Azure Front Door, inte på AppGateway.

Azure Advisor hjälper dig att säkerställa och förbättra kontinuiteten i dina affärskritiska program. Granska Azure Advisor-rekommendationerna.

Säkerhet

Säkerhet är en av de viktigaste aspekterna, oavsett arkitektur. Application Gateway innehåller funktioner för att använda både principen om lägsta behörighet och skydd i försvar. Vi rekommenderar att du granskar principerna för säkerhetsdesign.

Checklista för design

  • Konfigurera en TLS-princip för förbättrad säkerhet
  • Använda AppGateway för TLS-avslutning
  • Använda Azure Key Vault för att lagra TLS-certifikat
  • Vid omkryptering av serverdelstrafik kontrollerar du att serverdelsservercertifikatet innehåller både rot- och mellanliggande certifikatutfärdare (CA)
  • Använda en lämplig DNS-server för serverdelspoolresurser
  • Följ alla NSG-begränsningar för Application Gateway
  • Avstå från att använda UDR i Application Gateway-undernätet
  • Var medveten om ändringar i Application Gateway-kapaciteten när du aktiverar WAF

Rekommendationer

Utforska följande tabell med rekommendationer för att optimera application gateway-konfigurationen för säkerhet.

Rekommendation Förmån
Konfigurera en TLS-princip för förbättrad säkerhet Konfigurera en TLS-princip för extra säkerhet. Se till att du alltid använder den senaste tillgängliga TLS-principversionen. Detta framtvingar TLS 1.2 och starkare chiffer.
Använda AppGateway för TLS-avslutning Det finns fördelar med att använda Application Gateway för TLS-avslutning:

– Prestanda förbättras eftersom begäranden som går till olika serverdelar måste autentiseras på nytt till varje serverdel.
– Bättre användning av serverdelsservrar eftersom de inte behöver utföra TLS-bearbetning
– Intelligent routning genom att komma åt begärandeinnehållet.
– Enklare certifikathantering eftersom certifikatet bara behöver installeras på Application Gateway.
Använda Azure Key Vault för att lagra TLS-certifikat Application Gateway kan integreras med Key Vault. Detta ger starkare säkerhet, enklare uppdelning av roller och ansvarsområden, stöd för hanterade certifikat och en enklare process för förnyelse och rotation av certifikat.
Vid omkryptering av serverdelstrafik kontrollerar du att serverdelsservercertifikatet innehåller både rot- och mellanliggande certifikatutfärdare (CA) Ett TLS-certifikat för serverdelsservern måste utfärdas av en välkänd certifikatutfärdare. Om certifikatet inte har utfärdats av en betrodd certifikatutfärdare kontrollerar Application Gateway om certifikatet har utfärdats av en betrodd certifikatutfärdare och så vidare tills ett betrott CA-certifikat hittas. Först då upprättas en säker anslutning. Annars markerar Application Gateway serverdelen som inte felfri.
Använda en lämplig DNS-server för serverdelspoolresurser När serverdelspoolen innehåller ett matchningsbart FQDN baseras DNS-matchningen på en privat DNS-zon eller anpassad DNS-server (om den är konfigurerad på det virtuella nätverket) eller använder den standard-DNS som tillhandahålls av Azure.
Följ alla NSG-begränsningar för Application Gateway NSG:er stöds i Application Gateway-undernätet, men det finns vissa begränsningar. Till exempel är viss kommunikation med vissa portintervall förbjuden. Se till att du förstår konsekvenserna av dessa begränsningar. Mer information finns i Nätverkssäkerhetsgrupper.
Avstå från att använda UDR:er i Application Gateway-undernätet Att använda användardefinierade vägar (UDR) i Application Gateway-undernätet kan orsaka vissa problem. Hälsotillståndet i serverdelen kan vara okänt. Application Gateway-loggar och mått kanske inte genereras. Vi rekommenderar att du inte använder UDR i Application Gateway-undernätet så att du kan visa serverdelens hälsa, loggar och mått. Om dina organisationer behöver använda UDR i Application Gateway-undernätet kontrollerar du att du granskar de scenarier som stöds. Mer information finns i Användardefinierade vägar som stöds.
Var medveten om ändringar i Application Gateway-kapaciteten när du aktiverar WAF När WAF är aktiverat måste varje begäran buffras av Application Gateway tills den kommer till fullo, kontrollerar om begäran matchar någon regelöverträdelse i dess kärnregeluppsättning och vidarebefordrar sedan paketet till serverdelsinstanserna. När det finns stora filuppladdningar (30 MB+ i storlek) kan det resultera i en betydande svarstid. Eftersom kapacitetskraven för Application Gateway skiljer sig från WAF rekommenderar vi inte att du aktiverar WAF på Application Gateway utan korrekt testning och validering.

Fler förslag finns i Principer för säkerhetspelare.

Azure Advisor hjälper dig att säkerställa och förbättra kontinuiteten i dina affärskritiska program. Granska Azure Advisor-rekommendationerna.

Principdefinitioner

Alla inbyggda principdefinitioner relaterade till Azure-nätverk visas i Inbyggda principer – Nätverk.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Vi rekommenderar att du granskar designprinciperna för kostnadsoptimering.

Checklista för design

  • Bekanta dig med priser för Application Gateway
  • Granska underutnytttagna resurser
  • Stoppa Application Gateway-instanser som inte används
  • Ha en in- och utskalningsprincip
  • Granska förbrukningsmått mellan olika parametrar

Rekommendationer

Utforska följande tabell med rekommendationer för att optimera din Application Gateway-konfiguration för kostnadsoptimering.

Rekommendation Förmån
Bekanta dig med priser för Application Gateway Information om priser för Application Gateway finns i Förstå priser för Azure Application Gateway och Brandvägg för webbprogram. Du kan också använda priskalkylatorn.

Se till att alternativen är tillräckligt stora för att uppfylla kapacitetsbehovet och leverera förväntade prestanda utan att slösa resurser.
Granska underutnytttagna resurser Identifiera och ta bort Application Gateway-instanser med tomma serverdelspooler för att undvika onödiga kostnader.
Stoppa Application Gateway-instanser när de inte används Du debiteras inte när Application Gateway är i stoppat tillstånd. Kontinuerlig körning av Application Gateway-instanser kan medföra onödiga kostnader. Utvärdera användningsmönster och stoppa instanser när du inte behöver dem. Till exempel förväntas användningen efter kontorstid i Dev/Test-miljöer vara låg.

I de här artiklarna finns information om hur du stoppar och startar instanser.
- Stop-AzApplicationGateway
- Start-AzApplicationGateway
Ha en in- och utskalningsprincip En utskalningsprincip säkerställer att det finns tillräckligt med instanser för att hantera inkommande trafik och toppar. Ha också en inskalningsprincip som ser till att antalet instanser minskas när efterfrågan minskar. Överväg valet av instansstorlek. Storleken kan påverka kostnaden avsevärt. Vissa överväganden beskrivs i Beräkna antalet Application Gateway-instanser.

Mer information finns i Vad är Azure Application Gateway v2?
Granska förbrukningsmått mellan olika parametrar Du debiteras baserat på uppmätta instanser av Application Gateway baserat på de mått som spåras av Azure. Utvärdera de olika måtten och kapacitetsenheterna och fastställa kostnadsdrivande faktorer. Mer information finns i Microsoft Cost Management och Fakturering.

Följande mått är viktiga för Application Gateway. Den här informationen kan användas för att verifiera att antalet etablerade instanser matchar mängden inkommande trafik.

– Uppskattade fakturerade kapacitetsenheter
– Fasta fakturerbara kapacitetsenheter
– Aktuella kapacitetsenheter

Mer information finns i Application Gateway-mått.

Se till att du tar hänsyn till bandbreddskostnader.

Fler förslag finns i Principer för kostnadsoptimeringspelare.

Azure Advisor hjälper dig att säkerställa och förbättra kontinuiteten i dina affärskritiska program. Granska Azure Advisor-rekommendationerna.

Driftsäkerhet

Övervakning och diagnostik är avgörande för att säkerställa driften av din Application Gateway och webbprogram eller serverdelar bakom gatewayen. Du kan inte bara mäta prestandastatistik utan även använda mått för att felsöka och åtgärda problem snabbt. Vi rekommenderar att du läser designprinciperna för operational excellence.

Checklista för design

  • Övervaka kapacitetsmått
  • Aktivera diagnostik på Application Gateway och Brandvägg för webbprogram (WAF)
  • Använda Azure Monitor Network Insights
  • Matcha timeout-inställningar med serverdelsprogrammet
  • Övervaka problem med Key Vault-konfiguration med Hjälp av Azure Advisor
  • Konfigurera och övervaka SNAT-portbegränsningar
  • Överväg SNAT-portbegränsningar i din design

Rekommendationer

Utforska följande tabell med rekommendationer för att optimera din Application Gateway-konfiguration för driftskvalitet.

Rekommendation Förmån
Övervaka kapacitetsmått Använd dessa mått som indikatorer på användningen av den etablerade Application Gateway-kapaciteten. Vi rekommenderar starkt att du konfigurerar aviseringar om kapacitet. Mer information finns i Stöd för hög trafik i Application Gateway.
Felsöka med hjälp av mått Det finns andra mått som kan tyda på problem antingen i Application Gateway eller serverdelen. Vi rekommenderar att du utvärderar följande aviseringar:

– Antal ej felfria värdar
– Svarsstatus (dimension 4xx och 5xx)
– Svarsstatus för serverdelen (dimension 4xx och 5xx)
– Svarstid för senaste byte för serverdelen
– Total tid för Application Gateway

Mer information finns i Mått för Application Gateway.
Aktivera diagnostik på Application Gateway och Brandvägg för webbprogram (WAF) Med diagnostikloggar kan du visa brandväggsloggar, prestandaloggar och åtkomstloggar. Använd dessa loggar för att hantera och felsöka problem med Application Gateway-instanser. Mer information finns i Serverdelens hälsotillstånd och diagnostikloggar för Application Gateway.
Använda Azure Monitor Network Insights Azure Monitor Network Insights ger en omfattande vy över hälsa och mått för nätverksresurser, inklusive Application Gateway. Mer information och funktioner som stöds för Application Gateway finns i Azure Monitor Network Insights.
Matcha timeout-inställningar med serverdelsprogrammet Kontrollera att du har konfigurerat IdleTimeout-inställningarna så att de matchar lyssnaren och trafikegenskaperna för serverdelsprogrammet. Standardvärdet är inställt på fyra minuter och kan konfigureras till högst 30. Mer information finns i TCP-återställning och timeout för lastbalanserare.

Arbetsbelastningsöverväganden finns i Övervaka programmets hälsa för tillförlitlighet.
Övervaka problem med Key Vault-konfiguration med Hjälp av Azure Advisor Application Gateway söker efter den förnyade certifikatversionen i det länkade Nyckelvalvet var 4:e timmes intervall. Om det inte går att komma åt på grund av en felaktig Key Vault-konfiguration loggar det felet och skickar en motsvarande Advisor-rekommendation. Du måste konfigurera Advisor-aviseringarna för att hålla dig uppdaterad och åtgärda sådana problem omedelbart för att undvika problem med kontroll- eller dataplanet. Mer information finns i Undersöka och lösa key vault-fel. Om du vill ange en avisering för det här specifika fallet använder du rekommendationstypen som Lösa Azure Key Vault-problem för din Application Gateway.
Överväg SNAT-portbegränsningar i din design SNAT-portbegränsningar är viktiga för serverdelsanslutningar på Application Gateway. Det finns separata faktorer som påverkar hur Application Gateway når SNAT-portgränsen. Om serverdelen till exempel är en offentlig IP-adress kräver den en egen SNAT-port. För att undvika SNAT-portbegränsningar kan du öka antalet instanser per Application Gateway, skala ut serverdelarna så att de har fler IP-adresser eller flytta dina serverdelar till samma virtuella nätverk och använda privata IP-adresser för serverdelarna.

Begäranden per sekund (RPS) på Application Gateway påverkas om SNAT-portgränsen nås. Om en Application Gateway till exempel når SNAT-portgränsen kan den inte öppna en ny anslutning till serverdelen, och begäran misslyckas.

Fler förslag finns i Principer för grundpelare för driftskvalitet.

Azure Advisor hjälper dig att säkerställa och förbättra kontinuiteten i dina affärskritiska program. Granska Azure Advisor-rekommendationerna.

Prestandaeffektivitet

Prestandaeffektivitet handlar om att effektivt skala arbetsbelastningen baserat på användarnas behov. Vi rekommenderar att du granskar principerna för prestandaeffektivitet.

Checklista för design

  • Beräkna antalet Application Gateway-instanser
  • Definiera maximalt antal instanser
  • Definiera det minsta antalet instanser
  • Definiera storlek på Application Gateway-undernät
  • Dra nytta av Application Gateway V2-funktioner för automatisk skalning och prestandafördelar

Rekommendationer

Utforska följande tabell med rekommendationer för att optimera din Application Gateway-konfiguration för prestandaeffektivitet.

Rekommendation Förmån
Beräkna antalet Application Gateway-instanser Application Gateway v2 skalas ut baserat på många aspekter, till exempel CPU, nätverksdataflöde, aktuella anslutningar med mera. För att fastställa det ungefärliga antalet instanser tar du hänsyn till följande mått:

Aktuella beräkningsenheter – anger cpu-användning. 1 Application Gateway-instans är cirka 10 beräkningsenheter.
Dataflöde – Application Gateway-instansen kan hantera ~500 Mbit/s dataflöde. Dessa data beror på typen av nyttolast.

Tänk på den här ekvationen när du beräknar antalet instanser.
Ungefärligt antal instanser

När du har uppskattat antalet instanser jämför du det värdet med det maximala antalet instanser. Detta anger hur nära du är den maximala tillgängliga kapaciteten.
Definiera det minsta antalet instanser För Application Gateway v2 SKU tar automatisk skalning lite tid (cirka sex till sju minuter) innan den ytterligare uppsättningen instanser är redo att hantera trafik. Om det finns korta trafiktoppar under den tiden kan du förvänta dig tillfälliga svarstider eller trafikförluster.

Vi rekommenderar att du anger ditt minsta antal instanser till en optimal nivå. När du har beräknat det genomsnittliga antalet instanser och fastställt trender för automatisk skalning av Application Gateway definierar du det minsta antalet instanser baserat på dina programmönster. Mer information finns i Stöd för hög trafik i Application Gateway.

Kontrollera de aktuella beräkningsenheterna för den senaste månaden. Det här måttet representerar gatewayens CPU-användning. Om du vill definiera det minsta antalet instanser delar du den högsta användningen med 10. Om dina genomsnittliga aktuella beräkningsenheter under den senaste månaden till exempel är 50 anger du det minsta antalet instanser till fem.
Definiera maximalt antal instanser Vi rekommenderar 125 som maximalt antal autoskalningsinstanser. Kontrollera att det undernät som har Application Gateway har tillräckligt med tillgängliga IP-adresser för att stödja uppskalningsuppsättningen av instanser.

Att ange det maximala antalet instanser till 125 har inga kostnadskonsekvenser eftersom du endast debiteras för den förbrukade kapaciteten.
Definiera storlek på Application Gateway-undernät Application Gateway behöver ett dedikerat undernät i ett virtuellt nätverk. Undernätet kan ha flera instanser av den distribuerade Application Gateway-resursen. Du kan också distribuera andra Application Gateway-resurser i det undernätet, v1 eller v2 SKU.

Här följer några saker att tänka på när du definierar undernätets storlek:

– Application Gateway använder en privat IP-adress per instans och en annan privat IP-adress om en privat klientdels-IP har konfigurerats.
– Azure reserverar fem IP-adresser i varje undernät för internt bruk.
– Application Gateway (Standard eller WAF SKU) har stöd för upp till 32 instanser. Med 32 instans-IP-adresser + 1 privat klientdels-IP + 5 Reserverade Azure rekommenderas en minsta undernätsstorlek på /26. Eftersom Standard_v2 eller WAF_v2 SKU kan stödja upp till 125 instanser rekommenderas en undernätsstorlek på /24 med samma beräkning.
– Om du vill distribuera ytterligare Application Gateway-resurser i samma undernät bör du överväga de ytterligare IP-adresser som krävs för deras maximala instansantal för både Standard och Standard v2.
Dra nytta av funktioner för automatisk skalning och prestandafördelar V2 SKU erbjuder automatisk skalning för att säkerställa att Din Application Gateway kan skalas upp när trafiken ökar. Jämfört med v1 SKU har v2 funktioner som förbättrar arbetsbelastningens prestanda. Till exempel bättre TLS-avlastningsprestanda, snabbare distributions- och uppdateringstider, zonredundans med mera. Mer information om funktioner för automatisk skalning finns i Skala Application Gateway v2 och WAF v2.

Om du kör V1 SKU Application Gateway kan du överväga att migrera till Application Gateway v2 SKU. Mer information finns i Migrera Azure Application Gateway och Brandvägg för webbprogram från v1 till v2.

Azure Advisor hjälper dig att säkerställa och förbättra kontinuiteten i dina affärskritiska program. Granska Azure Advisor-rekommendationerna.

Azure Advisor-rekommendationer

Azure Advisor är en anpassad molnkonsult som hjälper dig att följa metodtipsen för att optimera dina Azure-distributioner. Här följer några rekommendationer som kan hjälpa dig att förbättra tillförlitligheten, säkerheten, kostnadseffektiviteten, prestandan och driftskvaliteten för din Application Gateway.

Tillförlitlighet

Ytterligare resurser

Vägledning för Azure Architecture Center

Nästa steg