Udostępnij przez


Migrowanie usługi Amazon API Gateway do usługi Azure API Management

Jeśli używasz usługi Amazon API Gateway i chcesz przeprowadzić migrację obciążenia na platformę Azure, ten przewodnik ułatwia zrozumienie mapowań funkcji, najlepszych rozwiązań i procesu migracji. Na platformie Azure usługa Azure API Management zapewnia możliwości bramy interfejsu API. Te możliwości obejmują routing żądań i odpowiedzi interfejsu API, autoryzację i kontrolę dostępu, monitorowanie i nadzór oraz zarządzanie wersjami interfejsu API.

Co wykonasz

W tym przewodniku:

  • Oceń bieżące wdrożenie usługi Amazon API Gateway.
  • Dopasuj funkcje Amazon API Gateway do funkcji Azure API Management.
  • Przygotuj środowiska Amazon i Azure do pomyślnej migracji.
  • Planowanie i wykonywanie migracji z minimalnym przestojem.
  • Sprawdź, czy zmigrowane obciążenie spełnia wymagania dotyczące wydajności i niezawodności.
  • Dowiedz się, jak iterować architekturę w celu uzyskania przyszłych ulepszeń.

Przykładowy scenariusz: system dokumentacji medycznej wielozaplecza

Organizacja usług zdrowotnych używa usługi Amazon API Gateway do dostępu do systemu przechowywania danych medycznych, który ma wiele backendów. W tym przykładowym scenariuszu przedstawiono typową konfigurację usługi Amazon API Gateway w środowisku usług Amazon Web Services (AWS). Przedstawia typowe integracje z powiązanymi usługami Amazon i kilkoma popularnymi zapleczami API, w tym funkcje Lambda z proxy oraz HTTP lub REST API.

Diagram architektury Amazon API Gateway, w którym żądanie użytkownika przepływa przez Cognito, WAF i API Gateway do punktów końcowych VPC.

Ta architektura obejmuje:

  • Uwierzytelnianie użytkowników za pośrednictwem aplikacji Amazon Cognito z tokenami internetowymi JSON (JWTs).

  • Filtrowanie zabezpieczeń żądań za pomocą zapory sieciowej Amazon Web Application Firewall (WAF) przed dotarciem do usługi Amazon API Gateway.

  • Usługa Amazon API Gateway skonfigurowana z domeną niestandardową przy użyciu certyfikatu przechowywanego w AWS Certificate Manager.

  • Monitorowanie za pośrednictwem aplikacji Amazon CloudWatch.

  • Łączność prywatna za pośrednictwem punktów końcowych usługi Amazon Virtual Private Cloud (VPC) do trzech podsieci prywatnych.

  • Usługi zaplecza, w tym:

    • Lambda w celu wywołania aktualizacji zapisów medycznych.
    • Amazon Elastic Compute Cloud (EC2), która hostuje starsze usługi za modułem równoważenia obciążenia aplikacji.
    • Usługa Amazon Elastic Kubernetes Service (EKS) za modułem równoważenia obciążenia aplikacji na potrzeby przetwarzania danych za pośrednictwem mikrousług.

Oto przykładowa architektura obciążenia migrowanego na platformę Azure. W tym scenariuszu usługa Azure API Management jest wdrażana w warstwie Premium.

Diagram architektury usługi Azure API Management, w której żądanie użytkownika przepływa za pośrednictwem identyfikatora Firmy Microsoft, usługi Application Gateway i usługi API Management do zapleczy platformy Azure.

Ta architektura obejmuje:

  • Bezpieczne wejście za pośrednictwem usługi Azure Application Gateway z zaporą aplikacyjną (WAF). Zapora przekazuje żądania z dodanym JWT do uwierzytelniania.

  • Usługa Azure API Management skonfigurowana wewnątrz sieci wirtualnej. Używa Microsoft Entra ID do weryfikacji JWT.

  • Wewnętrzny moduł równoważenia obciążenia, który kieruje ruch do usługi Azure Kubernetes Service (AKS) dla zapleczy opartych na mikrousługach.

  • Zabezpieczanie połączeń za pośrednictwem prywatnych punktów końcowych do aplikacji funkcyjnych platformy Azure i zapleczy usługi Microsoft Foundry.

  • Monitorowanie obsługiwane przez usługę Azure Monitor.

  • Certyfikaty i domena zarządzana za pośrednictwem usługi Azure Key Vault i strefy usługi Azure DNS. Certyfikat jest również skonfigurowany w usłudze Application Gateway na potrzeby kończenia żądań protokołu TLS.

Omówienie architektury

W tym przykładzie architektury przedstawiono typowe funkcje w usłudze Amazon API Gateway i usłudze Azure API Management. Te funkcje obejmują izolację sieci, zarządzanie ruchem i routing do różnych interfejsów API zaplecza, autoryzacja i kontrola dostępu oraz monitorowanie.

Obie architektury zapewniają porównywalną funkcjonalność:

  • Wdrożenie wysokiej dostępności: zasoby są dystrybuowane między wieloma strefami dostępności w regionie w celu zapewnienia odporności na uszkodzenia, z opcjami zwiększenia dostępności przez wdrożenie w wielu regionach.

  • Domeny niestandardowe i certyfikaty: platformy obsługują niestandardowe nazwy domen z kończeniem żądań TLS/SSL na potrzeby bezpiecznej komunikacji interfejsu API.

  • Izolacja sieci: ruch do interfejsów API backendowych jest izolowany w sieci wirtualnej.

  • Filtrowanie ruchu: zapora sieciowa aplikacji internetowej na krawędzi filtruje i pomaga chronić ruch przychodzący.

  • Obsługa obciążeń interfejsu API: bramy działają jako serwery proxy dla żądań do różnych systemów zaplecza, w tym usług obliczeniowych w chmurze, mikrousług opartych na platformie Kubernetes i niestandardowych zapleczy.

  • Monitorowanie interfejsu API: Wbudowane usługi platformy rejestrują aktywność interfejsu API i udostępniają metryki usług.

  • Modulacja interfejsu API: Usługi obsługują buforowanie odpowiedzi, limity przydziałów żądań i limity szybkości, konfigurację współużytkowania zasobów między źródłami (CORS) oraz przekształcenia żądań/odpowiedzi.

  • Uwierzytelnianie i autoryzacja interfejsu API: bramy obsługują wiele metod dostępu, w tym klucze, dostęp oparty na tokenach OAuth i zasady oparte na interfejsie API.

