Redigera

Dela via


Belastningsutjämning för flera regioner med Traffic Manager, Azure Firewall och Application Gateway

Azure Firewall
Azure Application Gateway
Azure Bastion
Azure Load Balancer
Azure Traffic Manager

Den här arkitekturen är avsedd för globala, Internetuppkopplade program som använder HTTP(S) och icke-HTTP(S) protokoll. Den har DNS-baserad global belastningsutjämning, två former av regional belastningsutjämning och global peering för virtuella nätverk för att skapa en arkitektur med hög tillgänglighet som klarar ett regionalt avbrott. Trafikkontroll tillhandahålls av både Azure Web Application Firewall (WAF) och Azure Firewall.

Arkitekturanteckningar

Arkitekturen i det här dokumentet är lätt utökningsbar till en virtuell nätverksdesign för nav och eker, där Azure Firewall skulle finnas i hubbnätverket och Application Gateway antingen i hubbnätverket eller i en eker. Om Application Gateway distribueras i hubben vill du fortfarande ha flera Application Gateways, var och en för en viss uppsättning program, för att undvika RBAC-konflikter och förhindra att application gateway-gränserna nås (se Gränser för Application Gateway).

I en Virtual WAN-miljö kan inte Application Gateways distribueras i hubben, så de installeras i virtuella ekernätverk.

Den föreslagna arkitekturen väljer dubbel inspektion av webbinnehåll via både en brandvägg för webbprogram (baserat på Application Gateway) framför Azure Firewall. Det finns andra alternativ, som beskrivs i Brandvägg och Application Gateway för virtuella nätverk, men det här alternativet är det mest flexibla och fullständiga alternativet: det exponerar klientens IP-adress i HTTP-huvudet X-Forwarded-For för slutprogrammet, det tillhandahåller kryptering från slutpunkt till slutpunkt och förhindrar att klienter kringgår WAF för att komma åt programmet.

Om endast webbprogram exponeras (inga icke-HTTP(S)-program) och den dubbla inspektionen av WAF och Azure Firewall av den här webbtrafiken inte krävs, skulle Azure Front Door vara en bättre global belastningsutjämningslösning än Traffic Manager. Front Door är en layer-7-lastbalanserare för HTTP(S) innehåll som även tillhandahåller cachelagring, trafikacceleration, SSL/TLS-avslutning, certifikathantering, hälsoavsökningar och andra funktioner. Application Gateway erbjuder dock bättre integrering med Azure Firewall för en metod för skydd i flera lager.

Inkommande HTTP(S) trafikflöden

Diagram som visar belastningsutjämning i flera regioner med Azure Firewall, Application Gateway och Traffic Manager för webbtrafik.

