API-gateway in Azure API Management

VAN TOEPASSING OP: Alle API Management-lagen

Dit artikel bevat informatie over de rollen en functies van het API Management-gatewayonderdeel en vergelijkt de gateways die u kunt implementeren.

Verwante informatie:

Rol van de gateway

De API Management-gateway (ook wel gegevensvlak of runtime genoemd) is het serviceonderdeel dat verantwoordelijk is voor het proxyen van API-aanvragen, het toepassen van beleid en het verzamelen van telemetriegegevens.

Met name de gateway:

  • Fungeert als een façade naar back-endservices door API-aanroepen te accepteren en door te sturen naar de juiste back-ends
  • Controleert API-sleutels en andere referenties, zoals JWT-tokens en certificaten die worden weergegeven met aanvragen
  • Hiermee worden gebruiksquota en frequentielimieten afgedwongen
  • Optioneel aanvragen en antwoorden transformeren zoals opgegeven in beleidsinstructies
  • Indien geconfigureerd, slaat u reacties in de cache op om de reactielatentie te verbeteren en de belasting van back-endservices te minimaliseren
  • Verzendt logboeken, metrische gegevens en traceringen voor bewaking, rapportage en probleemoplossing

Notitie

Alle aanvragen voor de API Management-gateway, inclusief aanvragen die zijn geweigerd door beleidsconfiguraties, tellen mee voor geconfigureerde frequentielimieten, quota en factureringslimieten als deze worden toegepast in de servicelaag.

Beheerd en zelf-hostend

API Management biedt beheerde en zelf-hostende gateways:

  • Beheerd : de beheerde gateway is het standaardgatewayonderdeel dat wordt geïmplementeerd in Azure voor elk API Management-exemplaar in elke servicelaag. Met de beheerde gateway stroomt al het API-verkeer via Azure, ongeacht waar back-ends die de API's implementeren, worden gehost.

    Notitie

    Vanwege verschillen in de onderliggende servicearchitectuur hebben de gateways in de verschillende API Management-servicelagen enkele verschillen in mogelijkheden. Zie de sectie Functievergelijking: Beheerde versus zelf-hostende gateways voor meer informatie.

  • Zelf-hostend : de zelf-hostende gateway is een optionele, containerversie van de standaard beheerde gateway die beschikbaar is in bepaalde servicelagen. Het is handig voor hybride en multicloudscenario's waarbij er een vereiste is om de gateways uit te voeren buiten Azure in dezelfde omgevingen waar API-back-ends worden gehost. Met de zelf-hostende gateway kunnen klanten met een hybride IT-infrastructuur API's beheren die on-premises en in clouds worden gehost vanuit één API Management-service in Azure.

    • De zelf-hostende gateway wordt verpakt als een Docker-container op basis van Linux en wordt vaak geïmplementeerd in Kubernetes, met inbegrip van Azure Kubernetes Service en Kubernetes met Azure Arc.

    • Elke zelf-hostende gateway is gekoppeld aan een gatewayresource in een cloudexemplaar van API Management waaruit configuratie-updates worden ontvangen en de status communiceert.

Belangrijk

Ondersteuning voor zelf-hostende gatewayversie 0 en versie 1 van Azure API Management eindigt op 1 oktober 2023, samen met de bijbehorende Configuratie-API v1. Gebruik onze migratiehandleiding voor het gebruik van zelf-hostende gateway v2.0.0 of hoger met configuration-API v2. Meer informatie vindt u in onze documentatie over afschaffing

Functievergelijking: Beheerde versus zelf-hostende gateways

In de volgende tabellen worden functies vergeleken die beschikbaar zijn in de volgende API Management-gateways:

  • Klassiek : de beheerde gateway die beschikbaar is in de servicelagen Developer, Basic, Standard en Premium (voorheen gegroepeerd als toegewezen lagen)
  • V2 : de beheerde gateway die beschikbaar is in de lagen Basic v2 en Standard v2
  • Verbruik : de beheerde gateway die beschikbaar is in de verbruikslaag
  • Zelf-hostend : de optionele zelf-hostende gateway die beschikbaar is in bepaalde servicelagen

