Dela via


API-gateway i Azure API Management

GÄLLER FÖR: Alla API Management-nivåer

Den här artikeln innehåller information om rollerna och funktionerna i API Management-gatewaykomponenten och jämför de gatewayer som du kan distribuera.

Relaterad information:

Nätverksportens roll

API Management gateway (kallas även dataplan eller körning) är den tjänstekomponent som ansvarar för att agera som proxy för API-begäranden, tillämpa policys och samla in telemetri.

Mer specifikt gatewayn:

  • Fungerar som en fasad för serverdelstjänster genom att acceptera API-anrop och dirigera dem till lämpliga serverdelar
  • Verifierar API-nycklar och andra autentiseringsuppgifter som JWT och certifikat som visas med begäranden
  • Framtvingar användningskvoter och hastighetsgränser
  • Transformera begäranden och svar enligt vad som anges i policydokument
  • Om det är konfigurerat, cachelagrar svar för att förbättra svarstiden och minimera belastningen på backendtjänster.
  • Genererar loggar, mått och spårningar för övervakning, rapportering och felsökning

Anteckning

Alla begäranden till API Management-gatewayen, inklusive de som avvisas av principkonfigurationer, räknas mot konfigurerade hastighetsgränser, kvoter och faktureringsgränser om de tillämpas på tjänstnivån.

Hanterad och självhostad

API Management erbjuder både hanterade och lokalt installerade gatewayer:

  • Hanterad – Den hanterade gatewayen är standardgatewaykomponenten som distribueras i Azure för varje API Management-instans på varje tjänstnivå. En fristående hanterad gateway kan också associeras med en arbetsyta i en API Management-instans. Med den hanterade gatewayen flödar all API-trafik via Azure oavsett var serverdelar som implementerar API:erna finns.

    Anteckning

    På grund av skillnader i den underliggande tjänstarkitekturen har de gatewayer som tillhandahålls på de olika API Management-tjänstnivåerna vissa skillnader i funktioner. Mer information finns i avsnittet Funktionsjämförelse: Hanterade gatewayer och gatewayer med egen värd.

  • Lokalt installerad – Den lokalt installerade gatewayen är en valfri, containerbaserad version av den hanterade standardgatewayen som är tillgänglig på utvalda tjänstnivåer. Det är användbart för hybrid- och multimolnscenarier där det finns ett krav på att köra gatewayerna utanför Azure i samma miljöer där API-serverdelar finns. Med den lokala gatewayen kan kunder med hybrid-IT-infrastruktur hantera API:er som finns lokalt och mellan moln från en enda API Management-tjänst i Azure.

    • Den lokalt installerade gatewayen paketeras som en Linux-baserad Docker-container och distribueras ofta till Kubernetes, inklusive till Azure Kubernetes Service och Azure Arc-aktiverade Kubernetes.

    • Varje lokalt installerad gateway är associerad med en gatewayresurs i en molnbaserad API Management-instans från vilken den tar emot konfigurationsuppdateringar och kommunicerar status.

Funktionsjämförelse: Hanterade och lokalt installerade gatewayer

I följande tabeller jämförs funktioner som är tillgängliga i följande API Management-gatewayer:

  • Klassisk – den hanterade gatewayen som är tillgänglig på tjänstnivåerna Developer, Basic, Standard och Premium (tidigare grupperad som dedikerade nivåer)
  • V2 – den hanterade gatewayen som är tillgänglig på nivåerna Basic v2, Standard v2 och Premium v2
  • Förbrukning – den hanterade gatewayen som är tillgänglig på konsumtionsnivån
  • Lokalt installerad – den valfria gatewayen med egen värd som är tillgänglig på utvalda tjänstnivåer
  • Arbetsyta – den hanterade gatewayen som är tillgänglig på en arbetsyta på utvalda tjänstnivåer