Ladda ned en Visio-fil med den här arkitekturen.

  1. Azure Traffic Manager använder DNS-baserad routning för att belastningsutjämna inkommande trafik mellan de två regionerna. Traffic Manager löser DNS-frågor för programmet till de offentliga IP-adresserna för Azure Application Gateway-slutpunkterna. De offentliga slutpunkterna för Application Gateways fungerar som serverdelsslutpunkter för Traffic Manager för HTTP(S) trafik. Traffic Manager löser DNS-frågor baserat på ett urval av olika routningsmetoder. Webbläsaren ansluter direkt till slutpunkten. Traffic Manager ser inte HTTP(S)-trafiken.

  2. Application Gateways som distribueras mellan tillgänglighetszoner tar emot HTTP(S) trafik från webbläsaren och Web Application Firewalls Premium inspekterar trafiken för att identifiera webbattacker. Application Gateways skickar trafik till sin serverdel, den interna lastbalanseraren för de virtuella klientdelsdatorerna. För det här specifika flödet krävs inte den interna lastbalanseraren framför webbservrarna eftersom Application Gateway kan utföra den här belastningsutjämningen. Det ingår dock för konsekvens med flödet för program som inte är HTTP(S).

  3. Trafiken mellan Application Gateway och den interna lastbalanseraren i klientdelen fångas upp av Azure Firewall Premium via användardefinierade vägar som tillämpas på Application Gateway-undernätet. Azure Firewall Premium tillämpar TLS-inspektion på trafiken för ytterligare säkerhet. Azure Firewall är även zonredundant. Om Azure Firewall identifierar ett hot i trafiken kommer paketen att tas bort. I annat fall vidarebefordrar Azure Firewall trafiken till den interna lastbalanseraren på målwebbnivån.

  4. Webbnivån är det första lagret i programmet med tre nivåer, det innehåller användargränssnittet och parsar även användarinteraktioner. Lastbalanseraren på webbnivå är utspridd över alla tre tillgänglighetszonerna och distribuerar trafik till var och en av de tre virtuella datorerna på webbnivå.

  5. De virtuella datorerna på webbnivå är spridda över alla tre tillgänglighetszonerna och kommunicerar med affärsnivån via en dedikerad intern lastbalanserare.

  6. Affärsnivån bearbetar användarinteraktionerna och bestämmer nästa steg och ligger mellan webb- och datanivåerna. Den interna lastbalanseraren på affärsnivå distribuerar trafik till de virtuella datorerna på affärsnivå mellan de tre tillgänglighetszonerna. Lastbalanseraren på affärsnivå är zonredundant, till exempel lastbalanseraren på webbnivå.

  7. De virtuella datorerna på affärsnivå är spridda över tillgänglighetszoner och dirigerar trafik till tillgänglighetsgruppens lyssnare för databaserna.

  8. Datanivån lagrar programdata, vanligtvis i en databas, objektlagring eller filresurs. Den här arkitekturen har SQL-server på virtuella datorer som är distribuerade i tre tillgänglighetszoner. De finns i en tillgänglighetsgrupp och använder ett distribuerat nätverksnamn (DNN) för att dirigera trafik till tillgänglighetsgruppens lyssnare för belastningsutjämning.

Inkommande trafikflöden som inte är HTTP(S)

Diagram som visar belastningsutjämning i flera regioner med Azure Firewall, Application Gateway och Traffic Manager för icke-webbtrafik.

Ladda ned en Visio-fil med den här arkitekturen.

  1. Azure Traffic Manager använder DNS-baserad routning för att belastningsutjämna inkommande trafik mellan de två regionerna. Traffic Manager löser DNS-frågor för programmet till de offentliga IP-adresserna för Azure-slutpunkterna. De offentliga slutpunkterna i Programbrandväggen fungerar som serverdelsslutpunkter för Traffic Manager för trafik som inte är HTTP(S). Traffic Manager löser DNS-frågor baserat på ett urval av olika routningsmetoder. Webbläsaren ansluter direkt till slutpunkten. Traffic Manager ser inte HTTP(S)-trafiken.

  2. Azure Firewall Premium är zonredundant och inspekterar inkommande trafik för säkerhet. Om Azure Firewall identifierar ett hot i trafiken kommer paketen att tas bort. I annat fall vidarebefordrar Azure Firewall vid lyckad inspektion trafiken till den interna lastbalanseraren på webbnivån som utför DNAT (Destination Network Address Translation) på inkommande paket.

  3. Webbnivån är det första lagret i programmet med tre nivåer, det innehåller användargränssnittet och parsar även användarinteraktioner. Lastbalanseraren på webbnivå är utspridd över alla tre tillgänglighetszonerna och distribuerar trafik till var och en av de tre virtuella datorerna på webbnivå.

  4. De virtuella datorerna på webbnivå är spridda över alla tre tillgänglighetszonerna och kommunicerar med affärsnivån via en dedikerad intern lastbalanserare.

  5. Affärsnivån bearbetar användarinteraktionerna och bestämmer nästa steg och ligger mellan webb- och datanivåerna. Den interna lastbalanseraren på affärsnivå distribuerar trafik till de virtuella datorerna på affärsnivå mellan de tre tillgänglighetszonerna. Lastbalanseraren på affärsnivå är zonredundant, till exempel lastbalanseraren på webbnivå.

  6. De virtuella datorerna på affärsnivå är spridda över tillgänglighetszoner och dirigerar trafik till tillgänglighetsgruppens lyssnare för databaserna.

  7. Datanivån lagrar programdata, vanligtvis i en databas, objektlagring eller filresurs. Den här arkitekturen har SQL-server på virtuella datorer som är distribuerade i tre tillgänglighetszoner. De finns i en tillgänglighetsgrupp och använder ett distribuerat nätverksnamn (DNN) för att dirigera trafik till tillgänglighetsgruppens lyssnare för belastningsutjämning.