Notitie

  • Sommige functies van beheerde en zelf-hostende gateways worden alleen ondersteund in bepaalde servicelagen of met bepaalde implementatieomgevingen voor zelf-hostende gateways.
  • Voor de huidige ondersteunde functies van de zelf-hostende gateway moet u ervoor zorgen dat u een upgrade hebt uitgevoerd naar de nieuwste primaire versie van de zelf-hostende gatewaycontainerinstallatiekopie.
  • Zie ook zelf-hostende gatewaybeperkingen.

Infrastructuur

Functieondersteuning Klassiek V2 Verbruik Zelfgehost
Aangepaste domeinen ✔️ ✔️ ✔️ ✔️
Ingebouwde cache ✔️ ✔️
Externe Redis-compatibele cache ✔️ ✔️ ✔️ ✔️
Virtuele netwerkinjectie Ontwikkelaar, Premium ✔️1,2
Binnenkomende privé-eindpunten Ontwikkelaar, Basic, Standard, Premium
Integratie van uitgaand virtueel netwerk Standard V2
Beschikbaarheidszones Premium ✔️1
Implementatie in meerdere regio's Premium ✔️1
CA-basiscertificaten voor certificaatvalidatie ✔️ ✔️ ✔️3
CA-basiscertificaten voor certificaatvalidatie ✔️ ✔️ ✔️3
Beheerde domeincertificaten Ontwikkelaar, Basic, Standard, Premium ✔️
TLS-instellingen ✔️ ✔️ ✔️ ✔️
HTTP/2 (client-naar-gateway) ✔️4 ✔️4 ✔️
HTTP/2 (gateway-naar-back-end) ✔️
Detectie van API-bedreigingen met Defender voor API's ✔️ ✔️

1 Is afhankelijk van hoe de gateway wordt geïmplementeerd, maar is de verantwoordelijkheid van de klant.
2 Verbinding maken iviteit van het zelf-hostende gateway v2-configuratie-eindpunt vereist DNS-omzetting van de hostnaam van het eindpunt.
3CA-basiscertificaten voor zelf-hostende gateway worden afzonderlijk beheerd per gateway
4 Clientprotocol moet zijn ingeschakeld.

Back-end-API's

Functieondersteuning Klassiek V2 Verbruik Zelfgehost
OpenAPI-specificatie ✔️ ✔️ ✔️ ✔️
WSDL-specificatie ✔️ ✔️ ✔️ ✔️
WADL-specificatie ✔️ ✔️ ✔️ ✔️
Logische app ✔️ ✔️ ✔️ ✔️
App Service ✔️ ✔️ ✔️ ✔️
Functie-app ✔️ ✔️ ✔️ ✔️
Container-app ✔️ ✔️ ✔️ ✔️
Service Fabric Ontwikkelaar, Premium
PassThrough GraphQL ✔️ ✔️ ✔️ ✔️
Synthetische GraphQL ✔️ ✔️ ✔️1 ✔️1
Pass-through WebSocket ✔️ ✔️ ✔️
Pass-through gRPC (preview) ✔️
OData (preview) ✔️ ✔️ ✔️ ✔️
PassThrough GraphQL ✔️ ✔️ ✔️ ✔️
Azure OpenAI ✔️ ✔️ ✔️ ✔️
Circuitonderbreker in back-end (preview) ✔️ ✔️ ✔️
Back-endpool met gelijke taakverdeling (preview) ✔️ ✔️ ✔️ ✔️

1 Synthetische GraphQL-abonnementen (preview) worden niet ondersteund.

Beleidsregels

Beheerde en zelf-hostende gateways ondersteunen alle beschikbare beleidsregels in beleidsdefinities met de volgende uitzonderingen.

Functieondersteuning Klassiek V2 Verbruik Zelf-hostend1
Dapr-integratie ✔️
GraphQL-resolvers en GraphQL-validatie ✔️ ✔️ ✔️
Autorisatiecontext ophalen ✔️ ✔️ ✔️
Quotum- en frequentielimiet ✔️ ✔️2 ✔️3 ✔️4

