Oprettelse og konfiguration af programgateway
Application Gateway består af en række komponenter, der kombineres for at dirigere anmodninger til en pulje af webservere og for at kontrollere tilstanden af disse webservere. Lad os se på, hvordan disse komponenter er relateret, og hvilken rolle de spiller i en programgateway.
Frontend-IP-adresse
Klientanmodninger modtages via en frontend-IP-adresse. Du kan konfigurere Application Gateway til at have en offentlig IP-adresse, en privat IP-adresse eller begge dele. Application Gateway kan ikke have mere end én offentlig og én privat IP-adresse.
Lyttere
Application Gateway bruger en eller flere lyttere til at modtage indgående anmodninger. En lytter accepterer trafik, der ankommer på en angivet kombination af protokol, port, vært og IP-adresse. Hver lyttefunktion sender anmodninger til en back end-pulje af servere, der følger de distributionsregler, du angiver. En lyttefunktion kan være Basic- eller med flere websteder . En grundlæggende lyttefunktion distribuerer kun en anmodning baseret på stien i URL-adressen. En lyttefunktion med flere websteder kan også dirigere anmodninger ved hjælp af værtsnavnelementet i URL-adressen.
Lyttere håndterer også SSL-certifikater til sikring af dit program mellem brugeren og Application Gateway.
Distributionsregler
En routingregel binder en lytter til back end-grupperne. En regel angiver, hvordan værtsnavnet og stielementerne i URL-adressen til en anmodning skal fortolkes, og hvordan anmodningen dirigeres til den relevante back end-gruppe. En distributionsregel har også et tilknyttet sæt HTTP-indstillinger. Disse indstillinger angiver, om (og hvordan) trafik krypteres mellem Application Gateway og back end-serverne og andre konfigurationsoplysninger, f.eks.:
- Protocol (HTTP eller HTTPS).
- Sessions-stickiness til at overføre alle anmodninger i en klientsession til den samme webserver i stedet for at distribuere dem på tværs af servere med justering af belastning.
- Forbindelsesafløb for at gøre det muligt at fjerne servere fra en back end-gruppe.
- Timeoutperiode for anmodning i sekunder.
- Tilstandssonder, der angiver en URL-adresse til en sonde, timeoutperioder og andre parametre, der bruges til at bestemme, om en server i back end-gruppen er tilgængelig.
Back end-puljer
En back end-gruppe refererer til en samling webservere. Du angiver IP-adressen på hver webserver og den port, hvor den lytter efter anmodninger, når gruppen konfigureres. Hver gruppe kan angive et fast sæt virtuelle maskiner, et skaleringssæt for en virtuel maskine, en app, der hostes af Azure App Services, eller en samling af lokale servere. Hver back end-gruppe har en tilknyttet belastningsjustering, der distribuerer arbejde på tværs af gruppen
Firewall til webprogram
Den webprogramfirewall (WAF) er en valgfri komponent, der håndterer indgående anmodninger, før de når en lytter. Firewallen til webprogrammet kontrollerer hver anmodning for mange almindelige trusler baseret på OWASP (Open Web Application Security Project). Disse omfatter:
- SQL-injektion
- Scripting på tværs af websteder
- Kommandoinjektion
- Smugling af HTTP-anmodning
- Opdeling af HTTP-svar
- Medtagelse af fjernfil
- Robotter, crawlere og scannere
- HTTP-protokolovertrædelser og uregelmæssigheder
OWASP har defineret et sæt generiske regler for registrering af angreb, der kaldes CRS (Core Rule Set). Regelsættene gennemgås løbende, efterhånden som angreb udvikler sig i sofistikeret form. WAF understøtter to regelsæt, CRS 2.2.9 og CRS 3.0. CRS 3.0 er standarden og nyere af disse regelsæt. Hvis det er nødvendigt, kan du vælge kun at vælge bestemte regler i et regelsæt, der er målrettet mod visse trusler. Derudover kan du tilpasse firewallen for at angive, hvilke elementer i en anmodning der skal undersøges, og begrænse størrelsen af meddelelser for at forhindre, at massive uploads overbelaster dine servere.
Du kan aktivere WAF på din programgateway ved at vælge det WAF
niveau, når du opretter en gateway.
Sundhedsmæssige sonder
Tilstandstest er et vigtigt element i at hjælpe belastningsjusteringen med at afgøre, hvilke servere der er tilgængelige til justering af belastning i en back end-gruppe. Application Gateway bruger en tilstandssonde til at sende en anmodning til en server. Hvis serveren returnerer et HTTP-svar med en statuskode mellem 200 og 399, anses serveren for at være i orden.
Hvis du ikke konfigurerer en tilstandssonde, opretter Application Gateway en standardsonde, der venter i 30 sekunder, før det besluttes, at en server ikke er tilgængelig.
Krav til application Gateway-netværk
Application Gateway kræver et virtuelt netværk for at fungere. Du skal oprette dette virtuelle netværk og et dedikeret undernet, før du konfigurerer Application Gateway. Application Gateway bruger en række private adresser til intern brug og til kommunikation med hver forekomst, hvis gatewayen skaleres ud. Hvis du f.eks. planlægger at skalere ud til fire instanser, skal du oprette et undernet med en størrelse på /28. Hvis du sandsynligvis vil skalere til flere forekomster, skal du oprette et større undernet.
Du kan fremvise Application Gateway via en offentlig IP-adresse, eller du kan holde den privat ved kun at give den en privat IP-adresse i et virtuelt netværk. Dette er nyttigt, hvis du har interne websteder, som du vil bruge Application Gateway til at levere belastningsjustering.
Indstillinger for programgateway
Du kan oprette en programgateway på Standard--niveauet eller WAF--niveauet. Du kan også vælge mellem tre størrelser med forskellig ydeevne, pris og skalerbarhed: Lille, Mellem og Stor.
Niveauerne Standard og WAF fås i to versioner, V1 og V2. V2 understøtter Tilgængelighedszoner i Azure, men er i øjeblikket en prøveversion.
Application Gateway understøtter manuel skalering og automatisk skalering. Hvis du vælger automatisk skalering, skaleres Application Gateway automatisk ud og ind i henhold til programtrafikken. Du kan begrænse det maksimale og mindste antal forekomster af Application Gateway.
Opret og konfigurer en gateway
Du kan oprette og konfigurere Application Gateway ved hjælp af Azure Portal, Azure PowerShell eller Azure CLI. Brug kommandoen az network application-gateway create
til azure-kommandolinjegrænsefladen til at oprette en ny gateway. Hvis du foretrækker PowerShell, kan du bruge cmdlet'en New-AzApplicationGateway
. Du kan også bruge Azure Portal til at udføre de fleste handlinger.
Du kan undersøge og ændre konfigurationen af komponenterne i en gateway ved hjælp af kommandoerne az network application-gateway http-listener
, az network application-gateway rule
, az network application-gateway address-pool
, az network application-gateway http-settings
og az network application-gateway front-end-port
fra kommandolinjegrænsefladen i Azure.
Get-AzApplicationGateway*
- og Set-AzApplicationGateway*
-serien af cmdlet'er leverer de samme handlinger til PowerShell.
Lad os oprette og konfigurere en programgateway for de websteder for bilafdelingen, vi har installeret.