Een geografisch gedistribueerde netwerkarchitectuur ontwerpen

Voltooid

In een gedistribueerde app is het essentieel om ervoor te zorgen dat onderdelen betrouwbaar kunnen communiceren en aanvragen kunnen worden gerouteerd naar een ander onderdeel of een andere regio wanneer er een fout opgetreden is.

We hebben besloten om de verzendportal in Azure opnieuw te ontwerpen om het beveiligingsprobleem met regionale fouten te verminderen. We willen ervoor zorgen dat de toepassing een failover naar onderdelen in een secundaire regio uitvoert wanneer de primaire regio niet beschikbaar is. De failover moet leiden tot een minimale onderbreking van de servicelevering aan gebruikers.

Hier leert u hoe Azure DNS, Traffic Manager, Front Door en Azure CDN ondersteuning bieden voor de app-architectuur van ons transportbedrijf.

een diagram met gedistribueerde toepassingsnetwerkonderdelen in meerdere regio's.

Azure DNS

Zoals eerder is gezegd, hebben we geen wijzigingen nodig voor onze Azure DNS-implementatie. We gebruiken Azure DNS om de domeinnaamrecords te hosten die onze app identificeren.

Azure DNS biedt naamomzetting volledig via de Azure-infrastructuur. Deze service is inherent multi-regionaal en daarom is het niet nodig om onze bestaande Azure DNS-configuratie te wijzigen ter ondersteuning van de functie in ons nieuwe architectuurontwerp.

De AZURE DNS SLA heeft ook een 100% garantie dat geldige DNS-aanvragen altijd een antwoord ontvangen van ten minste één Azure DNS-naamserver.

Een verkeersrouter kiezen

We hebben een service nodig die verkeer kan verdelen en omleiden over meerdere regio's met gedistribueerde webtoepassingen.

Azure biedt verschillende services waarmee verkeer tussen front-endonderdelen kan worden gerouteerd. Zoals u weet, moeten we onze Azure Application Gateway vervangen omdat deze is gebonden aan één regio. Als deze regio mislukt, hoeft u niets te doen voor de routering.

Er zijn twee verkeersrouters in Azure die globale routering tussen meerdere regio's kunnen uitvoeren en die niet kwetsbaar zijn voor een storing in één regio:

  • Azure Traffic Manager
  • Azure Front Door

Laten we deze services nader bekijken, zodat we de juiste router voor onze toepassing kunnen kiezen.

Wat is Azure Traffic Manager?

Azure Traffic Manager is een globale load balancer die DNS-records gebruikt om verkeer naar bestemmingen in meerdere Azure-regio's te routeren.

We kunnen Traffic Manager configureren om alle aanvragen naar onze primaire regio te routeren en de reactiesnelheid van de App Service in die regio te bewaken. Als de App Service in de primaire regio mislukt, stuurt Traffic Manager gebruikersaanvragen automatisch om naar de App Service in de secundaire regio. Met deze omleiding wordt de failover uitgevoerd die zorgt voor continue service. We noemen deze rangschikking de prioriteitsrouteringsmodus.

Omdat Traffic Manager het DNS-systeem gebruikt om verkeer te routeren, wordt elk protocol gerouteerd, niet alleen HTTP-verkeer. Traffic Manager kan echter geen verkeer routeren of filteren op basis van HTTP-eigenschappen, zoals landcodes van clients of headers van gebruikersagenten. Het kan ook geen TLS-protocolbeëindiging (Transport Layer Security) uitvoeren, waarbij de router aanvragen ontsleutelt en reacties versleutelt om die belasting van de virtuele App Service-servers op te halen. Als we een van deze functies nodig hebben, moeten we Azure Front Door gebruiken.

Traffic Manager maakt gebruik van zeer configureerbare eindpuntbewaking. We kunnen bijvoorbeeld het protocol, de poort, het pad, de aangepaste headerinstellingen, de verwachte statuscodebereiken en het getolereerde aantal fouten definiëren. Eindpuntbewaking geeft ons een doorlopend idee van de algehele status van alle onderdelen van onze toepassing.

prioriteitsmodus van Azure Traffic Manager.

Wat is Azure Front Door?

Net als Traffic Manager is Azure Front Door een globale load balancer. In tegenstelling tot Traffic Manager werkt het op de laag van de netwerktoepassing, Laag 7 en worden HTTP- en HTTPS-eigenschappen gebruikt om filters en routering uit te voeren.

Met Front Door kunnen we veel soorten routering uitvoeren die traffic manager niet ondersteunt. We kunnen bijvoorbeeld verkeer routeren op basis van de landcode van de browser. Front Door biedt ook ondersteuning voor beëindiging van TLS-protocollen.

Er is echter een uitzondering. Als we verkeer willen routeren voor een ander protocol dan HTTP en HTTPS, moeten we Traffic Manager gebruiken.

Met Front Door kunnen we prioriteiten toewijzen aan de verschillende back-ends waaruit de trackingportal bestaat. Met deze prioriteiten kan Front Door aanvragen naar behoefte routeren. We wijzen onze primaire regioservices toe met een hoogste prioriteit en onze secundaire regioservice met een lagere prioriteit.

Front Door implementeert gezondheidsonderzoeken om de status van onze services te controleren, en als er een probleem is, kan het verkeer correct worden gerouteerd. De prioriteitsrouteringsmodus en eindpuntbewaking in Front Door zijn vergelijkbaar met die functies in Traffic Manager, behalve dat statustests altijd via HTTP werken.

Al het verkeer voor de webgebruikersinterface van onze verzendportal en de bijbehorende API's wordt uitgevoerd via HTTPS en stelt ons in staat om Azure Traffic Manager uit te schakelen met Front Door. We kunnen Front Door ook configureren met prioriteitstoewijzing voor de back-end.

Azure CDN

In onze architectuur met één regio hebben we Azure CDN gebruikt om statische inhoud uit Azure Blob Storage in de cache op te slaan. De Azure CDN-service is een globaal netwerk van servers die statische inhoud dicht bij gebruikers in de cache opslaan. Deze service hoeft niet te worden gewijzigd voor de architectuur met meerdere regio's. Er zijn echter overwegingen met betrekking tot ons Azure Storage-account dat we in de volgende les behandelen.

Uw kennis controleren

1.

Wanneer moet u een volledige failover uitvoeren naar een andere regio?

2.

Wat is de SLA voor Azure DNS?