Taakverdelingsservices gebruiken in Azure

Introductie

Microsoft Azure biedt meerdere services voor het beheren van de verdeling van netwerkverkeer en taakverdeling. U kunt deze services afzonderlijk gebruiken of hun methoden combineren, afhankelijk van uw behoeften, om de optimale oplossing te bouwen.

In deze zelfstudie definiëren we eerst een klantgebruikscase en zien we hoe deze robuuster en beter kan worden uitgevoerd met behulp van de volgende Azure-taakverdelingsportfolio: Traffic Manager, Application Gateway en Load Balancer. Vervolgens bieden we stapsgewijze instructies voor het maken van een implementatie die geografisch redundant is, verkeer naar VM's distribueert en u helpt bij het beheren van verschillende soorten aanvragen.

Op conceptueel niveau speelt elk van deze services een afzonderlijke rol in de taakverdelingshiërarchie.

  • Traffic Manager biedt globale DNS-taakverdeling. Het kijkt naar binnenkomende DNS-aanvragen en reageert met een goed eindpunt, in overeenstemming met het routeringsbeleid dat de klant heeft geselecteerd. Opties voor routeringsmethoden zijn:

    • Routering van prestaties om de aanvrager naar het dichtstbijzijnde eindpunt te verzenden in termen van latentie.
    • Prioriteitsroutering om al het verkeer naar een eindpunt te leiden, met andere eindpunten als back-up.
    • Gewogen round robin-routering, waarmee verkeer wordt verdeeld op basis van de weging die aan elk eindpunt is toegewezen.
    • Routering op basis van geografie om het verkeer te distribueren naar uw toepassingseindpunten op basis van de geografische locatie van de gebruiker.
    • Subnetgebaseerde routering om het verkeer naar uw toepassingseindpunten te distribueren op basis van het subnet (IP-adresbereik) van de gebruiker.
    • Routering met meerdere waarden waarmee u IP-adressen van meer dan één toepassingseindpunt in één DNS-antwoord kunt verzenden.

    De client maakt rechtstreeks verbinding met het eindpunt dat door Traffic Manager wordt geretourneerd. Azure Traffic Manager detecteert wanneer een eindpunt niet in orde is en leidt de clients vervolgens om naar een ander goed functionerend exemplaar. Raadpleeg de documentatie van Azure Traffic Manager voor meer informatie over de service.

  • Application Gateway biedt ADC (Application Delivery Controller) als een service en biedt verschillende taakverdelingsmogelijkheden voor laag 7 voor uw toepassing. Hiermee kunnen klanten de productiviteit van de webfarm optimaliseren door CPU-intensieve TLS-beëindiging naar de toepassingsgateway te offloaden. Andere routeringsmogelijkheden op laag 7 omvatten round robin-distributie van binnenkomend verkeer, sessieaffiniteit op basis van cookies, routering op basis van URL-pad en de mogelijkheid om meerdere websites achter één toepassingsgateway te hosten. Application Gateway kan worden geconfigureerd als een internetgerichte gateway, een interne gateway of een combinatie van beide. Application Gateway is volledig door Azure beheerd, schaalbaar en maximaal beschikbaar. Het biedt een uitgebreide verzameling diagnostische gegevens en functies voor logboekregistratie voor betere beheersbaarheid.

  • Load Balancer is een integraal onderdeel van de Azure SDN-stack en biedt laag 4-taakverdelingsservices met hoge prestaties en lage latentie voor alle UDP- en TCP-protocollen. Hiermee worden binnenkomende en uitgaande verbindingen beheerd. U kunt openbare en interne load-balancedeindpunten configureren en regels definiëren om binnenkomende verbindingen toe te wijzen aan back-end-poolbestemmingen met behulp van TCP- en HTTP-opties voor statustesten om de beschikbaarheid van de service te beheren.

Scenario