1 Geconfigureerde beleidsregels die niet worden ondersteund door de zelf-hostende gateway, worden overgeslagen tijdens het uitvoeren van het beleid.
2 Het quotum per sleutelbeleid is niet beschikbaar in de v2-lagen.
2 De frequentielimiet per sleutel en quotum per sleutelbeleid is niet beschikbaar in de verbruikslaag.
3 Frequentielimieten in een zelf-hostende gateway kunnen worden geconfigureerd om lokaal te synchroniseren (tussen gateway-exemplaren tussen clusterknooppunten), bijvoorbeeld via helm-grafiekimplementatie voor Kubernetes of met behulp van de Azure Portal-implementatiesjablonen. Frequentielimieten worden echter niet gesynchroniseerd met andere gatewayresources die zijn geconfigureerd in het API Management-exemplaar, inclusief de beheerde gateway in de cloud. Meer informatie

Controleren

Zie Waarneembaarheid in Azure API Management voor meer informatie over bewakingsopties.

Functieondersteuning Klassiek V2 Verbruik Zelfgehost
API-analyse ✔️ ✔️1
Application Insights ✔️ ✔️ ✔️ ✔️
Logboekregistratie via Event Hubs ✔️ ✔️ ✔️ ✔️
Metrische gegevens in Azure Monitor ✔️ ✔️ ✔️ ✔️
OpenTelemetry Collector ✔️
Logboeken aanvragen in Azure Monitor en Log Analytics ✔️ ✔️ 2
Lokale metrische gegevens en logboeken ✔️
Tracering aanvragen ✔️ 3 ✔️ ✔️

1 De v2-lagen ondersteunen analyses op basis van Azure Monitor.
2 De zelf-hostende gateway verzendt momenteel geen resourcelogboeken (diagnostische logboeken) naar Azure Monitor. U kunt eventueel metrische gegevens verzenden naar Azure Monitor of logboeken lokaal configureren en behouden waar de zelf-hostende gateway wordt geïmplementeerd.
3 Tracering is momenteel niet beschikbaar in de v2-lagen.

Verificatie en autorisatie

Beheerde en zelf-hostende gateways ondersteunen alle beschikbare API-verificatie- en autorisatieopties met de volgende uitzonderingen.

Functieondersteuning Klassiek V2 Verbruik Zelfgehost
Referentiebeheer ✔️ ✔️ ✔️

Doorvoer en schalen van gateway

Belangrijk

De doorvoer wordt beïnvloed door het aantal en de snelheid van gelijktijdige clientverbindingen, het soort en aantal geconfigureerde beleidsregels, nettoladingsgrootten, prestaties van de back-end-API en andere factoren. Zelf-hostende gatewaydoorvoer is ook afhankelijk van de rekencapaciteit (CPU en geheugen) van de host waarop deze wordt uitgevoerd. Voer gatewaybelastingstests uit met behulp van verwachte productieomstandigheden om de verwachte doorvoer nauwkeurig te bepalen.

Beheerde gateway

Zie de prijzen van API Management voor geschatte maximale gatewaydoorvoer in de API Management-servicelagen.

Belangrijk

Doorvoercijfers worden alleen weergegeven voor informatie en mogen niet worden gebruikt voor capaciteits- en budgetplanning. Zie prijzen voor API Management voor meer informatie.

  • Klassieke lagen

    • Schaal de gatewaycapaciteit door schaaleenheden toe te voegen en te verwijderen of de servicelaag te upgraden. (Schalen is niet beschikbaar in de developer-laag.)
    • Configureer in de lagen Basic, Standard en Premium desgewenst automatische schaalaanpassing van Azure Monitor.
    • Voeg in de Premium-laag eventueel gatewaycapaciteit toe en distribueer deze over meerdere regio's.
  • v2-lagen

    • Schaal de gatewaycapaciteit door schaaleenheden toe te voegen en te verwijderen of de servicelaag te upgraden.
  • Verbruikslaag

    • API Management exemplaren in de verbruikslaag worden automatisch geschaald op basis van het verkeer.

Zelf-hostende gateway

  • Voeg in omgevingen zoals Kubernetes meerdere gatewayreplica's toe om het verwachte gebruik te verwerken.
  • Configureer optioneel automatisch schalen om te voldoen aan de vraag naar verkeer.