Utgående trafikflöden (alla protokoll)

Utgående trafikflöden för uppdateringar av korrigeringar av virtuella datorer eller annan anslutning till Internet går från arbetsbelastningens virtuella datorer till Azure Firewall via användardefinierade vägar. Azure Firewall tillämpar anslutningsregler med hjälp av webbkategorier samt nätverks- och programregler för att förhindra att arbetsbelastningar får åtkomst till olämpligt innehåll eller dataexfiltreringsscenarier.

Komponenter

  • Azure Firewall är en molnbaserad, Microsoft-hanterad nästa generations brandvägg som ger djup paketinspektion för både trafikflöden i norra/södra och östra/västra. Den kan spridas över tillgänglighetszoner och erbjuder automatisk automatisk skalning för att hantera ändringar i programefterfrågan.
  • Azure Application Gateway är en layer-7-lastbalanserare med valfria WAF-funktioner (Web Application Firewall). V2 SKU:n för Application Gateway stöder redundans i tillgänglighetszonen och rekommenderas för de flesta scenarier. Application Gateway innehåller konfigurerbar horisontell autoskalning så att den kan reagera automatiskt på ändringar av programefterfrågan.
  • Azure Traffic Manager är en DNS-baserad global lastbalanserare som distribuerar trafik till tjänster i globala Azure-regioner samtidigt som den ger hög tillgänglighet och svarstider. Mer information finns i avsnittet om konfiguration av Traffic Manager.
  • Azure Load Balancer är en layer-4-lastbalanserare. En zonredundant lastbalanserare distribuerar fortfarande trafik med ett fel i tillgänglighetszonen till de återstående zonerna.
  • Azure DDoS Protection har förbättrade funktioner för att skydda mot DDoS-attacker (Distributed Denial of Service).
  • Azure DNS är en värdtjänst för DNS-domäner. Den tillhandahåller namnmatchning med hjälp av Microsoft Azure-infrastrukturen. Genom att använda Azure som värd för dina domäner kan du hantera dina DNS-poster med samma autentiseringsuppgifter, API:er, verktyg och fakturering som för dina andra Azure-tjänster.
  • Privata DNS-zoner i Azure är en funktion i Azure DNS. Privata Azure DNS-zoner ger namnmatchning i ett virtuellt nätverk och mellan virtuella nätverk. Posterna som finns i en privat DNS-zon kan inte matchas från Internet. DNS-matchning mot en privat DNS-zon fungerar endast från virtuella nätverk som är länkade till den.
  • Azure Virtual Machines är skalbara beräkningsresurser på begäran som ger dig flexibiliteten i virtualisering men eliminerar underhållskraven för fysisk maskinvara. Alternativen för operativsystemet omfattar Windows och Linux. Vissa komponenter i programmen kan ersättas med Azure-resurser som en tjänst (till exempel databasen och klientdelsnivån), men arkitekturen skulle inte ändras nämnvärt om du använder Private Link och App Service VNet-integrering för att föra in paaS-tjänsterna i det virtuella nätverket.
  • Skalningsuppsättningar för virtuella Azure-datorer är automatiserad och belastningsutjämning av virtuella datorer som förenklar hanteringen av dina program och ökar tillgängligheten.
  • Med SQL Server på virtuella datorer kan du använda fullständiga versioner av SQL Server i molnet utan att behöva hantera någon lokal maskinvara.
  • Azure Virtual Network är ett säkert privat nätverk i molnet. Den ansluter virtuella datorer till varandra, till Internet och till lokala nätverk.
  • Användardefinierade vägar är en mekanism för att åsidosätta standardroutningen i virtuella nätverk. I det här scenariot används de för att tvinga inkommande och utgående trafikflöden att passera Azure Firewall.

Lösningsdetaljer