Krok 1. Ocena

Przed przeprowadzeniem migracji z usługi Amazon API Gateway do usługi Azure API Management należy ocenić istniejące funkcje infrastruktury, obciążenia interfejsu API i konfiguracje interfejsu API. Zidentyfikuj możliwości mapowania lub zastępowania. Ta ocena pomaga zapewnić bezproblemową migrację i utrzymać funkcjonalność aplikacji.

Uwaga / Notatka

Możliwości usługi Amazon API Gateway mogą się różnić w zależności od tego, czy udostępniasz interfejsy API jako interfejs API REST, czy typ produktu interfejsu API HTTP. W usłudze Azure API Management możliwości różnią się w zależności od warstwy usług, a nie według oznaczenia typu interfejsu API.

Ocena możliwości infrastruktury

Możliwości usługi Amazon API Gateway Odpowiednik usługi Azure API Management Podejście do migracji
Prywatne punkty końcowe VPC Wdrażanie usługi Azure API Management w wewnętrznej sieci wirtualnej

Integracja usługi API Management z prywatną siecią wirtualną dla połączeń wychodzących
Skonfiguruj dedykowane podsieci dla zapleczy w sieci wirtualnej, w której usługa Azure API Management jest wstrzykiwana lub zintegrowana albo dociera do zapleczy za pośrednictwem usługi Azure Private Link.
Zapora aplikacji internetowej platformy AWS Zapora aplikacji internetowej platformy Azure; na przykład w usłudze Azure Application Gateway (usługa regionalna) lub Azure Front Door (usługa globalna) Mapowanie reguł zapory aplikacji internetowej stosowanych na etapach interfejsu API w usłudze Amazon API Gateway do reguł na poziomie usług w usłudze Azure Web Application Firewall.
Niestandardowe domeny Domeny niestandardowe skonfigurowane w usłudze Azure API Management oraz punkt początkowy upstream, taki jak Application Gateway lub Azure Front Door Użyj tych samych nazw domen i istniejących certyfikatów podczas przełączania na zewnętrzny system nazw domen (DNS). Jeśli migracja używa różnych nazw domen, należy uzyskać nowe certyfikaty.
Punkty końcowe zoptymalizowane pod kątem krawędzi Wdrożenie w wielu regionach Skonfiguruj bramy usługi Azure API Management w wielu regionach w zależności od wymagań dotyczących dostępu klienta. Ta topologia jest zwykle połączona z globalnym punktem obecności w usłudze Azure Front Door.
Strefy dostępności domyślnie Strefy dostępności domyślnie (warstwa Premium) Wdróż usługę Azure API Management w warstwie Premium w regionie obsługującym strefy dostępności. Użyj domyślnej automatycznej konfiguracji stref dostępności.
Metryki usługi CloudWatch Metryki usługi Azure Monitor Skonfiguruj metryki żądań bramy API, aby obsługiwać porównanie wydajności usługi Azure API Management względem obiektu odniesienia w usłudze Amazon API Gateway.
Dzienniki usługi CloudWatch i dzienniki CloudTrail Dzienniki usługi Azure Monitor Skonfiguruj ustawienia diagnostyczne, aby wysyłać dzienniki usługi Azure API Management do obszaru roboczego usługi Log Analytics na potrzeby wbudowanej analizy i analizy niestandardowej. Rozważ wdrożenie usługi Application Insights lub innych narzędzi do obserwacji w celu dodania monitorowania operacyjnego.

Uwaga / Notatka

Ustanowienie metryk punktu odniesienia z Amazon API Gateway przy migracji. Użyj tych punktów odniesienia, aby porównać wydajność usługi Azure API Management po migracji i potwierdzić, że spełnia lub przekracza oczekiwania.

Niezgodność możliwości i strategie

  • Integracja WAF w Amazon API Gateway nie ma bezpośredniego odpowiednika w Azure API Management. W usłudze Amazon API Gateway reguły WAF są stosowane bezpośrednio na interfejsie API REST. W usłudze Azure API Management, konfiguracja reguł WAF zazwyczaj wymaga wdrożenia uprzedniego wystąpienia usługi Application Gateway, przekierowywania ruchu oraz kończenia połączeń TLS za pośrednictwem bramy. Alternatywnie w przypadku scenariuszy aktywnych/aktywnych w wielu regionach należy użyć usługi Azure Front Door przed usługą Azure API Management.
  • Domeny niestandardowe są obsługiwane w usłudze Azure API Management. Jeśli używasz usługi Application Gateway i usługi Azure Web Application Firewall z przodu, musisz również skonfigurować domenę niestandardową i certyfikat TLS w warstwie usługi Application Gateway.
  • Punkty końcowe zoptymalizowane dla sieci brzegowej w usłudze Amazon API Gateway obsługują geograficznie rozproszonych klientów. Podobna funkcja w usłudze Azure API Management wymaga wdrożenia dodatkowych bram regionalnych po dodatkowych kosztach.

Porównanie obciążeń interfejsu API

W ramach oceny należy rozważyć, czy zachować lub zastąpić istniejące usługi. Oceń, czy migracja jest okazją do modernizacji lub konsolidacji usług.

Obciążenie usługi Amazon API Gateway Odpowiednik usługi Azure API Management Podejście do migracji
Integracja serwera proxy lambda

Integracja Lambda bez proxy (własna)