In dit voorbeeldscenario gebruiken we een eenvoudige website met twee typen inhoud: afbeeldingen en dynamisch weergegeven webpagina's. De website moet geografisch redundant zijn en moet de gebruikers bedienen vanaf de dichtstbijzijnde locatie (laagste latentie). De ontwikkelaar van de toepassing heeft besloten dat URL's die overeenkomen met het patroon /images/* worden geleverd vanuit een toegewezen pool met VM's die afwijken van de rest van de webfarm.

Daarnaast moet de standaard-VM-pool voor de dynamische inhoud communiceren met een back-enddatabase die wordt gehost op een cluster met hoge beschikbaarheid. De volledige implementatie wordt ingesteld via Azure Resource Manager.

Met Traffic Manager, Application Gateway en Load Balancer kan deze website de volgende ontwerpdoelen bereiken:

  • Multi-geo redundantie: als één regio uitvalt, routeert Traffic Manager verkeer naadloos naar de dichtstbijzijnde regio zonder tussenkomst van de eigenaar van de toepassing.
  • Verminderde latentie: Omdat Traffic Manager de klant automatisch naar de dichtstbijzijnde regio leidt, ervaart de klant een lagere latentie bij het aanvragen van de inhoud van de webpagina.
  • Onafhankelijke schaalbaarheid: omdat de workload van de webtoepassing wordt gescheiden door het type inhoud, kan de eigenaar van de toepassing de aanvraagworkloads onafhankelijk van elkaar schalen. Application Gateway zorgt ervoor dat het verkeer wordt doorgestuurd naar de juiste groepen op basis van de opgegeven regels en de status van de toepassing.
  • Interne taakverdeling: omdat Load Balancer zich vóór het cluster met hoge beschikbaarheid bevindt, wordt alleen het actieve en gezonde eindpunt voor een database blootgesteld aan de toepassing. Daarnaast kan een databasebeheerder de workload optimaliseren door actieve en passieve replica's over het cluster te distribueren, onafhankelijk van de front-endtoepassing. Load Balancer levert verbindingen met het cluster met hoge beschikbaarheid en zorgt ervoor dat alleen gezonde databases verbindingsaanvragen ontvangen.

In het volgende diagram ziet u de architectuur van dit scenario:

Diagram van de architectuur voor taakverdeling

Notitie

Dit voorbeeld is slechts een van de vele mogelijke configuraties van de taakverdelingsservices die Azure biedt. Traffic Manager, Application Gateway en Load Balancer kunnen worden gemengd en afgestemd op uw taakverdelingsbehoeften. Als TLS-offload- of Laag 7-verwerking bijvoorbeeld niet nodig is, kan Load Balancer worden gebruikt in plaats van Application Gateway.

De taakverdelingsstack instellen

Stap 1: een Traffic Manager-profiel maken

  1. Klik in de Azure Portal op Een resource> makenNetwerk-Traffic>Manager-profiel>maken.

  2. Voer de volgende basisgegevens in:

    • Naam: geef uw Traffic Manager-profiel een DNS-voorvoegselnaam.
    • Routeringsmethode: selecteer het beleid voor de verkeersrouteringsmethode. Zie Verkeersrouteringsmethoden van Traffic Manager voor meer informatie over de methoden.
    • Abonnement: selecteer het abonnement dat het profiel bevat.
    • Resourcegroep: selecteer de resourcegroep die het profiel bevat. Dit kan een nieuwe of bestaande resourcegroep zijn.
    • Locatie van resourcegroep: Traffic Manager-service is globaal en niet gebonden aan een locatie. U moet echter een regio opgeven voor de groep waarin de metagegevens die zijn gekoppeld aan het Traffic Manager-profiel zich bevinden. Deze locatie heeft geen invloed op de runtime-beschikbaarheid van het profiel.
  3. Klik op Maken om het Traffic Manager-profiel te genereren.

    Blade Traffic Manager maken

Stap 2: de toepassingsgateways maken

  1. Klik in het Azure Portal in het linkerdeelvenster op Een resource> makenNetwerken>Application Gateway.

  2. Voer de volgende basisinformatie in over de toepassingsgateway:

    • Naam: de naam van de toepassingsgateway.
    • SKU-grootte: de grootte van de toepassingsgateway, beschikbaar als Klein, Normaal of Groot.
    • Aantal exemplaren: Het aantal exemplaren, een waarde van 2 tot en met 10.
    • Resourcegroep: de resourcegroep die de toepassingsgateway bevat. Dit kan een bestaande of een nieuwe resourcegroep zijn.
    • Locatie: de regio voor de toepassingsgateway, die dezelfde locatie is als de resourcegroep. De locatie is belangrijk, omdat het virtuele netwerk en het openbare IP-adres zich op dezelfde locatie als de gateway moeten bevinden.
  3. Klik op OK.

  4. Definieer de configuraties van het virtuele netwerk, subnet, front-end-IP en listener voor de toepassingsgateway. In dit scenario is het front-end-IP-adres Openbaar, zodat het later als eindpunt aan het Traffic Manager-profiel kan worden toegevoegd.

  5. Configureer de listener met een van de volgende opties:

    • Als u HTTP gebruikt, hoeft u niets te configureren. Klik op OK.
    • Als u HTTPS gebruikt, is verdere configuratie vereist. Raadpleeg Een toepassingsgateway maken vanaf stap 9. Wanneer u de configuratie hebt voltooid, klikt u op OK.

URL-routering configureren voor toepassingsgateways

Wanneer u een back-endpool kiest, gebruikt een toepassingsgateway die is geconfigureerd met een op pad gebaseerde regel een padpatroon van de aanvraag-URL naast round robin-distributie. In dit scenario voegen we een padgebaseerde regel toe om een URL met '/images/*' naar de servergroep van de installatiekopieën te leiden. Raadpleeg Een op pad gebaseerde regel maken voor een toepassingsgateway voor meer informatie over het configureren van routering op basis van een URL-pad voor een toepassingsgateway.

Application Gateway weblaagdiagram

  1. Ga vanuit uw resourcegroep naar het exemplaar van de toepassingsgateway die u in de vorige sectie hebt gemaakt.

  2. Selecteer onder Instellingende optie Back-endpools en selecteer vervolgens Toevoegen om de VM's toe te voegen die u wilt koppelen aan de back-endpools in de weblaag.

  3. Voer de naam in van de back-endgroep en alle IP-adressen van de computers die zich in de groep bevinden. In dit scenario verbinden we twee back-endserverpools van virtuele machines.

    Application Gateway back-endpool toevoegen

  4. Selecteer onder Instellingen van de toepassingsgateway de optie Regels en klik vervolgens op de knop Pad om een regel toe te voegen.

    Application Gateway knop Regels op basis van pad

  5. Configureer de regel door de volgende informatie op te geven.

    Basisinstellingen:

    • Naam: de beschrijvende naam van de regel die toegankelijk is in de portal.
    • Listener: de listener die wordt gebruikt voor de regel.
    • Standaardback-endpool: de back-endpool die moet worden gebruikt met de standaardregel.
    • Standaard-HTTP-instellingen: de HTTP-instellingen die moeten worden gebruikt met de standaardregel.

    Regels op basis van pad:

    • Naam: De beschrijvende naam van de regel op basis van een pad.
    • Paden: de padregel die wordt gebruikt voor het doorsturen van verkeer.
    • Back-endpool: de back-endpool die moet worden gebruikt met deze regel.
    • HTTP-instelling: de HTTP-instellingen die moeten worden gebruikt met deze regel.

    Belangrijk

    Paden: geldige paden moeten beginnen met '/'. Het jokerteken *is alleen toegestaan aan het einde. Geldige voorbeelden zijn /xyz, /xyz*, of /xyz/*.

    Application Gateway blade 'Padgebaseerde regel toevoegen'

Stap 3: toepassingsgateways toevoegen aan de Traffic Manager-eindpunten

In dit scenario is Traffic Manager verbonden met toepassingsgateways (zoals geconfigureerd in de voorgaande stappen) die zich in verschillende regio's bevinden. Nu de toepassingsgateways zijn geconfigureerd, is de volgende stap om ze te verbinden met uw Traffic Manager-profiel.

  1. Open uw Traffic Manager-profiel. Als u dit wilt doen, zoekt u in uw resourcegroep of zoekt u naar de naam van het Traffic Manager-profiel in Alle resources.

  2. Selecteer in het linkerdeelvenster Eindpunten en klik vervolgens op Toevoegen om een eindpunt toe te voegen.

    Knop Toevoegen voor Traffic Manager-eindpunten

  3. Maak een eindpunt door de volgende gegevens in te voeren:

    • Type: Selecteer het type eindpunt dat u wilt verdelen. In dit scenario selecteert u Azure-eindpunt omdat dit wordt verbonden met de eerder geconfigureerde exemplaren van de toepassingsgateway.
    • Naam: voer de naam van het eindpunt in.
    • Doelresourcetype: selecteer Openbaar IP-adres en selecteer vervolgens onder Doelresource het openbare IP-adres van de toepassingsgateway die eerder is geconfigureerd.

    Traffic Manager 'Eindpunt toevoegen'

  4. U kunt nu uw installatie testen door deze te openen met de DNS van uw Traffic Manager-profiel (in dit voorbeeld: TrafficManagerScenario.trafficmanager.net). U kunt aanvragen opnieuw verzenden, VM's en webservers die in verschillende regio's zijn gemaakt, weergeven of verwijderen en de Traffic Manager-profielinstellingen wijzigen om uw installatie te testen.

Stap 4: een load balancer maken

In dit scenario distribueert Load Balancer verbindingen van de weblaag naar de databases in een cluster met hoge beschikbaarheid.

Als uw databasecluster met hoge beschikbaarheid gebruikmaakt van SQL Server AlwaysOn, raadpleegt u Een of meer AlwaysOn-beschikbaarheidsgroeplisteners configureren voor stapsgewijze instructies.

Zie Een interne load balancer maken in de Azure Portal voor meer informatie over het configureren van een interne load balancer.

  1. Klik in het Azure Portal in het linkerdeelvenster op Een resource>maken Netwerk>load balancer.
  2. Kies een naam voor de load balancer.
  3. Stel het type in op Intern en kies het juiste virtuele netwerk en subnet voor de load balancer waarin u zich wilt bevinden.
  4. Selecteer onder IP-adrestoewijzingde optie Dynamisch of Statisch.
  5. Kies onder Resourcegroep de resourcegroep voor de load balancer.
  6. Kies onder Locatie de juiste regio voor de load balancer.
  7. Klik op Maken om de load balancer te genereren.

Een back-enddatabaselaag verbinden met de load balancer

  1. Zoek vanuit de resourcegroep de load balancer die in de vorige stappen is gemaakt.

  2. Klik onder Instellingen op Back-endpools en klik vervolgens op Toevoegen om een back-endpool toe te voegen.

    Load Balancer back-endpool toevoegen

  3. Voer de naam van de back-endpool in.

  4. Voeg afzonderlijke machines of een beschikbaarheidsset toe aan de back-endpool.

Een test configureren

  1. Selecteer in de load balancer onder Instellingen de optie Tests en klik vervolgens op Toevoegen om een test toe te voegen.

    Load Balancer test toevoegen

  2. Voer de naam voor de test in.

  3. Selecteer het protocol voor de test. Voor een database wilt u mogelijk een TCP-test in plaats van een HTTP-test. Raadpleeg Load balancer-tests begrijpen voor meer informatie over load balancer-tests.

  4. Voer de poort van de database in die moet worden gebruikt voor toegang tot de test.

  5. Geef onder Interval op hoe vaak de toepassing moet worden onderzocht.

  6. Geef onder Drempelwaarde voor niet in orde het aantal continue testfouten op dat moet optreden om de back-end-VM als beschadigd te laten beschouwen.

  7. Klik op OK om de test te maken.

De taakverdelingsregels configureren

  1. Selecteer onder Instellingen van de load balancer de optie Taakverdelingsregels en klik vervolgens op Toevoegen om een regel te maken.
  2. Voer de Naam in voor de taakverdelingsregel.
  3. Kies het IP-adres van de front-end van de load balancer, het protocol en de poort.
  4. Geef onder Back-endpoort de poort op die moet worden gebruikt in de back-endpool.
  5. Selecteer de back-endpool en de test die in de vorige stappen zijn gemaakt om de regel op toe te passen.
  6. Kies onder Sessiepersistentie hoe u de sessies wilt behouden.
  7. Geef onder Time-outs voor inactiviteit het aantal minuten op voor een time-out voor inactiviteit.
  8. Selecteer onder Zwevend IPde optie Uitgeschakeld of Ingeschakeld.
  9. Klik op OK om de regel te maken.

Stap 5: Virtuele machines in weblagen verbinden met de load balancer

Nu configureren we het IP-adres en de front-endpoort van de load balancer in de toepassingen die worden uitgevoerd op uw weblaag-VM's voor databaseverbindingen. Deze configuratie is specifiek voor de toepassingen die op deze VM's worden uitgevoerd. Raadpleeg de documentatie van de toepassing om het doel-IP-adres en de poort te configureren. Als u het IP-adres van de front-end wilt vinden, gaat u in de Azure Portal naar de front-end-IP-groep in de load balancer-instellingen.

Load Balancer navigatiedeelvenster Front-end-IP-adresgroep

Volgende stappen