Traffic Manager – Vi konfigurerade Traffic Manager att använda prestandadirigering. Den dirigerar trafik till den slutpunkt som har den lägsta svarstiden för användaren. Traffic Manager justerar automatiskt sin belastningsutjämningsalgoritm när slutpunktens svarstid ändras. Traffic Manager tillhandahåller automatisk redundans om det uppstår ett regionalt avbrott. Den använder prioritetsroutning och regelbundna hälsokontroller för att avgöra var trafiken ska dirigeras.

Tillgänglighetszoner – Arkitekturen använder tre tillgänglighetszoner. Zonerna skapar en arkitektur med hög tillgänglighet för Application Gateways, interna lastbalanserare och virtuella datorer i varje region. Om det uppstår ett zonfel skulle de återstående tillgänglighetszonerna i den regionen ta över belastningen, vilket inte skulle utlösa en regional redundansväxling.

Application Gateway – Medan Traffic Manager tillhandahåller DNS-baserad regional belastningsutjämning ger Application Gateway dig många av samma funktioner som Azure Front Door men på regional nivå, till exempel:

  • Brandvägg för webbaserade program (WAF)
  • TLS-avslutning (Transport Layer Security)
  • Sökvägsbaserad dirigering
  • Cookiebaserad sessionstillhörighet

Azure Firewall – Azure Firewall Premium erbjuder nätverkssäkerhet för allmänna program (webb- och icke-webbtrafik) och inspekterar tre typer av flöden i den här arkitekturen:

  • Inkommande HTTP(S)-flöden från Application Gateway skyddas med Azure Firewall Premium TLS-inspektion.
  • Inkommande icke-HTTP(S) flöden från det offentliga Internet inspekteras med resten av Azure Firewall Premium-funktionerna.
  • Utgående flöden från virtuella Azure-datorer inspekteras av Azure Firewall för att förhindra dataexfiltrering och åtkomst till förbjudna platser och program.

Peering för virtuella nätverk – Vi kallar peering mellan regioner för "global peering för virtuella nätverk". Global peering för virtuella nätverk ger datareplikering med låg fördröjning och hög bandbredd mellan regioner. Du kan överföra data mellan Azure-prenumerationer, Microsoft Entra-klientorganisationer och distributionsmodeller med den här globala peeringen. I hub-spoke-miljön skulle virtuella nätverkspeings finnas mellan hubb- och ekernätverk.

Rekommendationer

Följande rekommendationer följer grundpelarna i Azure Well-Architected Framework (WAF). WAF-pelarna är vägledande grundsatser som hjälper till att säkerställa kvaliteten på molnarbetsbelastningar. Mer information finns i Microsoft Azure Well-Architected Framework.

Tillförlitlighet

Regioner – Använd minst två Azure-regioner för hög tillgänglighet. Du kan distribuera ditt program i flera Azure-regioner i aktiva/passiva eller aktiva/aktiva konfigurationer. Flera regioner hjälper också till att undvika programavbrott om ett undersystem i programmet misslyckas.

  • Traffic Manager redundansväxlar automatiskt till den sekundära regionen om den primära regionen misslyckas.
  • Valet av de bästa regionerna för dina behov måste baseras på tekniska överväganden, regelöverväganden och stöd för tillgänglighetszoner.

Regionpar – Använd regionpar för mest återhämtning. Kontrollera att båda regionparen har stöd för alla Azure-tjänster som ditt program behöver (se tjänster per region). Här är två fördelar med regionpar:

  • Planerade Azure-uppdateringar distribueras till kopplade regioner en i taget för att minimera driftstopp och risken för programavbrott.
  • Data fortsätter att finnas inom samma geografiska område som dess par (förutom Brasilien, södra) för skatte- och juridiska ändamål.

Tillgänglighetszoner – Använd flera tillgänglighetszoner för att stödja din Application Gateway, Azure Firewall, Azure Load Balancer och programnivåer när det är tillgängligt.

Automatisk skalning och instanser av Application Gateway – Konfigurera Application Gateway med minst två instanser för att undvika stilleståndstid och automatisk skalning för att ge dynamisk anpassning till ändrade krav på programkapacitet.

Mer information finns i:

Global routning