Wywoływanie lambda przy użyciu punktu końcowego usługi Amazon API Gateway
Typ interfejsu API aplikacji funkcji platformy Azure Zastanów się, czy zachować lub zastąpić istniejące funkcje lambda (na przykład za pomocą funkcji platformy Azure lub kontenerów).
API REST

Interfejsy API HTTP
Importowanie specyfikacji interfejsu OpenAPI Eksportowanie interfejsu API REST z usługi Amazon API Gateway i importowanie go w usłudze Azure API Management. Możesz też ręcznie uzyskać dostęp do konfiguracji interfejsu API w usłudze Amazon API Gateway i utworzyć go ponownie w usłudze Azure API Management.
Interfejsy API protokołu WebSocket Typ interfejsu API protokołu WebSocket Ręczne uzyskiwanie dostępu do konfiguracji interfejsu API w usłudze Amazon API Gateway i ponowne tworzenie jej w usłudze Azure API Management.

Niezgodność możliwości i strategie

  • Zaplecza lambda są obsługiwane natywnie w usłudze Amazon API Gateway jako interfejsy API HTTP. Usługa Azure API Management nie zapewnia natywnej integracji z porównywalnymi aplikacjami funkcji platformy Azure. Usługa Azure API Management musi wywoływać aplikacje funkcyjne za pośrednictwem protokołu HTTP przy użyciu klucza funkcji lub tożsamości zarządzanej.
  • Specyfikacje interfejsu OpenAPI wyeksportowane z interfejsu API REST usługi Amazon API Gateway zawierają szczegóły specyficzne dla implementacji frontonu w usłudze Amazon API Gateway, a nie z usługi zaplecza. Należy usunąć tagi specyficzne dla platformy AWS i skonfigurować szczegóły w specyfikacji (np. adres URL usługi zaplecza) przed zaimportowaniem do usługi Azure API Management lub podczas procesu migracji.
  • Zaplecze mikrousług Kubernetes, takie jak interfejsy API gRPC, są obsługiwane inaczej:
    • Amazon API Gateway łączy się z modułem równoważenia obciążenia aplikacji w VPC, który z kolei umożliwia dostęp do AWS EKS.
    • Usługa Azure API Management obsługuje interfejsy API gRPC w klastrach Kubernetes dostępne tylko za pośrednictwem bramy hostowanej lokalnie.
    • Użycie gRPC uniemożliwia korzystanie z usługi Application Gateway jako zapory aplikacji internetowej.

Porównanie konfiguracji interfejsu API

Podejście do migracji konfiguracji interfejsu API musi uwzględniać zakres konfiguracji w usłudze Amazon API Gateway. Na poziomie ogólnym zakresy interfejsu API są mapowane w następujący sposób z usług Amazon API Gateway do usług Azure API Management.

Zakres interfejsu API usługi Amazon API Gateway Odpowiednik usługi Azure API Management
Zasób interfejsu API API
Faza interfejsu API wersja API
Metoda interfejsu API Działanie API
Plan użycia Product

Poniższa tabela ocenia konfiguracje interfejsu API w usłudze Amazon API Gateway i równoważne konfiguracje w usłudze Azure API Management:

Konfiguracja interfejsu API usługi Amazon API Gateway Odpowiednik usługi Azure API Management Podejście do migracji
Zmienne etapowe Zdefiniowane wartości Skonfiguruj nazwane wartości (pary nazwa/wartość) na poziomie usługi w usłudze Azure API Management.
Buforowanie odpowiedzi Buforowanie odpowiedzi Skonfiguruj zasady buforowania w zamapowanym zakresie, jak pokazano w poprzedniej tabeli. Opcjonalnie skonfiguruj zewnętrzną pamięć podręczną zgodną z usługą Redis w celu zwiększenia kontroli i niezawodności.
Plany użycia i klucze interfejsu API Produkty i subskrypcje Dokumentowanie konfiguracji usługi Amazon API Gateway i ponowne tworzenie ich w usłudze Azure API Management.
Ograniczanie przepustowości i limity przydziału Zasady limitowania i kwot Skonfiguruj zasady ograniczania szybkości i przydziału w zamapowanym zakresie, jak pokazano w poprzedniej tabeli.
CORS Zasady MECHANIZMU CORS Skonfiguruj zasady CORS z dozwolonymi nagłówkami i źródłami w zmapowanym zakresie, jak pokazano w poprzedniej tabeli.
Zasady zasobów

Zasady dotyczące punktu końcowego VPC

Pule użytkowników Cognito

Uwierzytelnianie mTLS
Zasady uwierzytelniania i autoryzacji

Menedżer poświadczeń
Ręczne mapowanie. Rozważ skorzystanie z pomocy w zakresie sztucznej inteligencji dla narzędzi, takich jak Microsoft Copilot na platformie Azure.
Szablony mapowania Zasady przekształcania Ręczne mapowanie. Rozważ skorzystanie z pomocy w zakresie sztucznej inteligencji dla narzędzi, takich jak Microsoft Copilot na platformie Azure.
Etapy interfejsu API Wersje interfejsu API Tworzenie wersji interfejsu API w usłudze Azure API Management.

Niezgodność możliwości i strategie

  • Limity przydziału i ograniczania przepustowości są nakładane przez usługę Amazon API Gateway na konto platformy AWS. W usłudze Azure API Management najwyższy zakres to zakres wszystkich interfejsów API na instancję.

  • Metody uwierzytelniania i autoryzacji interfejsu API w usłudze Amazon API Gateway, takie jak uprawnienia IAM i autoryzatory lambda, nie są mapowane bezpośrednio na usługę Azure API Management. Klienci mogą oceniać alternatywne metody uwierzytelniania i autoryzacji, takie jak użycie identyfikatora Microsoft Entra ID lub zewnętrznego dostawcy tożsamości.

  • Metryki związane z pamięcią podręczną w usłudze Amazon API Gateway nie są mapowane bezpośrednio na metryki usługi Azure API Management. Trafienia i pominięcia cache'u można policzyć w dziennikach śledzenia operacji w Azure API Management.

Przeglądanie zasobów na potrzeby migracji

Ponadto w przypadku obciążeń API:

Krok 2. Przygotowanie

W fazie przygotowania zaplanuj infrastrukturę platformy Azure, wybierz odpowiednie warstwy usługi API Management na potrzeby testowania i produkcji, a następnie dokładnie udokumentowaj źródłowe interfejsy API i zintegrowane usługi. Wyeksportuj odpowiednie konfiguracje platformy AWS i zaprojektuj strategię migracji etapowej, aby zapewnić bezproblemowe przejście.

Planowanie konfiguracji infrastruktury

Planowanie ruchu przychodzącego i wychodzącego, zapór, izolacji sieci i integracji z punktami wejścia ruchu sieciowego, takimi jak Application Gateway, Azure Front Door lub Azure Traffic Manager. Zapoznaj się z implikacjami prywatnej i publicznej ekspozycji docelowego systemu Azure API Management, szczególnie w przypadku systemu DNS i możliwości śledzenia.

Zapoznaj się ze wskazówkami w akceleratorze strefy docelowej usługi Azure API Management i oceń scenariusze, które mogą być odpowiednie dla zapleczy migracji i interfejsu API. Rozważ, czy obciążenia są wystarczająco odizolowane, aby odnieść z nich korzyści.

Podstawowym scenariuszem, którego można użyć do początkowej migracji i kompilowania na platformie Azure, jest bezpieczny punkt odniesienia z przykładowym obciążeniem.

Planowanie wystąpień testowych i produkcyjnych usługi API Management

Wybierz odpowiednie warstwy usługi Azure API Management dla środowisk testowych i produkcyjnych:

  • Jeśli potrzebujesz izolacji sieciowej zarówno ruchu przychodzącego, jak i wychodzącego, wraz z wejściem ruchu za pośrednictwem usługi Azure Front Door lub Application Gateway, zalecamy obecnie warstwę Premium usługi Azure API Management. Jeśli wybierzesz warstwę Premium, możesz użyć warstwy Dewelopera (bez umowy dotyczącej poziomu usług) do migracji dowodów koncepcji. Warstwa Deweloper obsługuje możliwości sieciowe, które są również dostępne w warstwie Premium. Nie należy jednak używać warstwy Deweloper w środowisku produkcyjnym.

  • W zależności od wymagań dotyczących dostępności, wydajności i izolacji sieci należy wziąć pod uwagę warstwę Standardowa w wersji 2 lub Premium w wersji 2. Obie obsługują integrację z sieciowo izolowanymi zapleczami. Warstwa Premium v2 obsługuje również wstrzykiwanie do sieci wirtualnej w celu odizolowania ruchu przychodzącego.

  • Obecnie warstwa Premium v2 z funkcjami izolowania ruchu przychodzącego jest dostępna w wersji zapoznawczej. Możesz rozważyć użycie jej do migracji, w zależności od harmonogramów wdrożenia w odniesieniu do dostępnych informacji na temat wydania Premium v2 oraz ścieżek migracji.

Zrozumienie i dokumentowanie zarządzanych źródłowych interfejsów API

Przechwytywanie konfiguracji API, obejmujące przepływy uwierzytelniania i autoryzacji, przekształcenia i mechanizmy buforowania.

Zidentyfikuj wszystkie usługi zintegrowane z Amazon API Gateway, takie jak autoryzatory Lambda, równoważniki obciążenia aplikacji, równoważniki obciążenia sieci i obciążenia Kubernetes.

W przypadku katalogowania interfejsów API w ramach zarządzania rozważ użycie centrum interfejsów API platformy Azure i zsynchronizowanie interfejsów API z usługi Amazon API Gateway.

W miarę możliwości używaj narzędzi odnajdywania, takich jak Eksplorator zasobów platformy AWS . Należy jednak oczekiwać, że w dużym stopniu będzie polegać na ręcznie zebranych informacjach, wewnętrznej dokumentacji i listach kontrolnych.

Dokumentowanie przepływów danych, topologii sieci i diagramów architektury, nawet jeśli są one przybliżone.

Eksportowanie konfiguracji platformy AWS tam, gdzie to możliwe

Eksportuj konfiguracje, takie jak:

  • Specyfikacje OpenAPI dla backendowych interfejsów API; na przykład przy użyciu konsoli AWS lub interfejsu wiersza polecenia AWS. Jeśli interfejsy API zostały pierwotnie zdefiniowane za pomocą OpenAPI, być może masz już te specyfikacje.

  • Certyfikaty SSL/TLS przechowywane w Menedżerze certyfikatów platformy AWS.

  • Reguły WAF można wyeksportować do CloudFormation.

Przechwyć artefakty, w tym szablony CloudFormation, które mogą być eksportowane do programu Terraform za pomocą narzędzi zewnętrznych. Te artefakty mogą ułatwić mapowanie na platformę Azure (szablony Bicep, Azure Resource Manager i Terraform).

Planowanie strategii wycofywania

Zalecamy zaplanowanie migracji etapowej (API po API lub domena po domenie). Zaktualizuj jeden zestaw domen lub punktów końcowych API w Azure API Management, a inne pozostaw na platformie AWS, następnie stopniowo przenieś pozostałe. Ta strategia może wymagać od aplikacji klienckich obsługi mieszanych punktów końcowych lub użycia warstwy routingu.

Krok 3. Ocena

Migracja jest uznawana za pomyślną, gdy zmigrowany system spełnia kryteria weryfikacji, a usługa Azure API Management obsługuje cały ruch produkcyjny bez znaczącej regresji funkcjonalności ani wydajności.

