Brama interfejsu API w usłudze Azure API Management
DOTYCZY: Wszystkie warstwy usługi API Management
Ten artykuł zawiera informacje o rolach i funkcjach składnika bramy usługi API Management oraz porównanie bram, które można wdrożyć.
Powiązane informacje:
Aby zapoznać się z omówieniem scenariuszy, składników i pojęć usługi API Management, zobacz Co to jest usługa Azure API Management?
Aby uzyskać więcej informacji na temat warstw i funkcji usługi API Management, zobacz:
Rola bramy
Brama usługi API Management (nazywana również płaszczyzną danych lub środowiskiem uruchomieniowym) jest składnikiem usługi odpowiedzialnym za żądania interfejsu API proxy, stosowanie zasad i zbieranie danych telemetrycznych.
W szczególności brama:
- Działa jako fasada usług zaplecza, akceptując wywołania interfejsu API i rozsyłając je do odpowiednich zapleczy
- Weryfikuje klucze interfejsu API i inne poświadczenia, takie jak tokeny JWT i certyfikaty prezentowane z żądaniami
- Wymusza limity przydziału użycia i limity szybkości
- Opcjonalnie przekształca żądania i odpowiedzi zgodnie z instrukcjami zasad
- Jeśli skonfigurowano, buforuje odpowiedzi w celu zwiększenia opóźnienia odpowiedzi i zminimalizowania obciążenia usług zaplecza
- Emituje dzienniki, metryki i ślady na potrzeby monitorowania, raportowania i rozwiązywania problemów
Uwaga
Wszystkie żądania do bramy usługi API Management, w tym żądania odrzucone przez konfiguracje zasad, wliczają się do skonfigurowanych limitów szybkości, limitów przydziału i limitów rozliczeń, jeśli są stosowane w warstwie usługi.
Zarządzane i self-hosted
Usługa API Management oferuje zarówno bramy zarządzane, jak i własne:
Zarządzane — brama zarządzana jest domyślnym składnikiem bramy wdrożonym na platformie Azure dla każdego wystąpienia usługi API Management w każdej warstwie usługi. Autonomiczna brama zarządzana może być również skojarzona z obszarem roboczym w wystąpieniu usługi API Management. W przypadku bramy zarządzanej cały ruch interfejsu API przepływa przez platformę Azure niezależnie od tego, gdzie są hostowane zaplecza implementowane interfejsy API.
Uwaga
Ze względu na różnice w podstawowej architekturze usługi bramy dostępne w różnych warstwach usługi API Management mają pewne różnice w możliwościach. Aby uzyskać szczegółowe informacje, zobacz sekcję Porównanie funkcji: Bramy zarządzane i self-hosted.
Self-hosted — brama self-hosted to opcjonalna, konteneryzowana wersja domyślnej bramy zarządzanej, która jest dostępna w wybranych warstwach usług. Jest to przydatne w scenariuszach hybrydowych i wielochmurowych, w których wymagane jest uruchamianie bram poza platformą Azure w tych samych środowiskach, w których są hostowane zaplecza interfejsu API. Brama hostowana samodzielnie umożliwia klientom korzystanie z hybrydowej infrastruktury IT do zarządzania interfejsami API hostowanymi lokalnie i w różnych chmurach z jednej usługi API Management na platformie Azure.
Brama hostowana samodzielnie jest spakowana jako kontener platformy Docker oparty na systemie Linux i jest często wdrażana na platformie Kubernetes, w tym w usługach Azure Kubernetes Service i Kubernetes z obsługą usługi Azure Arc.
Każda brama hostowana samodzielnie jest skojarzona z zasobem bramy w wystąpieniu usługi API Management opartym na chmurze, z którego odbiera aktualizacje konfiguracji i komunikuje stan.
Ważne
Obsługa samoobsługowej bramy usługi Azure API Management w wersji 0 i wersji 1 obrazów kontenerów kończy się 1 października 2023 r. wraz z odpowiednim interfejsem API konfiguracji w wersji 1. Skorzystaj z naszego przewodnika migracji , aby użyć własnej bramy w wersji 2.0.0 lub nowszej z interfejsem API konfiguracji w wersji 2. Dowiedz się więcej w naszej dokumentacji dotyczącej wycofywania
Porównanie funkcji: bramy zarządzane i własne
Poniższe tabele porównują funkcje dostępne w następujących bramach usługi API Management:
- Klasyczny — brama zarządzana dostępna w warstwach usługi Developer, Basic, Standard i Premium (wcześniej pogrupowana jako warstwy dedykowane )
- Wersja 2 — brama zarządzana dostępna w warstwach Podstawowa w wersji 2 i Standardowa w wersji 2
- Użycie — brama zarządzana dostępna w warstwie Zużycie
- Self-hosted — opcjonalna brama self-hosted dostępna w wybranych warstwach usług
- Obszar roboczy — brama zarządzana dostępna w obszarze roboczym w wybranych warstwach usług
Uwaga
- Niektóre funkcje zarządzanych i własnych bram są obsługiwane tylko w niektórych warstwach usług lub w niektórych środowiskach wdrażania dla własnych bram.
- W przypadku bieżących obsługiwanych funkcji własnej bramy upewnij się, że uaktualniono do najnowszej wersji głównej obrazu kontenera bramy hostowanej samodzielnie.
- Zobacz również ograniczenia bramy hostowanej samodzielnie.
Infrastruktura
Obsługa funkcji | Klasyczny | Wersja 2 | Zużycie | Samodzielne hostowanie | Obszar roboczy |
---|---|---|---|---|---|
Niestandardowe domeny | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Wbudowana pamięć podręczna | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
Zewnętrzna pamięć podręczna zgodna z usługą Redis | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Wstrzykiwanie sieci wirtualnej | Deweloper, Premium | ❌ | ❌ | ✔️1,2 | ✔️ |
Przychodzące prywatne punkty końcowe | Developer, Basic, Standard, Premium | ❌ | ❌ | ❌ | ❌ |
Integracja wychodzącej sieci wirtualnej | ❌ | Standardowa, wersja 2 | ❌ | ❌ | ✔️ |
Strefy dostępności | Premium | ✔️3 | ❌ | ✔️1 | ✔️3 |
Wdrażanie w wielu regionach | Premium | ❌ | ❌ | ✔️1 | ❌ |
Certyfikaty główne urzędu certyfikacji na potrzeby weryfikacji certyfikatu | ✔️ | ✔️ | ❌ | ✔️4 | ❌ |
Certyfikaty domeny zarządzanej | Developer, Basic, Standard, Premium | ❌ | ✔️ | ❌ | ❌ |
Ustawienia protokołu TLS | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
HTTP/2 (klient-brama) | ✔️5 | ✔️5 | ❌ | ✔️ | ❌ |
HTTP/2 (Brama do zaplecza) | ❌ | ❌ | ❌ | ✔️ | ❌ |
Wykrywanie zagrożeń interfejsu API za pomocą interfejsów API usługi Defender dla interfejsów API | ✔️ | ✔️ | ❌ | ❌ | ❌ |
1 Zależy od sposobu wdrażania bramy, ale odpowiada za to klient.
2 Łączność z własnym punktem końcowym konfiguracji bramy w wersji 2 wymaga rozpoznawania NAZW DNS nazwy hosta punktu końcowego.
3 Dwie strefy są domyślnie włączone; nie można ich konfigurować.
4 certyfikaty główne urzędu certyfikacji dla własnej bramy są zarządzane oddzielnie dla bramy
5 Należy włączyć protokół klienta.
Interfejsy API zaplecza
Obsługa funkcji | Klasyczny | Wersja 2 | Zużycie | Samodzielne hostowanie | Obszar roboczy |
---|---|---|---|---|---|
Specyfikacja interfejsu OpenAPI | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Specyfikacja WSDL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Specyfikacja WADL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Aplikacja logiki | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
App Service | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Aplikacja funkcji | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Aplikacja kontenera | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Service Fabric | Deweloper, Premium | ❌ | ❌ | ❌ | ❌ |
Pass-through GraphQL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Syntetyczny grafQL | ✔️ | ✔️ | ✔️1 | ✔️1 | ❌ |
Przekazywanie protokołu WebSocket | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
Przekazywanie gRPC | ❌ | ❌ | ❌ | ✔️ | ❌ |
OData | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Azure OpenAI | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Wyłącznik w zapleczu | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
Pula zaplecza ze zrównoważonym obciążeniem | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1 Syntetyczne subskrypcje GraphQL (wersja zapoznawcza) nie są obsługiwane.
Zasady
Bramy zarządzane i self-hosted obsługują wszystkie dostępne zasady w definicjach zasad z następującymi wyjątkami.
Obsługa funkcji | Klasyczny | Wersja 2 | Zużycie | Self-hosted1 | Obszar roboczy |
---|---|---|---|---|---|
Integracja języka Dapr | ❌ | ❌ | ❌ | ✔️ | ❌ |
Narzędzia rozpoznawania języka GraphQL i walidacja języka GraphQL | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Uzyskiwanie kontekstu autoryzacji | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Limit przydziału i szybkości | ✔️ | ✔️cyfra arabska | ✔️3 | ✔️4 | ✔️ |
1 Skonfigurowane zasady, które nie są obsługiwane przez bramę self-hosted, są pomijane podczas wykonywania zasad.
2 Zasady przydziału według klucza nie są dostępne w warstwach 2.
3 Limit szybkości według klucza, limitu przydziału według klucza i zasad limitu tokenów usługi Azure OpenAI nie jest dostępny w warstwie Zużycie.
4 Liczby limitów szybkości w bramie hostowanej samodzielnie można skonfigurować do synchronizowania lokalnie (między wystąpieniami bramy między węzłami klastra), na przykład za pomocą wdrożenia wykresu helm dla platformy Kubernetes lub szablonów wdrażania witryny Azure Portal. Jednak liczby limitów szybkości nie są synchronizowane z innymi zasobami bramy skonfigurowanymi w wystąpieniu usługi API Management, w tym z bramą zarządzaną w chmurze. Dowiedz się więcej
Monitorowanie
Aby uzyskać szczegółowe informacje na temat opcji monitorowania, zobacz Obserwowanie w usłudze Azure API Management.
Obsługa funkcji | Klasyczny | Wersja 2 | Zużycie | Samodzielne hostowanie | Obszar roboczy |
---|---|---|---|---|---|
Analiza interfejsu API | ✔️ | ✔️1 | ❌ | ❌ | ❌ |
Application Insights | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Rejestrowanie za pośrednictwem usługi Event Hubs | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Metryki w usłudze Azure Monitor | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
OpenTelemetry Collector | ❌ | ❌ | ❌ | ✔️ | ❌ |
Dzienniki żądań w usługach Azure Monitor i Log Analytics | ✔️ | ✔️ | ❌ | ❌2 | ❌ |
Lokalne metryki i dzienniki | ❌ | ❌ | ❌ | ✔️ | ❌ |
Śledzenie żądań | ✔️ | ❌3 | ✔️ | ✔️ | ❌ |
1 Warstwy w wersji 2 obsługują analizę opartą na usłudze Azure Monitor.
2 Brama hostowana samodzielnie nie wysyła obecnie dzienników zasobów (dzienników diagnostycznych) do usługi Azure Monitor. Opcjonalnie wyślij metryki do usługi Azure Monitor lub skonfiguruj i utrwali dzienniki lokalnie, w których wdrożono własną bramę.
3 Śledzenie jest obecnie niedostępne w warstwach v2.
Uwierzytelnianie i autoryzacja
Bramy zarządzane i self-hosted obsługują wszystkie dostępne opcje uwierzytelniania i autoryzacji interfejsu API z następującymi wyjątkami.
Obsługa funkcji | Klasyczny | Wersja 2 | Zużycie | Samodzielne hostowanie | Obszar roboczy |
---|---|---|---|---|---|
Menedżer poświadczeń | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Przepływność i skalowanie bramy
Ważne
Przepływność ma wpływ na liczbę i szybkość współbieżnych połączeń klienckich, rodzaj i liczbę skonfigurowanych zasad, rozmiary ładunków, wydajność interfejsu API zaplecza i inne czynniki. Przepływność bramy hostowanej samodzielnie jest również zależna od pojemności obliczeniowej (procesora CPU i pamięci) hosta, na którym jest uruchomiona. Przeprowadź testowanie obciążenia bramy przy użyciu przewidywanych warunków produkcyjnych, aby dokładnie określić oczekiwaną przepływność.
Brama zarządzana
Aby uzyskać szacowaną maksymalną przepływność bramy w warstwach usługi API Management, zobacz Cennik usługi API Management.
Ważne
Dane dotyczące przepływności są prezentowane tylko dla informacji i nie mogą być oparte na planowaniu pojemności i budżetu. Aby uzyskać szczegółowe informacje, zobacz Cennik usługi API Management.
Warstwy klasyczne
- Skalowanie pojemności bramy przez dodanie i usunięcie jednostek skalowania lub uaktualnienie warstwy usługi. (Skalowanie nie jest dostępne w warstwie Deweloper).
- W warstwach Podstawowa, Standardowa i Premium opcjonalnie skonfiguruj automatyczne skalowanie usługi Azure Monitor.
- W warstwie Premium opcjonalnie dodaj i dystrybuuj pojemność bramy w wielu regionach.
Warstwy w wersji 2
- Skalowanie pojemności bramy przez dodanie i usunięcie jednostek skalowania lub uaktualnienie warstwy usługi.
Warstwa Zużycie
- Wystąpienia usługi API Management w warstwie Zużycie są skalowane automatycznie w zależności od ruchu.
Własna brama
- W środowiskach takich jak Kubernetes dodaj wiele replik bramy do obsługi oczekiwanego użycia.
- Opcjonalnie skonfiguruj skalowanie automatyczne w celu spełnienia wymagań dotyczących ruchu.
Brama obszaru roboczego
Skalowanie pojemności przez dodawanie i usuwanie jednostek skalowania w bramie obszaru roboczego.
Powiązana zawartość
- Dowiedz się więcej o usłudze API Management w świecie hybrydowym i wielochmurowym
- Dowiedz się więcej na temat używania metryki pojemności do podejmowania decyzji dotyczących skalowania
- Dowiedz się więcej o możliwościach obserwacji w usłudze API Management