Global routningsmetod – Använd den trafikroutningsmetod som bäst uppfyller kundernas behov. Traffic Manager stöder flera trafikroutningsmetoder för att deterministiskt dirigera trafik till de olika tjänstslutpunkterna.

Kapslad konfiguration – Använd Traffic Manager i en kapslad konfiguration om du behöver mer detaljerad kontroll för att välja en önskad redundans inom en region.

Mer information finns i:

Global trafikvy

Använd trafikvyn i Traffic Manager för att se trafikmönster och svarstidsmått. Trafikvyn kan hjälpa dig att planera din fotavtrycksexpansion till nya Azure-regioner.

Mer information finns i Traffic Manager Traffic View .

Application Gateway

Använd Application Gateway v2 SKU för automatisk återhämtning.

  • Application Gateway v2 SKU säkerställer automatiskt att nya instanser skapas över feldomäner och uppdateringsdomäner. Om du väljer zonredundans skapas även de senaste instanserna i tillgänglighetszoner för att ge feltolerans.

  • Application Gateway v1 SKU stöder scenarier med hög tillgänglighet när du har distribuerat två eller flera instanser. Azure distribuerar dessa instanser över uppdaterings- och feldomäner för att säkerställa att instanserna inte misslyckas samtidigt. V1 SKU stöder skalbarhet genom att lägga till flera instanser av samma gateway för att dela belastningen.

Application Gateway måste lita på CA-certifikatet för Azure Firewall.

Azure Firewall

Premium-nivån för Azure Firewall krävs i den här designen för att tillhandahålla TLS-inspektion. Azure Firewall fångar upp TLS-sessioner mellan Application Gateway och de virtuella datorer på webbnivå som genererar egna certifikat, samt inspekterar utgående trafikflöden från de virtuella nätverken till det offentliga Internet. Du hittar mer information om den här designen i Nätverket med noll förtroende för webbprogram med Azure Firewall och Application Gateway.

Rekommendationer för hälsoavsökning

Här följer några rekommendationer för hälsoavsökningar i Traffic Manager, Application Gateway och Load Balancer.

Traffic Manager

Slutpunktshälsa – Skapa en slutpunkt som rapporterar programmets övergripande hälsa. Traffic Manager använder en HTTP(S) avsökning för att övervaka tillgängligheten för varje region. Avsökningen söker efter ett HTTP 200-svar för en angiven URL-sökväg. Använd slutpunkten som du skapade för hälsoavsökningen. Annars kan avsökningen rapportera en felfri slutpunkt när kritiska delar av programmet misslyckas.

Mer information finns i hälsoslutpunktsövervakningsmönster.

Redundansfördröjning – Traffic Manager har en redundansfördröjning. Följande faktorer avgör fördröjningens varaktighet:

  • Avsökningsintervall: Hur ofta avsökningen kontrollerar slutpunktens hälsotillstånd.
  • Tolererat antal fel: Hur många fel avsökningen tolererar innan slutpunkten markeras som felaktig.
  • Tidsgräns för avsökning: hur lång tid innan Traffic Manager anser att slutpunkten inte är felfri.
  • Time-to-live (TTL): DNS-servrar måste uppdatera cachelagrade DNS-poster för IP-adressen. Hur mycket tid det tar beror på DNS TTL. Standard-TTL är 300 sekunder (fem minuter), men du kan konfigurera det här värdet när du skapar Traffic Manager-profilen.

Mer information finns i Traffic Manager-övervakning.

Application Gateway och Load Balancer