Kryteria weryfikacji obejmują:

  • Weryfikowanie infrastruktury: infrastruktura sieci jest udokumentowana i dostępna tylko zgodnie z oczekiwaniami. Jeśli na przykład jest on wstrzykiwany w wewnętrznej sieci wirtualnej, upewnij się, że żadne publiczne adresy IP nie ujawniają go.

    Wystąpienie usługi Azure API Management może dotrzeć do dowolnych wymaganych sieci lub zależności wymaganych do działania.

  • Zweryfikuj funkcjonalność interfejsu API dla wszystkich punktów końcowych: wszystkie punkty końcowe interfejsu API działają zgodnie z oczekiwaniami w rzeczywistych scenariuszach, w tym prawidłowych i nieprawidłowych żądań i ładunków. Upewnij się, że wszystkie przekształcenia żądań lub odpowiedzi w skonfigurowanych zasadach mają miejsce:

    • Potwierdź wszystkie wymagane konfiguracje uwierzytelniania i autoryzacji (klucze subskrypcji, tokeny OAuth, certyfikaty) dla każdego interfejsu API.

    • Upewnij się, że klienci mogą używać interfejsów API tak jak poprzednio bez zmian (z wyjątkiem adresu URL punktu końcowego, jeśli nazwa domeny uległa zmianie).

    • Sprawdź, czy limity przepustowości i przydziały są skonfigurowane w odpowiednim zakresie.

  • Weryfikowanie metryk operacyjnych: monitorowanie wydajności przy użyciu pulpitów nawigacyjnych lub innych narzędzi do obserwowania pod obciążeniem produkcyjnym. Przejrzyj metryki, takie jak średnie opóźnienie i przepływność, i porównaj je z danymi historycznymi z usługi Amazon API Gateway. Przejrzyj metryki pojemności, aby upewnić się, że wystąpienie usługi Azure API Management jest prawidłowo skalowane.

Krok 4. Proces

Proces migracji może potrwać wiele tygodni lub miesięcy, w zależności od złożoności infrastruktury usługi oraz liczby i złożoności migrowanych interfejsów API.

Ukończ konfigurację podstawową

Jeśli nie masz jeszcze dzierżawy platformy Azure i podstawowej infrastruktury (podstawowej sieci, ruchu przychodzącego, zabezpieczeń), zbuduj je przed migracją Amazon API Gateway i API. Środowisko można skonfigurować przy użyciu architektury strefy docelowej platformy Azure, która jest odpowiednia do migracji.

Jeśli akcelerator strefy docelowej infrastruktury jako kodu usługi Azure API Management nadaje się do migracji, zaimplementuj go dla podstawowego wdrożenia usługi Azure API Management. Uwzględnij usługę Application Gateway i wewnętrzną sieć wirtualną w usłudze Azure API Management. Chociaż akcelerator strefy lądowania korzysta z poziomu Premium usługi Azure API Management, zalecamy dostosowanie szablonów do korzystania z poziomu Deweloper na potrzeby migracji dowodu koncepcji.

Tworzenie i przypisywanie ról kontroli dostępu opartej na rolach (RBAC) platformy Azure w taki sposób, aby tylko autoryzowani administratorzy mogli zarządzać wystąpieniem usługi Azure API Management i interfejsami API.

Konfigurowanie ustawień platformy usługi Azure API Management

W nowym wystąpieniu usługi Azure API Management skonfiguruj konfiguracje globalne podobne do tych w usłudze Amazon API Gateway:

  • Niestandardowa nazwa hosta: dodaj domenę niestandardową do usługi Azure API Management, przekaż certyfikat SSL (lub użyj odwołań usługi Key Vault) i przeprowadź walidację. Wykonaj to zadanie teraz lub tuż przed przekroczeniem produkcji. Jeśli używasz usługi Application Gateway (zalecane), skonfiguruj odbiornik z domeną niestandardową i certyfikatem, a następnie wskaż go do wewnętrznego punktu końcowego usługi Azure API Management. Konfigurowanie odbiornika upraszcza konfigurację, ponieważ nie wymaga weryfikacji domeny.

  • Sieć i zabezpieczenia: upewnij się, że usługa Application Gateway (lub inny punkt wejścia platformy Azure) jest skonfigurowana do przekazywania żądań do usługi Azure API Management. Skonfiguruj reguły sieciowej grupy zabezpieczeń lub reguły zapory, aby usługa Azure API Management mogła uzyskiwać dostęp do usług zaplecza. Te usługi mogą obejmować Twoje zaplecza Azure, a nawet źródłowe zaplecza AWS, jeśli początkowo wskazujesz na nie.

  • Tożsamość zarządzana: włącz tożsamość zarządzaną w usłudze Azure API Management, aby bezpiecznie wywoływać usługi platformy Azure (takie jak usługa Key Vault dla certyfikatów lub aplikacji funkcji).

Po zakończeniu tej fazy należy mieć działającą powłokę usługi Azure API Management na platformie Azure z łącznością i podstawową strukturą gotową do rozpoczęcia importowania interfejsów API.

Importowanie i ponowne tworzenie interfejsów API w usłudze Azure API Management

Gdy infrastruktura będzie gotowa, rozpocznij migrację definicji i konfiguracji interfejsu API:

  • Zacznij od prostego interfejsu API niskiego ryzyka: użyj reprezentatywnego interfejsu API, aby zweryfikować podstawowe funkcje bramy w usłudze Azure API Management przed ponownym utworzeniem interfejsów API z usługi Amazon API Gateway.

  • Importowanie do usługi Azure API Management: używając portalu Azure lub skryptów, zaimportuj definicje OpenAPI z Amazon API Gateway lub zaplecza jako nowe interfejsy API w usłudze Azure API Management. Podczas importowania usługa Azure API Management automatycznie tworzy strukturę interfejsów API i operacji. Jeśli masz wiele etapów interfejsu API w usłudze Amazon API Gateway, utwórz wiele wersji interfejsu API w usłudze Azure API Management.

    Początkowo ustaw adres URL backendu dla każdego interfejsu API tak, aby wskazywał bieżące backend. (Na razie bieżące zaplecze może nadal być punktem końcowym platformy AWS lub publicznym punktem końcowym). Jeśli na przykład usługa Amazon API Gateway została przekazana do usługi Lambda, możesz ustawić zaplecze usługi Azure API Management na równoważny interfejs API w usłudze Amazon API Gateway lub równoważną aplikację funkcji platformy Azure, jeśli została już zmigrowana. (Jeśli ustawisz zaplecze usługi Azure API Management na równoważny interfejs API w usłudze Amazon API Gateway, zmienisz tę konfigurację później, jeśli zmigrujesz funkcję Lambda na platformę Azure). Jeśli zaplecze było modułem równoważenia obciążenia aplikacji platformy AWS lub punktem końcowym, usługa Azure API Management może wywoływać ją za pośrednictwem Internetu.

    Jeśli masz dużą liczbę interfejsów API, możesz użyć Centrum interfejsów API platformy Azure do katalogowania interfejsów API migrowanych do usługi Azure API Management w czasie i tych, które pozostają w usłudze Amazon API Gateway.

    Rozważ migrację lub refaktoryzację usług zaplecza technicznego (na przykład jako aplikacje funkcji platformy Azure lub obciążenia robocze AKS) po tym, jak zweryfikujesz infrastrukturę. Zapoznaj się ze wskazówkami w centrum migracji platformy Azure.

Konfigurowanie uwierzytelniania i autoryzacji

  • Subskrypcje i produkty: jeśli twoje interfejsy API wymagały kluczy interfejsu API w usłudze Amazon API Gateway (za pośrednictwem nagłówka x-api-key ), zdecyduj, jak to zrobić w usłudze Azure API Management. Jednym z podejść jest udostępnienie tych interfejsów API tylko użytkownikom, którzy mają subskrypcję produktu. Utwórz początkowe produkty w usłudze Azure API Management, odpowiadające jeden do jednego z planami użycia platformy AWS lub zreorganizowane logicznie.

  • Grupy użytkowników: tworzenie grup użytkowników w usłudze Azure API Management w celu zdublowania sposobu udostępniania interfejsów API deweloperom.

  • Nazwane wartości: Zaimportuj wszystkie wartości konfiguracji, takie jak punkty końcowe lub klucze API dla usług zaplecza, które znajdowały się w zmiennych etapowych Amazon API Gateway, do Azure API Management jako nazwane wartości. W przypadku wartości poufnych użyj integracji z usługą Azure Key Vault.

  • Pobieranie i walidacja tokenu: w przypadku weryfikacji żądań interfejsu API JWT skonfiguruj zasady walidacji w usłudze Azure API Management, które autoryzują dostęp do interfejsu API. Możesz początkowo użyć istniejącego dostawcy tożsamości (takiego jak AWS Cognito) i rozważyć migrację z czasem do identyfikatora Entra firmy Microsoft.

    Skonfiguruj menedżera poświadczeń w usłudze Azure API Management na potrzeby zarządzania tokenami w zapleczach OAuth. Możesz też skonfigurować logikę pobierania tokenu przy użyciu zasad z repozytorium fragmentów zasad.

  • Zaplecza w usłudze Azure API Management: konfigurowanie zapleczy w usłudze Azure API Management w celu zarejestrowania każdej usługi zaplecza (przy użyciu adresu URL, poświadczeń i innych informacji). Ta akcja zapewnia centralne miejsce do aktualizacji, jeśli adres URL zaplecza ulegnie zmianie. Jeśli na przykład początkowo wskażesz punkt końcowy platformy AWS, ale później przełączysz się do zaplecza platformy Azure, możesz po prostu zaktualizować konfigurację zaplecza usługi Azure API Management.

  • Sprawdzanie parzystości funkcji: zapoznaj się z listą funkcji używanych przez każdy interfejs API i upewnij się, że zostały one rozwiązane.

    Na przykład testowe interfejsy API obsługujące ładunki binarne (obrazy i pliki) lub duże ładunki. Upewnij się, że usługa Azure API Management jest skonfigurowana z odpowiednimi ustawieniami przekroczenia limitu czasu, rozmiaru lub weryfikacji zawartości dla tych scenariuszy.

    Usługa Azure API Management traktuje wszystkie zaimportowane interfejsy API dość równomiernie, dzięki czemu interfejsy API HTTP usługi Amazon API Gateway (nowszy typ uproszczony) a interfejsy API REST (typ klasyczny) są zarządzane spójnie w usłudze Azure API Management. Różnice, takie jak brak planów użycia w interfejsach API protokołu HTTP, stają się nieistotne po umieszczeniu interfejsów API w usłudze Azure API Management, ale upewnij się, że wszystkie ograniczenia specyficzne dla rozwiązania Amazon API Gateway zostały uwzględnione.

Zarządzanie przekształcaniem i mapowaniem zasad

Powielaj istniejące konfiguracje API jako zasady usługi Zarządzanie API Azure tam, gdzie to właściwe, zwłaszcza w kontekście autoryzacji i zgodności z poprzednimi wersjami.

Odzwierciedlenie konfiguracji mechanizmu CORS w usłudze Amazon API Gateway w politykę CORS w usłudze Azure API Management.

Obsługa przekształceń (takich jak mapowanie schematu lub wzbogacanie) indywidualnie dla każdego przypadku.

Narzędzia sztucznej inteligencji, takie jak Microsoft Copilot na platformie Azure w witrynie Azure Portal, oraz serwery MCP dla usług AWS i dokumentacji firmy Microsoft, mogą pomóc w mapowaniu konfiguracji lub innej transformacji. Jednak spodziewaj się ręcznej konfiguracji zasad i debugowania w usłudze Azure API Management.

Konfigurowanie możliwości obserwacji

Na potrzeby początkowego monitorowania skonfiguruj usługę Azure Monitor, aby zbierać metryki i dzienniki interfejsu API. Więcej rozwiązań monitorujących lub obserwacyjnych, takich jak usługa Application Insights, można później dodawać jako kolejne warstwy.

Wykonywanie testów

W przypadku interfejsów API skonfigurowanych w usłudze Azure API Management dokładne testowanie ma kluczowe znaczenie. Spodziewaj się, że ta faza będzie iteracyjna.

  • Testowanie funkcjonalne: dla każdego interfejsu API wywołaj nowy punkt końcowy usługi Azure API Management (za pośrednictwem konsoli testowej witryny Azure Portal lub narzędzi klienckich) i porównaj odpowiedzi z punktem końcowym usługi Amazon API Gateway. Sprawdź oczekiwane kody stanu, nagłówki i treść. Jeśli znajdziesz różnice, odpowiednio dostosuj zasady lub konfigurację usługi Azure API Management.

    Uwaga / Notatka

    Jeśli instancja usługi API Management znajduje się w wewnętrznej konfiguracji sieci wirtualnej, konsola testowa nie będzie działała. Interfejsy API można przetestować przy użyciu innych narzędzi klienckich wdrożonych w sieci lub przy użyciu portalu deweloperów usługi API Management (jeśli włączysz je dla danego wystąpienia).

  • Testowanie zabezpieczeń: sprawdź, czy działa uwierzytelnianie i autoryzacja interfejsu API. Na przykład należy przedstawić prawidłowy klucz JWT lub klucz subskrypcji do usługi Azure API Management. Upewnij się, że usługa Azure API Management akceptuje żądanie i że nieprawidłowe poświadczenia są odrzucane z odpowiednimi kodami błędów. Klienci, którzy przekazują tokeny na potrzeby weryfikacji JWT, mogą wymagać autoryzacji z innym dostawcą tożsamości, jeśli został skonfigurowany podczas migracji. Jeśli używasz kluczy subskrypcji, przetestuj z kluczem i bez niego.

  • Punkt odniesienia wydajności: użyj narzędzia, aby symulować obciążenie punktów końcowych usługi Azure API Management i sprawdzić, czy mogą obsłużyć oczekiwaną przepływność. Porównaj opóźnienie wywołań za pośrednictwem usługi Azure API Management z opóźnieniem za pośrednictwem usługi Amazon API Gateway. Usługa Azure API Management w warstwie Deweloper jest mniej wydajna niż w warstwie Premium i jako pojedyncze wystąpienie, dlatego intensywne testowanie wydajności można odłożyć do momentu wdrożenia wystąpienia usługi Azure API Management w warstwie Premium.

Rozpoczynanie wdrażania produkcyjnego

Przejdź do warstwy Premium lub innej warstwy gotowej do produkcji usługi Azure API Management w środowisku produkcyjnym. Powtórz lub zmigruj ustawienia importu i konfiguracji interfejsu API utworzone w środowiskach przedprodukcyjnych. Za pomocą procesów APIOps można publikować interfejsy API i zarządzać konfiguracjami interfejsów API w różnych środowiskach.

Przećwicz przełączenie w środowisku testowym lub z podzbiorem ruchu. Na przykład wybierz jeden niekrytyczny interfejs API i przełącz jedną aplikację kliencką na używanie punktu końcowego Azure. Takie rozwiązanie może ujawnić wszelkie problemy po stronie klienta lub pomóc zweryfikować proces zmiany DNS. Jeśli użytkownicy interfejsu API są wewnętrzni, możesz symulować zmianę, edytując pliki hosta lub używając testowej strefy DNS, aby tymczasowo wskazać domenę usłudze Azure API Management.

  • Przełącznik DNS: najczęstszym podejściem jest przełączenie wpisu DNS niestandardowej domeny usługi Amazon API Gateway w celu wskazania nowego punktu końcowego platformy Azure. Jeśli na przykład zamapujesz domenę api.example.com do usługi Amazon API Gateway, zaktualizuj rekord CNAME lub A, aby wskazywał nazwę hosta usługi Azure API Management lub do domeny frontonu (na przykład usługi Application Gateway).

  • Zagadnienia dotyczące TTL (Time to Live): wcześniej obniż wartość TTL DNS, aby klienci szybko odbierali zmiany. Gdy wszystko będzie gotowe, zmień system DNS. Propagacja może potrwać kilka minut do godzin. W tym czasie część ruchu może nadal przechodzić do AWS, podczas gdy część przechodzi do Azure. Jeśli potrzebujesz natychmiastowego obejścia, możesz użyć alternatywnej metody, takiej jak zwrotny serwer proxy.

  • Alternatywne metody przełączenia: Czasami zamiast DNS organizacje używają zwrotnego serwera proxy lub zmiany bramy. Na przykład organizacja może zachować publiczny system DNS tak samo, ale początkowo usługa Application Gateway przekazuje żądania do usługi Amazon API Gateway (za pośrednictwem adresu URL). Podczas przełączania organizacja wewnętrznie kieruje usługę Application Gateway na usługę Azure API Management. Takie podejście jest bardziej złożone, ale może uzyskać natychmiastowy przełącznik. Inną metodą, jeśli korzystasz z usługi Azure Front Door lub Traffic Manager, jest stopniowe przenoszenie ruchu z jednego zaplecza (AWS) do innego (Azure).

  • Monitorowanie podczas przełączania: Natychmiast po przełączeniu należy uważnie monitorować żądania zarówno do wystąpienia usługi Azure API Management, jak i usługi Amazon API Gateway. Monitorowanie metryk usługi Azure API Management (żądań, opóźnień, procesora CPU, pamięci pojemności) w czasie rzeczywistym za pośrednictwem witryny Azure Portal lub dowolnego skonfigurowanego pulpitu nawigacyjnego. Usługa Azure Monitor umożliwia również obserwowanie skoków liczby błędów, takich jak odpowiedzi 4XX/5XX.

  • Plan wycofania: zdecyduj, co wyzwala wycofanie. Jeśli na przykład współczynnik błędów przekracza określony procent lub zostanie przerwana krytyczna funkcjonalność, możesz przywrócić poprzedni stan w ciągu 30 minut. Wycofywanie oznacza cofanie dowolnej zmiany, którą wykonano. Jeśli na przykład przełącznik był systemem DNS, przywróć rekord DNS, aby wrócić do usługi Amazon API Gateway. Z powodu propagacji DNS wycofanie może zająć trochę czasu. Czas przywracania podkreśla znaczenie niskiego czasu wygaśnięcia i prawdopodobnie potrzeba utrzymania działania obu systemów. Jeśli użyto zwrotnego serwera proxy, przełącz go z powrotem na AWS.

Likwiduj usługę Amazon API Gateway

Wycofaj usługę Amazon API Gateway po upływie okresu, w którym otrzymuje ona zerowy ruch, i gdy instancja usługi Azure API Management spełnia kryteria weryfikacji. Zazwyczaj uruchamia się oba systemy równolegle, przekazując cały ruch platformie Azure, przez co najmniej jeden pełny cykl biznesowy lub okres największego natężenia ruchu, żeby upewnić się, że nowy system dobrze sobie z nim radzi.

Optymalizacja iteracyjna

Po migracji skoncentruj się na optymalizacji iteratywnej konfiguracji usługi API Management, zamykając luki w funkcjach i wdrażając najlepsze rozwiązania. Ten iteracyjny proces ulepszania gwarantuje, że zmigrowane obciążenie spełnia wszystkie kryteria powodzenia ustanowione podczas kroku oceny. Gwarantuje to również, że zmigrowane obciążenie jest zgodne z najlepszymi rozwiązaniami dotyczącymi architektury usługi API Management.

Iteracja nad brakami w funkcjach

Niektóre funkcje Amazon API Gateway nie mają bezpośredniego odpowiednika w Azure API Management i wymagają stosowania obejść, jak opisano wcześniej w sekcji Ocena. Przykład:

  • Zapora aplikacji internetowej: usługa Azure API Management nie blokuje automatycznie nieprawidłowych ładunków zablokowanych przez zaporę aplikacji internetowej platformy AWS. Jeśli skonfigurowano usługę Azure Web Application Firewall (WAF), upewnij się, że usługa Azure API Management jest dostępna tylko za pośrednictwem Azure WAF oraz że reguły Azure WAF odzwierciedlają ograniczenia AWS WAF.

  • Strumienie zdarzeń: Jeśli alarmy lub zdarzenia usługi CloudWatch były powiązane z Amazon API Gateway (przykładowo w przypadku niektórych wzorców błędów), należy skonfigurować równoważne alerty w Azure Monitor dla Azure API Management (np. alert dotyczący wskaźnika błędów 5XX w Azure API Management).

  • Automatyzacja: Jeśli masz potoki ciągłej integracji i ciągłego dostarczania (CI/CD), zintegruj usługę Azure API Management z nimi. Możesz na przykład przechowywać konfiguracje usługi Azure API Management (interfejsy API i zasady) w systemie kontroli wersji, stosując podejście infrastruktury jako kodu. Te podejścia mogą obejmować szablony usługi Azure Resource Manager, Bicep lub Terraform albo metodologię APIOps. Dzięki tej integracji przyszłe zmiany interfejsów API można wdrażać spójnie z kontrolowanym wersjonowaniem.

Implementowanie najlepszych rozwiązań

Iteracyjne implementowanie najlepszych rozwiązań, w tym optymalizacji kosztów, wzmacniania zabezpieczeń i ulepszeń operacyjnych. Przejrzyj i zaimplementuj najlepsze rozwiązania dotyczące architektury dla usługi Azure API Management wraz z filarami niezawodności, bezpieczeństwa, doskonałości operacyjnej, zarządzania kosztami i wydajności. Zajmij się zaleceniami usługi Azure Advisor dotyczącymi instancji Azure API Management.

Z czasem dodaj więcej funkcji, takich jak:

  • Buforowanie zewnętrzne.
  • Funkcje monitorowania poza usługą Azure Monitor, takie jak Application Insights lub rozwiązania firmy innej niż Microsoft, takie jak Datadog.
  • Zasady w usłudze Azure API Management, które nie są dostępne w usłudze Amazon API Gateway.

Kluczowe wnioski

Migracja usługi Amazon API Gateway na platformę Azure wymaga starannego planowania i systematycznego wykonywania w celu uzyskania równoważnych funkcji lub alternatywnych metod. Kluczowe czynniki sukcesu obejmują:

  • Dokładna ocena: przeprowadź szczegółową ocenę istniejącej konfiguracji usługi Amazon API Gateway, w tym wszystkich interfejsów API, integracji usług i zależności. Identyfikowanie luk lub różnic w możliwościach między usługą Amazon API Gateway i usługą Azure API Management.

  • Możliwości modernizacji: użyj migracji jako okazji do modernizacji lub migracji usług zaplecza lub ulepszenia projektowania interfejsu API.

  • Kompleksowe przygotowanie: przygotuj środowisko platformy Azure, w tym konfigurację sieci, zabezpieczeń i infrastruktury. Udokumentowanie wszystkich konfiguracji i zaplanowanie wszelkich niezbędnych zmian w usługach zaplecza.

  • Migracja przyrostowa: planowanie podejścia do migracji przyrostowej, począwszy od mniej krytycznych interfejsów API lub usług. Takie podejście umożliwia testowanie i walidację nowej konfiguracji przed pełnym zatwierdzeniem przełącznika.

  • Walidacja i testowanie: Zaimplementuj kompleksowe procesy testowania i walidacji, aby zapewnić, że wystąpienie usługi Azure API Management spełnia wszystkie wymagania funkcjonalne i wydajności. Ten wysiłek obejmuje testowanie obciążenia, testowanie zabezpieczeń i testowanie akceptacyjne użytkowników.

  • Monitorowanie i obserwowanie: skonfiguruj niezawodne monitorowanie i możliwość obserwowania dla nowego wystąpienia usługi Azure API Management, aby szybko identyfikować i rozwiązywać wszelkie problemy, które występują podczas migracji lub po jej zakończeniu.

  • Optymalizacja iteracyjna: po migracji stale optymalizuj konfigurację usługi Azure API Management, usuwając luki w funkcjach i wdrażając najlepsze rozwiązania.