Anteckning

  • Vissa funktioner i hanterade och lokalt installerade gatewayer stöds endast på vissa tjänstnivåer eller med vissa distributionsmiljöer för gatewayer med egen värd.
  • Se till att du, för de aktuella funktionerna i den självhostade gatewayen, har uppgraderat till den senaste huvudversionen av containerbilden för den självhostade gatewayen .
  • Se även begränsningar för lokalt installerad gateway.

Infrastruktur

Stöd för funktioner Klassisk V2 Förbrukning Lokalt installerad Arbetsyta
Anpassade domäner ✔️ ✔️ ✔️ ✔️
Inbyggd cache ✔️ ✔️ ✔️
Extern cache som är Redis-kompatibel ✔️ ✔️ ✔️ ✔️
Virtuell nätverksinmatning Utvecklare, Premium Premium v2 ✔️1,2 ✔️
Inkommande privata slutpunkter Utvecklare, Basic, Standard, Premium Standard v2
Integrering av utgående virtuellt nätverk Standard v2, Premium v2 ✔️
Tillgänglighetszoner Premie ✔️3 ✔️1 ✔️3
Distribution i flera regioner Premie ✔️1
CA-rotcertifikat för certifikatverifiering ✔️ ✔️ ✔️4
Certifikat för hanterad domän Utvecklare, Basic, Standard, Premium ✔️
TLS-inställningar ✔️ ✔️ ✔️ ✔️
HTTP/2 (klient-till-gateway) ✔️5 ✔️5 ✔️
HTTP/2 (gateway-till-serverdel) ✔️
API-hotidentifiering med Defender för API:er ✔️ ✔️

1 Beror på hur gatewayen distribueras, men är kundens ansvar.
2 Anslutning till den lokala gatewayen v2 konfigurationsslutpunkten kräver DNS-upplösning av slutpunktens värdnamn.
3 Två zoner är aktiverade som standard. inte kan konfigureras.
4 CA-rotcertifikat för lokalt installerad gateway hanteras separat per gateway
5 Klientprotokollet måste vara aktiverat.

API:er för backend

Stöd för funktioner Klassisk V2 Förbrukning Lokalt installerad Arbetsyta
OpenAPI-specifikation ✔️ ✔️ ✔️ ✔️ ✔️
WSDL-specifikation ✔️ ✔️ ✔️ ✔️ ✔️
WADL-specifikation ✔️ ✔️ ✔️ ✔️ ✔️
Logikapp ✔️ ✔️ ✔️ ✔️ ✔️
App Service ✔️ ✔️ ✔️ ✔️ ✔️
Funktionsapp ✔️ ✔️ ✔️ ✔️ ✔️
Containerapp ✔️ ✔️ ✔️ ✔️ ✔️
Service Fabric Utvecklare, Premium
GenomströmningsgrafQL ✔️ ✔️ ✔️ ✔️ ✔️
Syntetisk GraphQL ✔️ ✔️ ✔️1 ✔️1
Pass-through-webbsocket ✔️ ✔️ ✔️ ✔️
Genomströmning gRPC ✔️
OData ✔️ ✔️ ✔️ ✔️ ✔️
Azure OpenAI och LLM ✔️ ✔️ ✔️ ✔️ ✔️
Kretsbrytare i backend-systemet ✔️ ✔️ ✔️ ✔️
Lastbalanserad backendpool ✔️ ✔️ ✔️ ✔️ ✔️

1 Syntetiska GraphQL-prenumerationer (förhandsversion) stöds inte.

Policys

Hanterade och lokalt installerade gatewayer stöder alla tillgängliga principer i principdefinitioner med följande undantag. Mer information om varje princip finns i principreferensen.

Stöd för funktioner Klassisk V2 Förbrukning Lokalt installerad1 Arbetsyta
Dapr integrering ✔️
GraphQL-matchare och GraphQL-validering ✔️ ✔️ ✔️
Hämta autentiseringskontext ✔️ ✔️ ✔️
Autentisera med hanterad identitet ✔️ ✔️ ✔️ ✔️
Azure OpenAI- och LLM-semantisk cachelagring ✔️ ✔️ ✔️
Kvot- och takbegränsning ✔️ ✔️ ✔️2 ✔️3 ✔️

