Den här referensarkitekturen betjänar webbarbetsbelastningar med motståndskraftiga program på flera nivå och distribuerar över flera Azure-regioner för att uppnå hög tillgänglighet och robust haveriberedskap.
Microsoft Azure Traffic Manager balanserar trafiken mellan regioner och det finns en regional lastbalanserare baserat på Azure Application Gateway. Den här kombinationen ger dig fördelarna Traffic Manager med flexibel routning och Application Gateway av de många funktionerna, inklusive:
- Web Application Firewall (WAF).
- Transport Layer Security (TLS).
- Sökvägsbaserad routning.
- Cookiebaserad sessionstillhörighet.
I det här scenariot består programmet av tre lager:
- Webbnivå: Det här är det översta lagret och har användargränssnittet. Den parsar användarinteraktioner och skickar åtgärderna till affärsnivån för bearbetning.
- Affärsnivå: Bearbetar användarinteraktionerna och bestämmer nästa steg. Den ansluter webb- och datanivåer.
- Datanivå: Lagrar programdata, vanligtvis i en databas, objektlagring eller filer.
Anteckning
Azure tillhandahåller en uppsättning fullständigt hanterade lösningar för belastningsutjämning. Om du letar efter avslutning Transport Layer Security (TLS) ("SSL-avlastning") eller per HTTP/HTTPS-begäran, bearbetning på programlager, kan du läsa Vad är Azure Application Gateway?. Om du letar efter regional belastningsutjämning kan du läsa Azure Load Balancer. Du kan med fördel kombinera dessa lösningar efter behov för dina slutpunkts-till-slutpunkts-scenarier.
En jämförelse av alternativen för Azure-belastningsutjämning finns i Översikt över alternativ för belastningsutjämning i Azure.
Arkitektur
Traffic Manager fungerar på DNS-lagret för att dirigera programtrafik enligt ditt val av routningsmetod. Du kan till exempel dirigera att begäranden skickas till de närmaste slutpunkterna för att förbättra svarstiderna. Application Gateway belastningsutjämna HTTP(S) och WebSocket-begäranden när de dirigeras till servrar i serverdelspoolen. Serverdelarna kan vara offentliga eller privata slutpunkter, virtuella datorer, Azure Virtual Machine Scale Sets, apptjänster eller AKS-kluster. Du kan dirigera trafik baserat på attribut för en HTTP-begäran, till exempel värdnamn och URI-sökväg.
Komponenter
- Azure Virtual Machines Virtuella datorer är skalbara beräkningsresurser på begäran som ger dig virtualiseringsflexibilitet men som eliminerar underhållskraven för fysisk maskinvara. Bland alternativen för operativsystem finns Windows och Linux. De virtuella datorerna är en resurs på begäran och skalbar.
- Azure Virtual Machine Scale Sets är automatiserad och belastningsutjämnad VM-skalning som förenklar hanteringen av dina program och ökar tillgängligheten.
- Traffic Manager är en lastbalanserare för DNS-baserad trafik som fördelar trafiken optimalt 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.
- Application Gateway är en Layer 7-lastbalanserare. I den här arkitekturen dirigerar en zonredundant Application Gateway HTTP-begäranden till webbwebbdelen. Application Gateway också en Web Application Firewall (WAF) som skyddar programmet mot vanliga kryphål och sårbarheter. V2-SKU:n för Application Gateway stöder redundans mellan zoner. En Application Gateway distribution kan köra flera instanser av gatewayen.
- Azure Load Balancer är en Layer 4-lastbalanserare. Det finns två SKU:er: Standard och Basic. I den här arkitekturen dirigerar en zonredundant Standard Load Balancer nätverkstrafik från webbnivån till affärsnivån. Eftersom en zonredundant Load Balancer inte är fäst på en specifik zon fortsätter programmet att distribuera nätverkstrafiken om det uppstår ett zonfel.
- Azure DDoS Protection har förbättrade funktioner för att skydda mot distribuerade doS-attacker (Denial of Service), funktioner som går utöver det grundläggande skydd som Azure tillhandahåller.
- Azure DNS är en värdtjänst för DNS-domäner. Den tillhandahåller namnmatchning med hjälp Microsoft Azure infrastruktur. 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. Azure DNS också stöd för privata DNS-zoner. Azure DNS Private Zones namnmatchning i ett virtuellt nätverk, samt mellan virtuella nätverk. Posterna i en privat DNS-zon kan inte matchas från Internet. DNS-upplösning mot en privat DNS-zon fungerar bara från virtuella nätverk som är länkade till den.
- 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.
- Azure Bastion ger säker och sömlös Remote Desktop Protocol (RDP) och Secure Shell (SSH) åtkomst till de virtuella datorerna i det virtuella nätverket. Detta ger åtkomst samtidigt som de exponerade offentliga IP-adresserna för de virtuella datorerna i det virtuella nätverket begränsas. Azure Bastion ett kostnadseffektivt alternativ till en etablerad virtuell dator för att ge åtkomst till alla virtuella datorer i samma virtuella nätverk.
Rekommendationer
Följande rekommendationer gäller för de flesta scenarier. Följ dessa rekommendationer om du inte har ett visst krav som åsidosätter dem.
- Använd minst två Azure-regioner för högre tillgänglighet. Du kan distribuera ditt program i flera Azure-regioner i aktiva/passiva eller aktiva/aktiva konfigurationer. Mer information finns i Flera regioner.
- För produktionsarbetsbelastningar kör du minst två gatewayinstanser. Observera att i den här arkitekturen konfigureras de offentliga slutpunkterna för Application Gateway som Traffic Manager-backends.
- Använd regler för nätverkssäkerhetsgrupper (NSG) för att begränsa trafiken mellan nivåer. Mer information finns i Nätverkssäkerhetsgrupper.
Överväganden för tillgänglighet
Tillgänglighetszoner i Azure
Azure-tillgänglighetszoner hög tillgänglighet inom en region. Ett regionalt nätverk ansluter minst tre fysiskt distinkta strategiskt placerade datacenter i varje region.
Flera regioner
Distribution i flera regioner kan ge högre tillgänglighet än att distribuera till en enda region. Om ett regionalt strömavbrott påverkar den primära regionen, kan du använda Traffic Manager för att växla över till den sekundära regionen. Flera regioner kan också vara till hjälp om ett enskilt undersystem i programmet misslyckas.
Observera att den här arkitekturen gäller för aktiva/passiva samt för aktiva/aktiva konfigurationer i Azure-regioner.
Teknisk information finns i Regioner och Tillgänglighetszoner i Azure.
Länkade regioner
Varje Azure-region är länkad till en annan region i samma geografiska område (till exempel USA, Europa eller Asien). Den här metoden möjliggör replikering av resurser, till exempel VM-lagring, mellan regioner. Tanken är att hålla en region tillgänglig även om den andra blir otillgänglig på grund av naturkatastrofer, oroligheter i landet, strömavbrott, nätverksavbrott och så vidare.
Det finns andra fördelar med regional parkoppling, inklusive:
- Vid ett större Azure-avbrott prioriteras en region i varje par för att minska tiden för programåterställning.
- Planerade Azure-uppdateringar distribueras en i taget till kopplade regioner för att minimera nedtid och risk för programavbrott.
- Data finns kvar i samma geografiska region som den andra regionen i paret (med undantag för Brasilien, södra) av skatte- och jurisdiktionsmässiga skäl.
Kontrollera att båda regionerna stöder alla Azure-tjänster som ditt program behöver (se Tjänster efter region). Mer information om regionala par finns i Affärskontinuitet och haveriberedskap (BCDR): Länkade Azure-regioner.
Konfigurera Traffic Manager
Traffic Manager ger hög tillgänglighet för dina kritiska program genom att övervaka slutpunkter och tillhandahålla automatisk redundans när en slutpunkt går ned.
Tänk på följande när du konfigurerar Traffic Manager:
Routning: Traffic Manager stöder sex trafikroutningsmetoder för att avgöra hur trafik ska dirigeras till de olika tjänstslutpunkterna. I den här arkitekturen använder vi prestandadirigering, som dirigerar trafik till den slutpunkt som har lägst svarstid för användaren. Traffic Manager justeras automatiskt när slutpunktens svarstider ändras. Om du behöver mer detaljerad kontroll– till exempel för att välja en önskad redundans inom en region – kan du använda Traffic Manager i en kapslad konfiguration.
Konfigurationsinformation finns i Konfigurera trafikroutningsmetoden för prestanda.
Information om de olika routningsmetoderna finns i Traffic Manager routningsmetoder.
Hälsoavsökning: Traffic Manager använder en HTTP-avsökning (eller HTTPS)-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. Bästa praxis är att skapa en slutpunkt som rapporterar programmets övergripande hälsa och att använda den här slutpunkten för hälsoavsökningen. Annars kan avsökningen rapportera en felfri slutpunkt när kritiska delar av programmet misslyckas. Mer information finns i Health Endpoint Monitoring pattern (Övervakningsmönster för slutpunktshälsa).
När Traffic Manager redundansväxlar kan klienter inte komma åt programmet på en stund. Varaktigheten påverkas av följande faktorer:
- Hälsoavsökningen måste upptäcka att den primära regionen har blivit onåbar.
- DNS-servrar måste uppdatera cachelagrade DNS-poster för IP-adressen, som är beroende av TTL för DNS (Time to live). 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 Om Traffic Manager övervakning.
Trafikvy: Gör Trafikvy förstå vilka regioner som har en stor mängd trafik men drabbas av längre svarstider. Sedan använder du den här informationen för att planera din fotavtrycksutökning till nya Azure-regioner. På så sätt får användarna en kortare svarstid. Mer information Traffic Manager Trafikvy finns i Traffic Manager Trafikvy.
Application Gateway
- Application Gateway v1-SKU:n har stöd för scenarier med hög tillgänglighet när du har distribuerat två eller flera instanser. Azure distribuerar dessa instanser mellan uppdaterings- och feldomäner för att säkerställa att alla instanser inte misslyckas samtidigt. V1-SKU:n stöder skalbarhet genom att lägga till flera instanser av samma gateway för att dela belastningen.
- Application Gateway v2 SKU säkerställer automatiskt att nya instanser sprids över feldomäner och uppdateringsdomäner. Om du väljer zonredundans sprids de senaste instanserna även över tillgänglighetszoner för att erbjuda zonredundans.
Hälsotillståndsavsökningar
Application Gateway och Load Balancer använder både hälsoavsökningar för att övervaka tillgängligheten för VM-instanser.
- Application Gateway använder alltid en HTTP-avsökning.
- Load Balancer kan testa HTTP eller TCP. Om en virtuell dator kör en HTTP-server använder du i allmänhet en HTTP-avsökning. Annars använder du TCP.
Om en avsökning inte kan nå en instans inom en tidsgräns, 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 backend-poolen om den virtuella datorn blir tillgänglig igen. 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 hälsotillståndet för programmet. Slutpunkten måste tillåta anonyma HTTP-begäranden.
Mer information om hälsoavsökningar finns i:
Överväganden om hur du utformar en slutpunkt för hälsoavsökning finns i Health Endpoint Monitoring pattern (Övervakningsmönster för slutpunktshälsa).
Överväganden för hantering
- 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 smidigt ansluta två eller flera virtuella nätverk i Azure. De virtuella nätverken visas som ett nätverk i anslutningssyfte. Trafiken mellan virtuella datorer i peer-ade virtuella nätverk använder Microsofts stamnätsinfrastruktur. Kontrollera att adressutrymmet för de virtuella nätverken inte överlappar varandra. I det här scenariot peer-eras de virtuella nätverken via global peering för virtuella nätverk för att tillåta datareplikering från den primära regionen till den sekundära regionen.
- Virtuellt nätverk och undernät: Virtuella Azure-datorer och specifika Azure-resurser (till exempel Application Gateway och Load Balancer) distribueras till ett virtuellt nätverk som kan segmenteras i undernät. Skapa ett separat undernät för varje nivå.
Säkerhetsöverväganden
- Använd DDoS Protection Standard för bättre DDoS-skydd än det grundläggande skydd som Azure tillhandahåller. Mer information finns i Säkerhetsöverväganden.
- Använd nätverkssäkerhetsgrupper (NSG: er) för att begränsa nätverkstrafiken i det virtuella nätverket. I arkitekturen med tre nivåer som visas här accepterar till exempel databasnivån endast trafik från affärsnivån och Bastion-undernätet, inte från webbportalen.
Nätverkssäkerhetsgrupper
Endast affärsnivån kan kommunicera direkt med databasnivån. För att framtvinga den här regeln ska databasnivån blockera all inkommande trafik utom undernätet på företagsnivå.
- Neka all inkommande trafik från det virtuella nätverket. (Använd VIRTUAL_NETWORK taggen i regeln.)
- Tillåt inkommande trafik från undernätet på företagsnivå.
- Tillåt inkommande trafik från själva undernätet på databasnivå. Den här regeln tillåter kommunikation mellan de virtuella databas datorerna, vilket krävs för databasreplikering och redundans.
Skapa regler 2–3 med högre prioritet än den första regeln så att de åsidosätter den.
Du kan använda tjänsttaggar för att definiera nätverksåtkomstkontroller i nätverkssäkerhetsgrupper eller Azure Firewall. Se Application Gateway infrastrukturkonfiguration för information om Application Gateway NSG-krav.
Prissättning
Använd Priskalkylatorn för Azure för att beräkna kostnader. Här är några andra överväganden.
Virtual Machine Scale Sets
Virtual Machine Scale Sets är tillgängliga på alla Windows VM-storlekar. Du debiteras bara för de virtuella Azure-datorer som du distribuerar och eventuella ytterligare underliggande infrastrukturresurser som förbrukas, till exempel lagring och nätverk. Det finns inga inkrementella avgifter för Virtual Machine Scale Sets tjänsten.
Prisalternativ för enskilda virtuella datorer finns i Windows Virtual Machines priser.
Standard Load Balancer
Prissättningen för Standard Load Balancer baseras på antalet konfigurerade regler för utgående belastningsutjämning varje timme. Ingående NAT-regler är kostnadsfria. Det debiteras ingen timkostnad för standard-SKU Load Balancer när inga regler har konfigurerats. Det finns också en avgift för den mängd data som Load Balancer processer.
Mer information finns i Prissättning för belastningsutjämning.
Application Gateway v2 SKU
Den Application Gateway ska etableras med v2-SKU:n och kan sträcka sig över flera Tillgänglighetszoner. Med v2-SKU:n drivs prismodellen av förbrukning och har två komponenter: fast pris per timme och en förbrukningsbaserad kostnad.
Mer information finns i Application Gateway priser.
Traffic Manager
Traffic Manager fakturering baseras på antalet MOTTAGNA DNS-frågor, med rabatt för tjänster som tar emot fler än en miljard frågor per månad. Du debiteras också för varje övervakad slutpunkt. Prisinformation finns i Traffic Manager priser.
Virtuell nätverkspeering
En distribution med hög tillgänglighet som utnyttjar flera Azure-regioner använder peering för virtuella nätverk. Avgifterna för peering för virtuella nätverk inom samma region är inte samma som avgifterna för global peering för virtuella nätverk.
Mer information finns i Virtual Network priser.
Nästa steg
Ytterligare referensarkitekturer som använder samma tekniker finns i:
