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:
En översikt över API Management-scenarier, komponenter och begrepp finns i Vad är Azure API Management?
Mer information om tjänstnivåer och funktioner för API Management finns i:
Gatewayens roll
API Management-gatewayen (kallas även för dataplan eller körning) är den tjänstkomponent som ansvarar för att proxya API-begäranden, tillämpa principer och samla in telemetri.
Mer specifikt gatewayen:
- 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-token och certifikat som visas med begäranden
- Framtvingar användningskvoter och hastighetsgränser
- Du kan också transformera begäranden och svar enligt vad som anges i principinstruktioner
- Om det är konfigurerat cachelagrar svar för att förbättra svarsfördröjningen och minimera belastningen på serverdelstjänster
- Genererar loggar, mått och spårningar för övervakning, rapportering och felsökning
Kommentar
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 lokalt installerad
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.
Kommentar
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 gateway som är tillgänglig på förbrukningsnivå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
Kommentar
- 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 har uppgraderat till den senaste huvudversionen av den lokalt installerade gatewaycontainern för de aktuella funktionerna i den lokala gatewayen.
- Se även begränsningar för lokalt installerad gateway.
Infrastruktur
Funktionsstöd | Klassisk | V2 | Förbrukning | Lokalt installerad | Arbetsyta |
---|---|---|---|---|---|
Anpassade domäner | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Inbyggd cache | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
Extern Redis-kompatibel cache | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
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 | Premium | ❌ | ❌ | ✔️1 | ✔️3 |
Distribution i flera regioner | Premium | ❌ | ❌ | ✔️1 | ❌ |
CA-rotcertifikat för certifikatverifiering | ✔️ | ✔️ | ❌ | ✔️3 | ❌ |
Certifikat för hanterad domän | Utvecklare, Basic, Standard, Premium | ❌ | ✔️ | ❌ | ❌ |
TLS-inställningar | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
HTTP/2 (klient-till-gateway) | ✔️4 | ✔️4 | ❌ | ✔️ | ❌ |
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-matchning av slutpunktens värdnamn.
3 CA-rotcertifikat för lokalt installerad gateway hanteras separat per gateway
4 Klientprotokollet måste vara aktiverat.
API:er för serverdel
Funktionsstöd | 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 | ❌ |
Direktwebbsocket | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
Direkt gRPC | ❌ | ❌ | ❌ | ✔️ | ❌ |
OData | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Azure OpenAI och LLM | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Kretsbrytare i serverdelen | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
Belastningsutjämning av serverdelspool | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1 Syntetiska GraphQL-prenumerationer (förhandsversion) stöds inte.
Policyer
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.
Funktionsstöd | Klassisk | V2 | Förbrukning | Lokalt installerad1 | Arbetsyta |
---|---|---|---|---|---|
Dapr-integrering | ❌ | ❌ | ❌ | ✔️ | ❌ |
GraphQL-matchare och GraphQL-validering | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Hämta auktoriseringskontext | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Autentisera med hanterad identitet | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Azure OpenAI- och LLM-semantisk cachelagring | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Kvot- och hastighetsgräns | ✔️ | ✔️2 | ✔️3 | ✔️4 | ✔️ |
1 Konfigurerade principer som inte stöds av den lokala gatewayen hoppas över under principkörningen.
2 Kvoten efter nyckelprincip är inte tillgänglig på v2-nivåerna.
3 Principer för hastighetsbegränsning efter nyckel, kvot efter nyckel och Azure OpenAI-tokengräns är inte tillgängliga på förbrukningsnivån.
4 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 Azure Portal distributionsmallar. 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.
Funktionsstöd | Klassisk | V2 | Förbrukning | Lokalt installerad | Arbetsyta |
---|---|---|---|---|---|
API-analys | ✔️ | ✔️1 | ❌ | ❌ | ❌ |
Application Insights | ✔️ | ✔️ | ✔️ | ✔️2 | ✔️ |
Logga via 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.
Funktionsstöd | 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. Utför gatewaybelastningstestning med förväntade produktionsförhållanden för att fastställa förväntat dataflöde korrekt.
Hanterad 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 gatewaykapacitet genom att lägga till och ta bort skalningsenheter eller uppgradera tjänstnivån. (Skalning ä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
Förbrukningsnivå
- API Management-instanser på nivån Förbrukning skalas automatiskt baserat på trafiken.
Gateway med egen värd
- I miljöer som Kubernetes lägger du till flera gatewayrepliker för att hantera förväntad användning.
- Du kan också konfigurera automatisk skalning för att uppfylla trafikkraven.
Arbetsytegateway
Skala kapacitet genom att lägga till och ta bort skalningsenheter i arbetsytegatewayen.
Relaterat innehåll
Läs mer om:
- API Management i en hybrid- och multimolnvärld
- Kapacitetsmått för skalningsbeslut
- Observerbarhetsfunktioner i API Management
- GenAI-gatewayfunktioner i API Management