1 Konfigurerade principer som inte stöds av den egenhostade gatewayen hoppas över under utförandet av principerna.
2 Principer för hastighetsbegränsning efter nyckel, kvot efter nyckel och AI-tokengräns är inte tillgängliga på förbrukningsnivån.
3 Hastighetsgränsantal i en lokalt installerad gateway kan konfigureras för att synkronisera lokalt (bland gatewayinstanser mellan klusternoder), till exempel via Helm-diagramdistribution för Kubernetes eller med hjälp av Distributionsmallar för Azure-portalen. Frekvensgränsantal synkroniseras dock inte med andra gatewayresurser som konfigurerats i API Management-instansen, inklusive den hanterade gatewayen i molnet. Läs mer

Övervakning

Mer information om övervakningsalternativ finns i Observerbarhet i Azure API Management.

Stöd för funktioner Klassisk V2 Förbrukning Lokalt installerad Arbetsyta
API-analyser ✔️ ✔️1
Application Insights ✔️ ✔️ ✔️ ✔️2 ✔️
Loggning genom Event Hubs ✔️ ✔️ ✔️ ✔️ ✔️
Mått i Azure Monitor ✔️ ✔️ ✔️ ✔️
OpenTelemetry Collector ✔️
Begära loggar i Azure Monitor och Log Analytics ✔️ ✔️ 3
Lokala mått och loggar ✔️
Spårning av begäranden ✔️ ✔️ ✔️ ✔️ ✔️

1 V2-nivåerna stöder Azure Monitor-baserad analys.
2 Gateway använder Azure Application Insights inbyggda minnesbuffert och ger inga leveransgarantier.
3 Den lokalt installerade gatewayen skickar för närvarande inte resursloggar (diagnostikloggar) till Azure Monitor. Du kan också skicka mått till Azure Monitor eller konfigurera och spara loggar lokalt där den lokala gatewayen distribueras.

Autentisering och auktorisering

Hanterade och lokalt installerade gatewayer stöder alla tillgängliga ALTERNATIV för API-autentisering och auktorisering med följande undantag.

Stöd för funktioner Klassisk V2 Förbrukning Lokalt installerad Arbetsyta
Autentiseringshanteraren ✔️ ✔️ ✔️

Gateway-dataflöde och skalning

Viktigt!

Dataflödet påverkas av antalet och hastigheten för samtidiga klientanslutningar, typen och antalet konfigurerade principer, nyttolaststorlekar, serverdels-API-prestanda och andra faktorer. Gateway-dataflödet med egen värd är också beroende av beräkningskapaciteten (CPU och minne) för värden där den körs på. Utför tester av gatewaybelastning under förväntade produktionsförhållanden för att noggrant bestämma den förväntade genomströmningen.

Förvaltad gateway

Information om uppskattat maximalt gateway-dataflöde på API Management-tjänstnivåerna finns i API Management-priser.

Viktigt!

Dataflödessiffror presenteras endast för information och får inte användas för kapacitets- och budgetplanering. Mer information finns i API Management-priser .

  • Klassiska nivåer

    • Skala gatewaykapaciteten genom att lägga till och ta bort skalningsenheter eller genom att uppgradera tjänstnivån. (Skalbarhet är inte tillgängligt på utvecklarnivån.)
    • På nivåerna Basic, Standard och Premium kan du välja att konfigurera autoskalning av Azure Monitor.
    • På Premium-nivån kan du lägga till och distribuera gatewaykapacitet i flera regioner.
  • v2-nivåer

    • Skala gatewaykapaciteten genom att lägga till och ta bort skalningsenheter eller genom att uppgradera tjänstnivån.
  • Förbrukningsnivå

    • API Management-instanser på nivån Förbrukning skalas automatiskt baserat på trafiken.

Gateway med egen värd

Arbetsyta-gateway

Anpassa kapaciteten genom att lägga till eller ta bort skalningsenheter i gatewayen för arbetsytan.

Läs mer om: