Använda belastningsutjämningstjänster i Azure
Introduktion
Microsoft Azure tillhandahåller flera tjänster för att hantera hur nätverkstrafik distribueras och lastbalanseras. Du kan använda dessa tjänster individuellt eller kombinera deras metoder, beroende på dina behov, för att skapa den optimala lösningen.
I den här självstudien definierar vi först ett kundanvändningsfall och ser hur det kan göras mer robust och högpresterande med hjälp av följande Azure-portfölj för belastningsutjämning: Traffic Manager, Application Gateway och Load Balancer. Sedan tillhandahåller vi stegvisa instruktioner för att skapa en distribution som är geografiskt redundant, distribuerar trafik till virtuella datorer och hjälper dig att hantera olika typer av begäranden.
På konceptuell nivå spelar var och en av dessa tjänster en distinkt roll i hierarkin för belastningsutjämning.
Traffic Manager tillhandahåller global DNS-belastningsutjämning. Den tittar på inkommande DNS-begäranden och svarar med en felfri slutpunkt i enlighet med den routningsprincip som kunden har valt. Alternativ för routningsmetoder är:
- Prestandadirigering för att skicka beställaren till närmaste slutpunkt när det gäller svarstid.
- Prioritetsdirigering för att dirigera all trafik till en slutpunkt, med andra slutpunkter som säkerhetskopiering.
- Viktad routning för resursallokering, som distribuerar trafik baserat på den viktning som tilldelas till varje slutpunkt.
- Geografibaserad routning för att distribuera trafiken till dina programslutpunkter baserat på användarens geografiska plats.
- Undernätsbaserad routning för att distribuera trafiken till programslutpunkterna baserat på användarens undernät (IP-adressintervall).
- Routning med flera värden som gör att du kan skicka IP-adresser för fler än en programslutpunkter i ett enda DNS-svar.
Klienten ansluter direkt till slutpunkten som returneras av Traffic Manager. Azure Traffic Manager identifierar när en slutpunkt är felaktig och omdirigerar sedan klienterna till en annan felfri instans. Mer information om tjänsten finns i Dokumentation om Azure Traffic Manager.
Application Gateway tillhandahåller programleveranskontrollant (ADC) som en tjänst och erbjuder olika layer 7-belastningsutjämningsfunktioner för ditt program. Det gör att kunderna kan optimera webbgruppens produktivitet genom att avlasta CPU-intensiv TLS-avslutning till programgatewayen. Andra layer 7-routningsfunktioner inkluderar resursallokeringsdistribution av inkommande trafik, cookiebaserad sessionstillhörighet, URL-sökvägsbaserad routning och möjligheten att vara värd för flera webbplatser bakom en enda programgateway. Application Gateway kan konfigureras som en Internetuppkopplad gateway, en intern gateway eller en kombination av båda. Application Gateway är helt Azure-hanterad, skalbar och mycket tillgänglig. För att få en bättre hantering ingår en omfattande uppsättning diagnostik- och loggningsfunktioner.
Load Balancer är en integrerad del av Azure SDN-stacken och tillhandahåller högpresterande layer 4-belastningsutjämningstjänster med låg svarstid för alla UDP- och TCP-protokoll. Den hanterar inkommande och utgående anslutningar. Du kan konfigurera offentliga och interna belastningsutjämnade slutpunkter och definiera regler för att mappa inkommande anslutningar till serverdelspooldestinationer med TCP- och HTTP-avsökningsalternativ för att hantera tjänstens tillgänglighet.
Scenario
I det här exempelscenariot använder vi en enkel webbplats som hanterar två typer av innehåll: bilder och dynamiskt renderade webbsidor. Webbplatsen måste vara geografiskt redundant och den bör betjäna användarna från den närmaste platsen (lägsta svarstid). Programutvecklaren har beslutat att alla URL:er som matchar mönstret /images/* hanteras från en dedikerad pool med virtuella datorer som skiljer sig från resten av webbgruppen.
Dessutom måste standardpoolen för virtuella datorer som betjänar det dynamiska innehållet kommunicera med en serverdelsdatabas som finns i ett kluster med hög tillgänglighet. Hela distributionen konfigureras via Azure Resource Manager.
Med Hjälp av Traffic Manager, Application Gateway och Load Balancer kan du aktivera den här webbplatsen för att uppnå följande designmål:
- Redundans med flera geografiska områden: Om en region slutar fungera dirigerar Traffic Manager trafiken sömlöst till den närmaste regionen utan några åtgärder från programägaren.
- Kortare svarstid: Eftersom Traffic Manager automatiskt dirigerar kunden till den närmaste regionen får kunden lägre svarstid när de begär innehållet på webbsidan.
- Oberoende skalbarhet: Eftersom arbetsbelastningen för webbprogram avgränsas med typ av innehåll kan programägaren skala arbetsbelastningarna för begäran oberoende av varandra. Application Gateway säkerställer att trafiken dirigeras till rätt pooler baserat på de angivna reglerna och programmets hälsotillstånd.
- Intern belastningsutjämning: Eftersom Load Balancer ligger framför klustret med hög tillgänglighet är det bara den aktiva och felfria slutpunkten för en databas som exponeras för programmet. Dessutom kan en databasadministratör optimera arbetsbelastningen genom att distribuera aktiva och passiva repliker över klustret oberoende av klientdelsprogrammet. Load Balancer levererar anslutningar till klustret med hög tillgänglighet och ser till att endast felfria databaser tar emot anslutningsbegäranden.
Följande diagram visar arkitekturen i det här scenariot:
Kommentar
Det här exemplet är bara en av många möjliga konfigurationer av de belastningsutjämningstjänster som Azure erbjuder. Traffic Manager, Application Gateway och Load Balancer kan blandas och matchas efter dina belastningsutjämningsbehov. Om t.ex. TLS-avlastning eller Layer 7-bearbetning inte behövs kan Load Balancer användas i stället för Application Gateway.
Konfigurera belastningsutjämningsstacken
Steg 1: Skapa en Traffic Manager-profil
I Azure-portalen klickar du på Skapa en resurs Skapa en traffic manager-profil> för nätverk.>>
Ange följande grundläggande information:
- Namn: Ge Traffic Manager-profilen ett DNS-prefixnamn.
- Routningsmetod: Välj principen för trafikroutningsmetod. Mer information om metoderna finns i Om Traffic Manager-trafikroutningsmetoder.
- Prenumeration: Välj den prenumeration som innehåller profilen.
- Resursgrupp: Välj den resursgrupp som innehåller profilen. Det kan vara en ny eller befintlig resursgrupp.
- Resursgruppsplats: Traffic Manager-tjänsten är global och inte bunden till en plats. Du måste dock ange en region för den grupp där metadata som är associerade med Traffic Manager-profilen finns. Den här platsen påverkar inte profilens körningstillgänglighet.
Klicka på Skapa för att generera Traffic Manager-profilen.
Steg 2: Skapa programgatewayerna
Klicka på Skapa en resurs>Nätverksprogramgateway>i den vänstra rutan i Azure-portalen.
Ange följande grundläggande information om programgatewayen:
- Namn: Namnet på programgatewayen.
- SKU-storlek: Storleken på programgatewayen, tillgänglig som Liten, Medel eller Stor.
- Antal instanser: Antalet instanser, ett värde från 2 till 10.
- Resursgrupp: Den resursgrupp som innehåller programgatewayen. Det kan vara en befintlig resursgrupp eller en ny.
- Plats: Regionen för programgatewayen, som är samma plats som resursgruppen. Platsen är viktig eftersom det virtuella nätverket och den offentliga IP-adressen måste finnas på samma plats som gatewayen.
Klicka på OK.
Definiera konfigurationerna för virtuellt nätverk, undernät, klientdels-IP och lyssnare för programgatewayen. I det här scenariot är klientdelens IP-adress Offentlig, vilket gör att den kan läggas till som en slutpunkt i Traffic Manager-profilen senare.
Kommentar
Om du använder HTTPS väljer du HTTPS bredvid Protokoll på fliken Lyssnare. Standardalternativet är HTTP. Du måste också skapa och tilldela ett SSL-certifikat. Mer information finns i Application Gateway-självstudien för SSL.
Konfigurera URL-routning för programgatewayer
När du väljer en serverdelspool får en programgateway som har konfigurerats med en sökvägsbaserad regel ett sökvägsmönster för begärande-URL:en utöver resursallokeringsdistribution. I det här scenariot lägger vi till en sökvägsbaserad regel för att dirigera alla URL:er med "/images/*" till avbildningsserverpoolen. Mer information om hur du konfigurerar URL-sökvägsbaserad routning för en programgateway finns i Skapa en sökvägsbaserad regel för en programgateway.
Från resursgruppen går du till instansen av programgatewayen som du skapade i föregående avsnitt.
Under Inställningar väljer du Serverdelspooler och sedan Lägg till för att lägga till de virtuella datorer som du vill associera med serverdelspoolerna på webbnivån.
Ange namnet på serverdelspoolen och alla IP-adresser för datorerna som finns i poolen. I det här scenariot ansluter vi två serverdelsserverpooler med virtuella datorer.
Under Inställningar av programgatewayen väljer du Regler och klickar sedan på knappen Sökvägsbaserad för att lägga till en regel.
Konfigurera regeln genom att ange följande information.
Grundläggande inställningar:
- Namn: Det egna namnet på regeln som är tillgänglig i portalen.
- Lyssnare: Lyssnaren som används för regeln.
- Standardserverdelspool: Serverdelspoolen som ska användas med standardregeln.
- Standardinställningar för HTTP: HTTP-inställningarna som ska användas med standardregeln.
Sökvägsbaserade regler:
- Namn: Det egna namnet på den sökvägsbaserade regeln.
- Sökvägar: Sökvägsregeln som används för vidarebefordran av trafik.
- Serverdelspool: Serverdelspoolen som ska användas med den här regeln.
- HTTP-inställning: DE HTTP-inställningar som ska användas med den här regeln.
Viktigt!
Sökvägar: Giltiga sökvägar måste börja med "/". Jokertecknet "*" tillåts endast i slutet. Giltiga exempel är /xyz, /xyz*eller /xyz/*.
Steg 3: Lägga till programgatewayer till Traffic Manager-slutpunkterna
I det här scenariot är Traffic Manager anslutet till programgatewayer (enligt konfigurationen i föregående steg) som finns i olika regioner. Nu när programgatewayerna har konfigurerats är nästa steg att ansluta dem till din Traffic Manager-profil.
Öppna Traffic Manager-profilen. Det gör du genom att titta i resursgruppen eller söka efter namnet på Traffic Manager-profilen från Alla resurser.
I den vänstra rutan väljer du Slutpunkter och klickar sedan på Lägg till för att lägga till en slutpunkt.
Skapa en slutpunkt genom att ange följande information:
- Typ: Välj den typ av slutpunkt som ska lastbalanseras. I det här scenariot väljer du Azure-slutpunkt eftersom vi ansluter den till de programgatewayinstanser som konfigurerades tidigare.
- Namn: Ange namnet på slutpunkten.
- Målresurstyp: Välj Offentlig IP-adress och välj sedan den offentliga IP-adressen för den programgateway som konfigurerades tidigare under Målresurs.
Nu kan du testa konfigurationen genom att komma åt den med DNS för din Traffic Manager-profil (i det här exemplet:
TrafficManagerScenario.trafficmanager.net
). Du kan skicka begäranden igen, ta upp virtuella datorer eller ta bort virtuella datorer och webbservrar som har skapats i olika regioner. Du kan också ändra och testa olika Traffic Manager-profilinställningar.
Steg 4: Skapa en lastbalanserare
I det här scenariot distribuerar Load Balancer anslutningar från webbnivån till databaserna i ett kluster med hög tillgänglighet.
Om ditt databaskluster med hög tillgänglighet använder SQL Server AlwaysOn läser du Konfigurera en eller flera AlwaysOn-lyssnare för tillgänglighetsgrupp för stegvisa instruktioner.
Mer information om hur du konfigurerar en intern lastbalanserare finns i Skapa en intern lastbalanserare i Azure-portalen.
- Klicka på Skapa en resurs>Nätverksbelastningsbalanserare> i den vänstra rutan i Azure-portalen.
- Välj ett namn för lastbalanseraren.
- Ange Typ till Intern och välj lämpligt virtuellt nätverk och undernät som lastbalanseraren ska finnas i.
- Under IP-adresstilldelning väljer du antingen Dynamisk eller Statisk.
- Under Resursgrupp väljer du resursgruppen för lastbalanseraren.
- Under Plats väljer du lämplig region för lastbalanseraren.
- Klicka på Skapa för att generera lastbalanseraren.
Anslut en serverdelsdatabasnivå till lastbalanseraren
Leta reda på lastbalanseraren som skapades i föregående steg från resursgruppen.
Under Inställningar klickar du på Serverdelspooler och sedan på Lägg till för att lägga till en serverdelspool.
Ange namnet på serverdelspoolen.
Lägg till enskilda datorer eller en tillgänglighetsuppsättning i serverdelspoolen.
Konfigurera en avsökning
I lastbalanseraren under Inställningar väljer du Avsökningar och klickar sedan på Lägg till för att lägga till en avsökning.
Ange namnet på avsökningen.
Välj Protokollet för avsökningen. För en databas kanske du vill ha en TCP-avsökning i stället för en HTTP-avsökning. Mer information om avsökningar för lastbalanserare finns i Förstå lastbalanserares avsökningar.
Ange den port för databasen som ska användas för att komma åt avsökningen.
Under Intervall anger du hur ofta programmet ska avsökas.
Under Tröskelvärde för ej felfri anger du antalet kontinuerliga avsökningsfel som måste inträffa för att den virtuella serverdelsdatorn ska betraktas som felaktig.
Klicka på OK för att skapa avsökningen.
Konfigurera regler för belastningsutjämning
- Under Inställningar för lastbalanseraren väljer du Belastningsutjämningsregler och klickar sedan på Lägg till för att skapa en regel.
- Ange namnet på belastningsutjämningsregeln.
- Välj klientdelens IP-adress för lastbalanseraren, protokollet och porten.
- Under Serverdelsport anger du den port som ska användas i serverdelspoolen.
- Välj serverdelspoolen och avsökningen som skapades i föregående steg för att tillämpa regeln på.
- Under Sessionspersistence väljer du hur du vill att sessionerna ska bevaras.
- Under Tidsgränser för inaktivitet anger du antalet minuter före tidsgränsen för inaktivitet.
- Under Flytande IP väljer du antingen Inaktiverad eller Aktiverad.
- Skapa regeln genom att klicka på OK.
Steg 5: Anslut virtuella datorer på webbnivå till lastbalanseraren
Nu konfigurerar vi IP-adressen och lastbalanserarens klientdelsport i de program som körs på dina virtuella datorer på webbnivå för alla databasanslutningar. Den här konfigurationen är specifik för de program som körs på dessa virtuella datorer. Information om hur du konfigurerar mål-IP-adressen och porten finns i programdokumentationen. Om du vill hitta IP-adressen för klientdelen går du till klientdelens IP-pool i inställningarna för lastbalanseraren i Azure-portalen.