Bekanta dig med hälsoavsökningsprinciperna för Application Gateway och lastbalanseraren för att säkerställa att du förstår hälsotillståndet för dina virtuella datorer. Här är en kort översikt:

  • Application Gateway använder alltid en HTTP-avsökning.

  • Load Balancer kan utvärdera antingen HTTP eller TCP. Använd en HTTP-avsökning om en virtuell dator kör en HTTP-server. Använd TCP för allt annat.

  • HTTP-avsökningar skickar en HTTP GET-begäran till en angiven sökväg och lyssnar efter ett HTTP 200-svar. Den här sökvägen kan vara rotsökvägen ("/" eller en slutpunkt för hälsoövervakning som implementerar anpassad logik för att kontrollera programmets hälsotillstånd.

  • Slutpunkten måste tillåta anonyma HTTP-begäranden. Om en avsökning inte kan nå en instans inom tidsgränsen slutar Application Gateway eller Load Balancer att skicka trafik till den virtuella datorn. Avsökningen fortsätter att kontrollera och returnerar den virtuella datorn till serverdelspoolen om den virtuella datorn blir tillgänglig igen.

Mer information finns i:

Driftsäkerhet

Resursgrupper – Använd resursgrupper för att hantera Azure-resurser efter livslängd, ägare och andra egenskaper.

Peering för virtuella nätverk – Använd peering för virtuella nätverk för att sömlöst ansluta två eller flera virtuella nätverk i Azure. De virtuella nätverken visas som ett för anslutningsändamål. Trafiken mellan virtuella datorer i peer-kopplade virtuella nätverk använder Microsofts staminfrastruktur. Kontrollera att adressutrymmet för de virtuella nätverken inte överlappar varandra.

Virtuellt nätverk och undernät – Skapa ett separat undernät för varje nivå i undernätet. Du bör distribuera virtuella datorer och resurser, till exempel Application Gateway och Load Balancer, till ett virtuellt nätverk med undernät.

Säkerhet

Brandvägg för webbprogram – WAF-funktionerna i Azure Application Gateway identifierar och förhindrar attacker på HTTP-nivå, till exempel SQL-inmatning (SQLi) eller skript för flera platser (CSS).

Nästa generations brandvägg – Azure Firewall Premium ger ytterligare ett skyddsnivå genom att granska innehåll för icke-webbattacker, till exempel skadliga filer som laddats upp via HTTP(S) eller något annat protokoll.

Kryptering från slutpunkt till slutpunkt – Trafiken krypteras alltid när du passerar Azure-nätverket. Både Application Gateway och Azure Firewall krypterar trafiken innan den skickas till motsvarande serverdelssystem.

DDoS (Distributed Denial of Service) – Använd Azure DDoS Network Protection för bättre DDoS-skydd än det grundläggande skydd som Azure tillhandahåller.

Nätverkssäkerhetsgrupper (NSG:er) – Använd NSG:er för att begränsa nätverkstrafiken i det virtuella nätverket. I den arkitektur med tre nivåer som visas här accepterar datanivån till exempel endast trafik från affärsnivån, inte från webbklientdelen. Endast affärsnivån kan kommunicera direkt med databasnivån. För att framtvinga den här regeln bör databasnivån blockera all inkommande trafik förutom undernätet på affärsnivå.

  1. Tillåt inkommande trafik från undernätet på affärsnivå.
  2. Tillåt inkommande trafik från själva undernätet på databasnivå. Den här regeln tillåter kommunikation mellan de virtuella databasdatorerna. Databasreplikering och redundans behöver den här regeln.
  3. Neka all inkommande trafik från det virtuella nätverket med hjälp av taggen VirtualNetwork i regeln) för att skriva över tillståndsuttrycket som ingår i standardreglerna för nätverkssäkerhetsgruppen.

Skapa regel 3 med lägre prioritet (högre nummer) än de första reglerna.

Du kan använda tjänsttaggar för att definiera nätverksåtkomstkontroller i nätverkssäkerhetsgrupper eller Azure Firewall.

Mer information finns i Konfiguration av programgatewayinfrastruktur.

Kostnadsoptimering

Mer information finns i:

Prestandaeffektivitet

Vm-skalningsuppsättningar – Använd VM-skalningsuppsättningar för att automatisera skalbarheten för dina virtuella datorer. Vm-skalningsuppsättningar är tillgängliga för alla storlekar på virtuella Windows- och Linux-datorer. Du debiteras bara för de virtuella datorer som distribueras och de underliggande infrastrukturresurser som förbrukas. Det finns inga inkrementella avgifter. Fördelarna med VM-skalningsuppsättningar är:

  • Skapa och hantera flera virtuella datorer enkelt
  • Hög tillgänglighet och programåterhämtning
  • Automatiserad skalning när resursbehovet ändras

Mer information finns i Vm-skalningsuppsättningar.

Nästa steg

Fler referensarkitekturer med samma tekniker finns i: