Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie Amazon API Gateway verwenden und Ihre Workload zu Azure migrieren möchten, hilft Ihnen dieses Handbuch, Featurezuordnungen, bewährte Methoden und den Migrationsprozess zu verstehen. Auf Azure bietet Azure API Management API-Gateway-Funktionen. Zu diesen Funktionen gehören API-Anforderungs- und Antwortrouting, Autorisierung und Zugriffssteuerung, Überwachung und Governance sowie API-Versionsverwaltung.
Umfang
In dieser Anleitung erfahren Sie:
- Bewerten Sie Ihre aktuelle Bereitstellung des Amazon API-Gateways.
- Ordnen Sie die Funktionen des Amazon-API-Gateways den Azure-API-Verwaltungsfunktionen zu.
- Bereiten Sie Ihre Amazon- und Azure-Umgebungen auf eine erfolgreiche Migration vor.
- Planen und Ausführen einer Migration mit minimalen Ausfallzeiten.
- Überprüfen Sie, ob Ihre migrierte Workload leistungs- und zuverlässigkeitsanforderungen erfüllt.
- Erfahren Sie, wie Sie die Architektur um zukünftige Verbesserungen iterieren können.
Beispielszenario: System für Multi-Backend-Krankenakten
Ein Gesundheitsdienstleister verwendet Amazon API Gateway, um auf ein Gesundheitsaktensystem zuzugreifen, das über mehrere Backends verfügt. In diesem Beispielszenario wird eine allgemeine Konfiguration des Amazon API-Gateways in einer Aws-Umgebung (Amazon Web Services) bereitgestellt. Es zeigt typische Integrationen mit verwandten Amazon-Diensten und mehreren gängigen API-Back-Ends, einschließlich Proxy-Lambda-Funktionen und HTTP- oder REST-APIs.
Diese Architektur umfasst:
Benutzerauthentifizierung über Amazon Cognito mit JSON-Webtoken (JWTs).
Sicherheitsfilterung von Anforderungen über die Amazon Web Application Firewall (WAF), bevor sie das Amazon API-Gateway erreichen.
Amazon-API-Gateway, das mit einer benutzerdefinierten Domäne über ein zertifikat konfiguriert ist, das im Zertifikat-Manager gespeichert ist.
Überwachung über Amazon CloudWatch.
Private Konnektivität über Amazon Virtual Private Cloud (VPC)-Endpunkte zu drei privaten Subnetzen.
Back-End-Dienste, einschließlich:
- Lambda zum Auslösen von Patientendatensatzaktualisierungen.
- Amazon Elastic Compute Cloud (EC2), die Legacy-Dienste hinter einem Anwendungslastenausgleicher hostet.
- Amazon Elastic Kubernetes Service (EKS) hinter einem Anwendungslastenausgleich für die Datenverarbeitung über Microservices.
Hier ist eine Beispielarchitektur der Workload, die zu Azure migriert wurde. In diesem Szenario wird Azure API Management auf der Premium-Ebene bereitgestellt.
Diese Architektur umfasst:
Sicherer Eintrag über das Azure-Anwendungsgateway mit einer Webanwendungsfirewall (WAF). Die Firewall leitet Anforderungen mit einem JWT weiter, das zur Authentifizierung hinzugefügt wurde.
Azure-API-Verwaltung, die in einem virtuellen Netzwerk konfiguriert ist. Es verwendet Die Microsoft Entra-ID, um JWTs zu überprüfen.
Ein interner Load Balancer, der Datenverkehr an den Azure Kubernetes Service (AKS) für mikroservicesbasierte Back-Ends weiterleitet.
Sichere Verbindungen über private Endpunkte zu Azure-Funktions-Apps und Microsoft Foundry-Back-Ends.
Überwachung, die von Azure Monitor verarbeitet wird.
Zertifikate und eine domäne, die über Azure Key Vault und eine Azure DNS-Zone verwaltet wird. Ein Zertifikat ist auch für die Beendigung von TLS auf dem Anwendungsgateway konfiguriert.
Architekturübersicht
Dieses Architekturbeispiel zeigt allgemeine Features in Amazon API Gateway und Azure API Management. Zu diesen Features gehören Netzwerkisolation, Datenverkehrsverwaltung und Routing an verschiedene Back-End-APIs, Autorisierung und Zugriffssteuerung sowie Überwachung.
Beide Architekturen bieten vergleichbare Funktionalität:
Bereitstellung mit hoher Verfügbarkeit: Ressourcen werden über mehrere Verfügbarkeitszonen in einer Region zur Fehlertoleranz verteilt, mit Optionen für eine höhere Verfügbarkeit durch bereitstellung in mehreren Regionen.
Benutzerdefinierte Domänen und Zertifikate: Die Plattformen unterstützen benutzerdefinierte Domänennamen mit TLS/SSL-Beendigung für die sichere API-Kommunikation.
Netzwerkisolation: Datenverkehr zu Back-End-APIs ist in einem virtuellen Netzwerk isoliert.
Verkehrsfilterung: Eine Webanwendungsfirewall am Netzwerkrand filtert und trägt dazu bei, eingehenden Datenverkehr zu schützen.
API-Workload-Unterstützung: Gateways fungieren als Proxys für Anforderungen an verschiedene Back-End-Systeme, einschließlich Cloud-Computedienste, Kubernetes-basierte Microservices und benutzerdefinierte Back-Ends.
API-Überwachung: Protokollierung der API-Aktivität der integrierten Plattformdienste und Bereitstellung von Dienstmetriken.
API-Modulation: Dienste unterstützen das Zwischenspeichern von Antworten, Anforderungskontingente und Ratelimits, corS-Konfiguration (Cross-Origin Resource Sharing) und Anforderungs-/Antworttransformationen.
API-Authentifizierung und -Autorisierung: Gateways unterstützen mehrere Zugriffsmethoden, einschließlich Schlüsseln, OAuth-tokenbasiertem Zugriff und API-basierten Richtlinien.
Schritt 1: Bewertung
Bevor Sie vom Amazon API-Gateway zu Azure API Management migrieren, bewerten Sie die vorhandenen Infrastrukturfeatures, API-Workloads und API-Konfigurationen. Geben Sie Fähigkeiten an, die abgebildet oder ersetzt werden sollen. Diese Bewertung trägt dazu bei, eine reibungslose Migration sicherzustellen und die Funktionalität Ihrer Anwendungen aufrecht zu erhalten.
Hinweis
Die Funktionen des Amazon-API-Gateways können variieren, je nachdem, ob Sie Ihre APIs als REST-API oder als HTTP-API-Produkttyp verfügbar machen. In Azure API Management variieren die Funktionen je nach Dienstebene, nicht nach API-Typbezeichnung.
Bewerten Sie die Infrastrukturkapazitäten
| Amazon API Gateway-Funktion | Azure-API-Verwaltungsäquivalent | Migrationsansatz |
|---|---|---|
| Private VPC-Endpunkte |
Azure API Management-Bereitstellung in einem internen virtuellen Netzwerk Integration der API-Verwaltung in ein privates virtuelles Netzwerk für ausgehende Verbindungen |
Konfigurieren Sie dedizierte Subnetze für Back-Ends in einem virtuellen Netzwerk, in das der Azure API-Verwaltungsdienst eingefügt oder integriert ist, oder erreichen Sie Back-Ends über azure Private Link. |
| AWS-Webanwendungsfirewall | Azure-Webanwendungsfirewall; z. B. in Azure-Anwendungsgateway (einem regionalen Dienst) oder Azure Front Door (globaler Dienst) | Zuordnen von WAF-Regeln, die in API-Phasen im Amazon API-Gateway angewendet werden, zu Regeln auf Dienstebene in der Azure-Webanwendungsfirewall. |
| Benutzerdefinierte Domänen | Benutzerdefinierte Domänen, die in Azure API Management konfiguriert sind, und ein vorgelagerter Einstiegspunkt wie Anwendungsgateway oder Azure Front Door | Verwenden Sie dieselben Domänennamen und vorhandenen Zertifikate mit einer externen DNS-Umstellung (Domain Name System). Wenn die Migration unterschiedliche Domänennamen verwendet, müssen Sie neue Zertifikate abrufen. |
| Edge-optimierte Endpunkte | Bereitstellung über mehrere Regionen | Konfigurieren Sie Azure API Management-Gateways in mehreren Regionen, abhängig von den Anforderungen für den Clientzugriff. Diese Topologie wird in der Regel mit dem globalen Anwesenheitspunkt in Azure Front Door kombiniert. |
| Verfügbarkeitszonen standardmäßig | Verfügbarkeitszonen standardmäßig (Premium-Stufe) | Bereitstellen von Azure API Management auf der Premium-Ebene in einer Region, die Verfügbarkeitszonen unterstützt. Verwenden Sie die standardmäßige automatische Konfiguration von Verfügbarkeitszonen. |
| CloudWatch-Metriken | Azure Monitor-Metriken | Konfigurieren Sie Gatewayanforderungsmetriken, um den Vergleich der Azure API Management-Leistung mit einem Basisplan im Amazon API-Gateway zu unterstützen. |
| CloudWatch-Protokolle und CloudTrail-Protokolle | Azure Monitor-Protokolle | Konfigurieren Sie Diagnoseeinstellungen, um Azure API Management-Protokolle an einen Log Analytics-Arbeitsbereich für integrierte Analysen und benutzerdefinierte Analysen zu senden. Erwägen Sie die Bereitstellung von Application Insights oder anderen Observability-Tools für die zusätzliche betriebstechnische Überwachung. |
Hinweis
Richten Sie vor der Migration Basiskennzahlen vom Amazon API Gateway ein. Verwenden Sie diese Basispläne, um die Leistung der Azure-API-Verwaltung nach der Migration zu vergleichen und zu bestätigen, dass sie die Erwartungen erfüllt oder überschreitet.
Nicht übereinstimmende Funktionen und Strategien
- Die WAF-Integration in Amazon API Gateway weist keine direkte Übereinstimmung in azure API Management auf. Im Amazon API-Gateway werden WAF-Regeln direkt auf REST-API-Phasen angewendet. In Azure API Management erfordert die Konfiguration von WAF-Regeln in der Regel die Bereitstellung einer upstream-Anwendungsgateway-Instanz, der Datenverkehrsweiterleitung und der TLS-Beendigung über das Gateway. Alternativ können Sie für aktive/aktive Szenarien mit mehreren Regionen Azure Front Door vor der Azure-API-Verwaltung verwenden.
- Benutzerdefinierte Domänen werden in azure API Management unterstützt. Wenn Sie anwendungsgateway und Azure Web Application Firewall vorn verwenden, müssen Sie auch die benutzerdefinierte Domäne und das TLS-Zertifikat auf der Anwendungsgateway-Ebene konfigurieren.
- Edgeoptimierte Endpunkte im Amazon API-Gateway unterstützen geografisch verteilte Clients. Die ähnliche Funktion in Azure API Management erfordert die Bereitstellung zusätzlicher regionaler Gateways zu zusätzlichen Kosten.
Vergleichen von API-Workloads
Überlegen Sie im Rahmen der Bewertung, ob vorhandene Dienste aufbewahrt oder ersetzt werden sollen. Bewerten Sie, ob die Migration eine Möglichkeit zum Modernisieren oder Konsolidieren von Diensten ist.
| Workload des Amazon API-Gateways | Azure-API-Verwaltungsäquivalent | Migrationsansatz |
|---|---|---|
|
Lambda-Proxies-Integration Lambda-Nicht-Proxy-Integration (benutzerdefiniert) Aufrufen von Lambda mithilfe eines Amazon API Gateway-Endpunkts |
API-Typ der Azure-Funktions-App | Überlegen Sie, ob vorhandene Lambda-Funktionen beibehalten oder ersetzt werden sollen (z. B. durch Azure-Funktionen oder -Container). |
|
REST-APIs HTTP-APIs |
Import einer OpenAPI-Spezifikation | Exportieren Sie eine REST-API aus dem Amazon API-Gateway , und importieren Sie sie in Azure API Management. Oder greifen Sie manuell auf die API-Konfiguration im Amazon API-Gateway zu, und erstellen Sie sie in Azure API Management erneut. |
| WebSocket-APIs | WebSocket-API-Typ | Greifen Sie manuell auf die API-Konfiguration im Amazon API-Gateway zu, und erstellen Sie sie erneut in Azure API Management. |
Nicht übereinstimmende Funktionen und Strategien
- Lambda-Back-Ends werden nativ im Amazon API-Gateway als HTTP-APIs unterstützt. Azure API Management bietet keine native Integration mit den vergleichbaren Azure-Funktions-Apps. Die Azure API-Verwaltung muss Funktions-Apps über HTTP aufrufen, indem sie einen Funktionsschlüssel oder eine verwaltete Identität verwenden.
- OpenAPI-Spezifikationen, die aus einer Amazon API Gateway REST-API exportiert wurden, enthalten Details, die spezifisch für die Frontend-Implementierung in Amazon API Gateway sind und nicht zum Backend-Dienst gehören. Sie müssen AWS-spezifische Tags entfernen und Details in der Spezifikation (z. B. die Back-End-Dienst-URL) vor dem Import in Azure API Management oder während des Migrationsprozesses konfigurieren.
-
Kubernetes Microservices-Back-Ends, z. B. gRPC-APIs, werden unterschiedlich behandelt:
- Das Amazon API-Gateway stellt eine Verbindung mit dem Anwendungs-Load-Balancer in der VPC her, der wiederum den Zugriff auf AWS EKS ermöglicht.
- Azure API Management unterstützt gRPC-APIs auf Kubernetes-Clustern, auf die nur über das selbst gehostete Gateway zugegriffen wird.
- Die Verwendung von gRPC verhindert die Verwendung des Anwendungsgateways als WAF.
Vergleichen von API-Konfigurationen
Der Migrationsansatz für API-Konfigurationen muss den Umfang der Konfiguration im Amazon API-Gateway berücksichtigen. Auf hoher Ebene ordnen API-Bereiche wie folgt vom Amazon API-Gateway zu Azure API Management zu:
| API-Bereich des Amazon-API-Gateways | Azure-API-Verwaltungsäquivalent |
|---|---|
| API-Ressource | API |
| API-Phase | API-Version |
| API-Methode | API-Vorgang |
| Nutzungsplan | Produkt |
In der folgenden Tabelle werden API-Konfigurationen im Amazon API-Gateway und gleichwertige Konfigurationen in Azure API Management bewertet:
| Konfiguration der Amazon API-Gateway-API | Azure-API-Verwaltungsäquivalent | Migrationsansatz |
|---|---|---|
| Phasenvariablen | Benannte Werte | Konfigurieren Sie benannte Werte (Name/Wert-Paare) auf Serviceebene in Azure API Management. |
| Zwischenspeicherung von Antworten | Zwischenspeicherung von Antworten | Konfigurieren Sie Zwischenspeicherungsrichtlinien im zugeordneten Bereich, wie in der vorherigen Tabelle dargestellt. Konfigurieren Sie optional einen externen Redis-kompatiblen Cache für eine bessere Kontrolle und Zuverlässigkeit. |
| Verwendungspläne und API-Schlüssel | Produkte und Abonnements | Dokumentieren Sie Die Konfigurationen des Amazon API-Gateways, und erstellen Sie sie erneut in Azure API Management. |
| Einschränkung und Kontingente | Richtlinien zum Einschränken von Raten und Kontingenten | Konfigurieren Sie Ratenbegrenzung und Kontingentrichtlinien im zugeordneten Geltungsbereich, wie in der vorherigen Tabelle dargestellt. |
| CORS | CORS-Richtlinie | Konfigurieren Sie eine CORS-Richtlinie mit zulässigen Headern und Ursprüngen im zugeordneten Bereich, wie in der vorherigen Tabelle dargestellt. |
|
Ressourcenrichtlinien VPC-Endpoint-Richtlinien Cognito-Benutzerpools mTLS-Authentifizierung |
Authentifizierungs- und Autorisierungsrichtlinien Anmeldeinformationsverwaltung |
Manuelle Zuordnung. Erwägen Sie die Verwendung von KI-Unterstützung mit Tools wie Microsoft Copilot in Azure. |
| Zuordnungsvorlagen | Transformationsrichtlinien | Manuelle Zuordnung. Erwägen Sie die Verwendung von KI-Unterstützung mit Tools wie Microsoft Copilot in Azure. |
| API-Phasen | API-Versionen | Erstellen Sie API-Versionen in Azure API Management. |
Nicht übereinstimmende Funktionen und Strategien
Kontingent- und Einschränkungsgrenzwerte werden von Amazon API Gateway pro AWS-Konto auferlegt. In Azure API Management ist der höchste Bereich der Bereich "alle APIs" pro Instanz.
API-Authentifizierungs- und Autorisierungsmethoden im Amazon API-Gateway, z. B. IAM-Berechtigungen und Lambda-Autorisierer, ordnen sich nicht direkt Azure API Management zu. Kunden können alternative Authentifizierungs- und Autorisierungsmethoden auswerten, z. B. die Verwendung der Microsoft Entra-ID oder eines externen Identitätsanbieters.
Cachebezogene Metriken im Amazon API-Gateway entsprechen nicht direkt Azure API Management-Metriken. Cachetreffer und -fehler können in Ablaufverfolgungsprotokollen in Azure API Management gezählt werden.
Überprüfen von Ressourcen für die Migration
Bewährte Methoden für die Architektur für die Azure-API-Verwaltung
API-Authentifizierung und Autorisierung in Azure API Management
Microsoft Copilot in Azure für die Generierung von API-Verwaltungsrichtlinien
Außerdem für API-Workloads:
Schritt 2: Vorbereitung
Planen Sie in der Vorbereitungsphase Ihre Azure-Infrastruktur, wählen Sie geeignete API-Verwaltungsebenen für Test und Produktion aus, und dokumentieren Sie Ihre Quell-APIs und integrierten Dienste gründlich. Exportieren Sie relevante AWS-Konfigurationen und entwerfen Sie eine phasenweise Migrationsstrategie, um einen reibungslosen Übergang sicherzustellen.
Infrastrukturaufbau planen
Planen Sie die Ein- und Ausgänge, Firewalls, Netzwerkisolation und die Integration mit Netzwerkverkehrs-Einstiegspunkten wie dem Anwendungsgateway, Azure Front Door oder Azure Traffic Manager. Verstehen sie die Auswirkungen privater und öffentlicher Gefährdungen des Azure API-Zielverwaltungssystems, insbesondere im Hinblick auf DNS und Rückverfolgbarkeit.
Lesen Sie die Anleitungen in azure API Management Landing Zone Accelerator und bewerten Sie Szenarien, die für Ihre Migration und API-Back-Ends geeignet sein könnten. Berücksichtigen Sie, wann die Workloads isoliert genug sind, um von ihnen zu profitieren.
Ein einfaches Szenario, das Sie für die anfängliche Migration und das Buildout in Azure verwenden können, ist ein sicherer Basisplan mit einer Beispielworkload.
Planen von Test- und Produktions-API-Verwaltungsinstanzen
Wählen Sie die entsprechenden Azure API Management-Dienstebenen für Test- und Produktionsumgebungen aus:
Wenn Sie die Netzwerkisolation von eingehendem und ausgehendem Datenverkehr sowie den Datenverkehrseintrag über Azure Front Door oder Anwendungsgateway benötigen, empfehlen wir derzeit die Azure API Management Premium-Stufe. Wenn Sie die Premium-Stufe auswählen, können Sie die Entwicklerebene (nicht mit einer Vereinbarung auf Serviceebene unterstützt) für Proof-of-Concept-Migrationen verwenden. Die Entwicklerebene unterstützt Netzwerkfunktionen, die auch auf der Premium-Stufe verfügbar sind. Sie sollten jedoch nicht die Entwicklerebene für die Produktion verwenden.
Berücksichtigen Sie je nach Ihren Anforderungen für Verfügbarkeit, Leistung und Netzwerkisolation die Stufe "Standard v2" oder "Premium v2". Beide unterstützen die Integration mit netzwerkisolten Back-Ends. Die Premium v2-Stufe unterstützt auch die Einfügung in ein virtuelles Netzwerk, um eingehenden Datenverkehr zu isolieren.
Derzeit befindet sich die Premium v2-Stufe mit Funktionen zum Isolieren eingehender Datenverkehr in der Vorschau. Sie können dies für Migrationen in Betracht ziehen, abhängig von Ihren Implementierungszeitplänen in Bezug auf die verfügbaren Informationen über die Premium v2-Freigabe und Migrationspfade.
Verstehen und Dokumentieren der Quell-APIs unter Verwaltung
Erfassen Sie API-Konfigurationen, einschließlich Authentifizierungs- und Autorisierungsflüssen, Transformations- und Zwischenspeicherungsmechanismen.
Identifizieren Sie alle dienste, die in amazon API Gateway integriert sind, z. B. Lambda-Autorisierungen, Anwendungslastenausgleichsgeräte, Netzwerklastenausgleichsgeräte und Kubernetes-Workloads.
Für die Katalogisierung von APIs unter Verwaltung sollten Sie das Azure API Center verwenden und APIs über das Amazon API Gateway synchronisieren.
Verwenden Sie ermittlungstools wie AWS Resource Explorer , falls möglich. Erwarten Sie jedoch, dass Sie sich stark auf manuell gesammelte Informationen, interne Dokumentationen und Checklisten verlassen.
Dokumentieren Sie Datenflüsse, Netzwerktopologie und Architekturdiagramme, auch wenn sie ungefähr sind.
Exportieren von AWS-Konfigurationen nach Möglichkeit
Exportieren von Konfigurationen wie:
OpenAPI-Spezifikationen aus Back-End-APIs; Beispielsweise mithilfe der AWS-Konsole oder der AWS CLI. Wenn die APIs ursprünglich über OpenAPI definiert wurden, verfügen Sie möglicherweise bereits über diese Spezifikationen.
SSL/TLS-Zertifikate, die im AWS-Zertifikat-Manager gespeichert sind.
WAF-Regeln, indem sie nach CloudFormation exportiert werden.
Erfassen Sie Artefakte, einschließlich CloudFormation-Vorlagen, die über externe Tools in Terraform exportiert werden können. Diese Artefakte können die Zuordnung zu Azure erleichtern (Bicep-, Azure-Ressourcen-Manager- und Terraform-Vorlagen).
Planen einer Phasingstrategie
Es wird empfohlen, eine phasenweise Migration (API nach API oder Domäne nach Domäne nach Domäne) zu planen. Aktualisieren Sie eine Gruppe von Domänen oder API-Endpunkten auf Azure API Management, während andere auf AWS verbleiben, und verschieben Sie dann den Rest schrittweise. Diese Strategie erfordert möglicherweise, dass Ihre Clientanwendungen gemischte Endpunkte verarbeiten oder eine Routingebene verwenden.
Schritt 3: Auswertung
Die Migration wird als erfolgreich betrachtet, wenn das migrierte System Überprüfungskriterien erfüllt und azure API Management den gesamten Produktionsdatenverkehr ohne signifikante Regression der Funktionalität oder Leistung bedient.
Zu den Überprüfungskriterien gehören:
Überprüfen der Infrastruktur: Die Netzwerkinfrastruktur ist dokumentiert und kann nur wie vorgesehen zugänglich sein. Wenn es beispielsweise in ein internes virtuelles Netzwerk eingebunden wird, vergewissern Sie sich, dass keine öffentlichen IP-Adressen es verfügbarmachen machen.
Die Azure API Management-Instanz kann alle erforderlichen Netzwerke oder Abhängigkeiten für Vorgänge erreichen.
Überprüfen der API-Funktionalität für alle Endpunkte: Alle API-Endpunkte werden erwartungsgemäß mit realen Szenarien ausgeführt, einschließlich gültiger und ungültiger Anforderungen und Nutzlasten. Stellen Sie sicher, dass alle Anforderungs- oder Antworttransformationen in konfigurierten Richtlinien stattfinden:
Bestätigen Sie alle erforderlichen Authentifizierungs- und Autorisierungskonfigurationen (Abonnementschlüssel, OAuth-Token, Zertifikate) für jede API.
Vergewissern Sie sich, dass Clients APIs wie zuvor ohne Änderungen verwenden können (mit Ausnahme der Endpunkt-URL, wenn sich der Domänenname geändert hat).
Vergewissern Sie sich, dass Tarifgrenzwerte und Kontingente für den entsprechenden Bereich konfiguriert sind.
Überprüfen Sie betriebsbezogene Metriken: Überwachen Sie die Leistung mithilfe von Dashboards oder anderen Observability-Tools unter Produktionslast. Überprüfen Sie Metriken wie durchschnittliche Latenz und Durchsatz, und vergleichen Sie sie mit historischen Daten vom Amazon API-Gateway. Überprüfen Sie Kapazitätsmetriken, um sicherzustellen, dass die Azure API Management-Instanz ordnungsgemäß skaliert wird.
Schritt 4: Prozess
Erwarten Sie, dass der Migrationsprozess mehrere Wochen oder Monate in Anspruch nimmt, abhängig von der Komplexität der Dienstinfrastruktur und der Anzahl und Komplexität der zu migrierenden APIs.
Vollständiges grundlegendes Setup
Wenn Sie noch nicht über die Azure-Mandanten- und Kerninfrastruktur (Kernnetzwerk, Eingangssicherheit) verfügen, erstellen Sie diese, bevor Sie Amazon API-Gateway und APIs migrieren. Sie können die Umgebung mithilfe einer Azure-Zielzonenarchitektur einrichten, die für Ihre Migration geeignet ist.
Wenn ein Azure API Management Infrastructure-as-Code-Zielzonenbeschleuniger für Ihre Migration geeignet ist, implementieren Sie einen für Ihre Azure API Management-Basisbereitstellung. Schließen Sie anwendungsgateway und interne virtuelle Netzwerke in Azure API Management ein. Obwohl der Zielzonenbeschleuniger die Premiumebene von Azure API Management verwendet, empfehlen wir, die Vorlagen anzupassen, um die Developer-Ebene für die Proof-of-Concept-Migration zu verwenden.
Erstellen und Zuweisen von rollenbasierten Azure-Zugriffssteuerungsrollen (RBAC), sodass nur autorisierte Administratoren die Azure API-Verwaltungsinstanz und die APIs verwalten können.
Konfigurieren von Azure API Management Platform-Einstellungen
Richten Sie in der neuen Azure API Management-Instanz globale Konfigurationen wie im Amazon API-Gateway ein:
Benutzerdefinierter Hostname: Fügen Sie Ihre benutzerdefinierte Domäne zur Azure-API-Verwaltung hinzu, laden Sie das SSL-Zertifikat hoch (oder verwenden Sie Key Vault-Verweise), und führen Sie eine Überprüfung durch. Führen Sie diesen Vorgang jetzt oder direkt vor der Produktionsübergabe aus. Wenn Sie das Anwendungsgateway (empfohlen) verwenden, konfigurieren Sie einen Listener mit der benutzerdefinierten Domäne und dem Zertifikat, und verweisen Sie es dann auf den internen Endpunkt für azure API Management. Das Konfigurieren des Listeners vereinfacht die Konfiguration, da keine Domänenüberprüfung erforderlich ist.
Netzwerk und Sicherheit: Stellen Sie sicher, dass das Anwendungsgateway (oder ein anderer Azure-Einstiegspunkt) für die Weiterleitung von Anforderungen an die Azure-API-Verwaltung konfiguriert ist. Richten Sie Regeln oder Firewallregeln für Die Netzwerksicherheitsgruppe (Network Security Group, NSG) ein, damit Azure API Management Back-End-Dienste erreichen kann. Diese Dienste können Ihre Azure-Back-Ends oder sogar die AWS-Quell-Back-Ends enthalten, wenn Sie zunächst darauf verweisen.
Verwaltete Identität: Aktivieren Sie eine verwaltete Identität in Azure API Management, um Azure-Dienste sicher aufzurufen (z. B. Key Vault für Zertifikate oder Funktions-Apps).
Am Ende dieser Phase sollten Sie über eine funktionierende Shell von Azure API Management in Azure mit Konnektivität und dem grundlegenden Framework verfügen, um mit dem Importieren von APIs zu beginnen.
Importieren und erneutes Erstellen von APIs in Azure API Management
Mit der fertiggestellten Infrastruktur beginnen Sie mit der Migration der API-Definitionen und -Konfigurationen.
Beginnen Sie mit einer einfachen API mit geringem Risiko: Verwenden Sie eine repräsentative API, um grundlegende Gatewayfunktionen in Azure API Management zu überprüfen, bevor Sie APIs aus dem Amazon-API-Gateway neu erstellen.
In Azure API Management importieren: Verwenden Sie das Azure-Portal oder Skripts, um OpenAPI-Definitionen aus amazon API Gateway oder Back-Ends als neue APIs in Azure API Management zu importieren. Während des Imports erstellt Azure API Management automatisch die Struktur von APIs und Vorgängen. Wenn Sie über mehrere API-Phasen im Amazon API-Gateway verfügen, erstellen Sie mehrere API-Versionen in Azure API Management.
Legen Sie zunächst die Back-End-URL für jede API fest, um auf das aktuelle Back-End zu verweisen. (Derzeit kann das aktuelle Back-End immer noch ein AWS-Endpunkt oder ein öffentlicher Endpunkt sein.) Wenn das Amazon API-Gateway beispielsweise an Lambda weitergeleitet wird, können Sie das Azure API Management-Back-End auf die entsprechende API im Amazon API-Gateway oder auf eine entsprechende Azure-Funktions-App festlegen, wenn es bereits migriert wurde. (Wenn Sie das Azure API Management-Back-End auf die entsprechende API im Amazon API-Gateway festlegen, ändern Sie diese Konfiguration später, wenn Sie die Lambda-Funktion zu Azure migrieren.) Wenn es sich bei dem Back-End um einen AWS-Anwendungslastenausgleich oder Endpunkt handelt, kann Azure API Management sie über das Internet aufrufen.
Wenn Sie über eine große Anzahl von APIs verfügen, können Sie Azure API Center verwenden, um die APIs zu katalogisieren, die im Laufe der Zeit zu Azure API Management migriert werden, und die apIs, die im Amazon API-Gateway verbleiben.
Erwägen Sie die Migration oder Umgestaltung von Back-End-Diensten (z. B. Azure-Funktions-Apps oder AKS-Workloads), nachdem Sie die Infrastruktur überprüft haben. Weitere Informationen finden Sie in den Anleitungen im Azure-Migrationshub.
Einrichten von Authentifizierung und Autorisierung
Abonnements und Produkte: Wenn Ihre APIs API-Schlüssel im Amazon API-Gateway (über den
x-api-keyHeader) erforderlich sind, entscheiden Sie, wie dies in Azure API Management behandelt werden soll. Ein Ansatz besteht darin, diese APIs nur für Benutzer zugänglich zu machen, die über ein Abonnement für ein Produkt verfügen. Erstellen Sie anfängliche Produkte in Azure API Management, entweder in eins-zu-eins-Entsprechung mit AWS-Nutzungsplänen oder indem Sie diese logisch neu strukturieren.Benutzergruppen: Erstellen Sie Benutzergruppen in Azure API Management, um zu spiegeln, wie Sie APIs für Entwickler freigeben.
Benannte Werte: Importieren Sie alle Konfigurationswerte (z. B. Endpunkte oder API-Schlüssel für Back-End-Dienste), die sich in Amazon API Gateway-Phasenvariablen befinden, in Azure API Management benannte Werte. Verwenden Sie für vertrauliche Werte die Azure Key Vault-Integration.
Tokenabruf und -validierung: Für die JWT-Überprüfung von API-Anforderungen konfigurieren Sie Validierungsrichtlinien in Azure API Management, die den API-Zugriff autorisieren. Sie können Zunächst Ihren vorhandenen Identitätsanbieter (z. B. AWS Cognito) verwenden und die Migration im Laufe der Zeit zu Microsoft Entra ID in Betracht ziehen.
Konfigurieren Sie den Anmeldeinformations-Manager in Azure API Management zum Verwalten von Token in OAuth-Back-Ends. Oder richten Sie die Tokenabruflogik mithilfe von Richtlinien aus dem Policy-Snippets-Repo ein.
Back-Ends in Azure API Management: Konfigurieren Sie Back-Ends in Azure API Management, um jeden Back-End-Dienst (mit seiner URL, Anmeldeinformationen und anderen Informationen) zu registrieren. Diese Aktion stellt einen zentralen Ort zum Aktualisieren bereit, wenn sich die Back-End-URL ändert. Wenn Sie z. B. zunächst auf einen AWS-Endpunkt verweisen, später aber zu einem Azure-Back-End wechseln, können Sie einfach die Azure API Management-Back-End-Konfiguration aktualisieren.
Überprüfung der Funktionsparität: Gehen Sie die Liste der Funktionen durch, die jede API verwendet, und stellen Sie sicher, dass sie berücksichtigt werden.
Testen Sie z. B. APIs, die mit binären Nutzlasten (Images und Dateien) oder großen Nutzlasten umgehen. Stellen Sie sicher, dass azure API Management mit angemessenen Timeout-, Größen- oder Inhaltsüberprüfungseinstellungen für diese Szenarien konfiguriert ist.
Azure API Management behandelt alle importierten APIs relativ einheitlich, sodass HTTP-APIs des Amazon API-Gateways (der neuere einfache Typ) im Vergleich zu REST-APIs (dem klassischen Typ) in Azure API Management konsistent verwaltet werden. Unterschiede wie das Fehlen von Nutzungsplänen in HTTP-APIs sind nach der Integration in Azure API Management irrelevant. Stellen Sie jedoch sicher, dass alle spezifischen Einschränkungen des Amazon API Gateway berücksichtigt werden.
Verwalten von Transformation und Richtlinienzuordnung
Replizieren Sie vorhandene API-Konfigurationen als Azure-API-Verwaltungsrichtlinien, sofern zutreffend, insbesondere für Autorisierung und Abwärtskompatibilität.
Ordnen Sie die CORS-Konfiguration im Amazon API-Gateway einer CORS-Richtlinie in Azure API Management zu.
Behandeln Sie Transformationen (z. B. Schemazuordnung oder Anreicherung) fallweise.
KI-Tools wie Microsoft Copilot in Azure im Azure-Portal und MCP-Server für AWS- und Microsoft-Dokumentation können bei der Konfigurationszuordnung oder einer anderen Transformation helfen. Erwarten Sie jedoch, dass Sie die manuelle Richtlinienkonfiguration und das Debuggen in Azure API Management durchführen.
Einrichten des Einblicks
Konfigurieren Sie Azure Monitor für die anfängliche Überwachung, um API-Metriken und Protokolle zu sammeln. Weitere Überwachungs- und Observability-Lösungen, wie Application Insights, können später hinzugefügt werden.
Durchführen von Tests
Bei den in Azure API Management konfigurierten APIs ist ein gründlicher Test von entscheidender Bedeutung. Erwarten Sie, dass diese Phase iterativ ist.
Funktionale Tests: Rufen Sie für jede API den neuen Azure API Management-Endpunkt (über die Testkonsole oder Clienttools des Azure-Portals) auf, und vergleichen Sie Antworten auf den Amazon API Gateway-Endpunkt. Überprüfen Sie auf erwartete Statuscodes, Header und Inhalt. Wenn Sie Unterschiede finden, passen Sie Die Azure API-Verwaltungsrichtlinien oder die Konfiguration entsprechend an.
Hinweis
Wenn sich die API-Verwaltungsinstanz in einer internen Konfiguration eines virtuellen Netzwerks befindet, funktioniert die Testkonsole nicht. Sie können APIs mithilfe anderer Clienttools testen, die im Netzwerk bereitgestellt werden, oder über das API-Verwaltungsentwicklerportal (wenn Sie sie für Ihre Instanz aktivieren).
Sicherheitstests: Überprüfen Sie, ob die API-Authentifizierung und -Autorisierung funktionieren. Stellen Sie z. B. einen gültigen JWT- oder Abonnementschlüssel für azure API Management bereit. Stellen Sie sicher, dass azure API Management die Anforderung akzeptiert, und dass ungültige Anmeldeinformationen mit ordnungsgemäßen Fehlercodes abgelehnt werden. Clients, die Token für die JWT-Validierung einreichen, müssen sich möglicherweise bei einem anderen Identitätsanbieter authentifizieren, falls man während der Migration einen konfiguriert hat. Wenn Sie Abonnementschlüssel verwenden, testen Sie mit und ohne den Schlüssel.
Leistungsbasisplan: Verwenden Sie ein Tool, um die Last auf den Azure API Management-Endpunkten zu simulieren und zu überprüfen, ob sie den erwarteten Durchsatz verarbeiten können. Vergleichen Sie die Latenz von Aufrufen über Azure API Management mit der Latenz über Amazon API Gateway. Azure API Management in der Entwicklerebene ist weniger leistungsfähig als die Premium-Ebene und einzelne Instanz, sodass hohe Leistungstests möglicherweise warten, bis Sie eine Azure-API-Verwaltungsinstanz auf Premiumebene bereitstellen.
Beginn der Produktionseinführung
Führen Sie ein Upgrade auf die Premium-Stufe oder eine andere produktionsbereite Stufe von Azure API Management in der Produktionsumgebung durch. Wiederholen oder migrieren Sie die API-Import- und Konfigurationseinstellungen, die Sie in Vorproduktionsumgebungen erstellt haben. Sie können APIOps-Prozesse verwenden, um APIs zu veröffentlichen und API-Konfigurationen in allen Umgebungen zu verwalten.
Testen Sie den Cutover in einer niedrigeren Umgebung oder mit einer Teilmenge des Datenverkehrs. Wählen Sie beispielsweise eine nicht kritische API aus, und lassen Sie eine Clientanwendung auf den Azure-Endpunkt umstellen. Diese Vorgehensweise kann alle clientseitigen Probleme aufdecken oder dabei helfen, Ihren DNS-Änderungsprozess zu überprüfen. Wenn Ihre API-Verbraucher intern sind, können Sie eine Änderung simulieren, indem Sie Hostdateien bearbeiten oder eine DNS-Testzone verwenden, um die Domäne vorübergehend auf Azure API Management zu verweisen.
DNS-Switch: Der häufigste Ansatz besteht darin, den DNS-Eintrag Ihrer benutzerdefinierten Amazon API Gateway-Domäne zu wechseln, um auf den neuen Azure-Endpunkt zu verweisen. Wenn Sie Ihre Domäne z. B. api.example.com amazon API Gateway zugeordnet haben, aktualisieren Sie ihren CNAME- oder A-Eintrag so, dass er auf den Hostnamen der Azure-API-Verwaltung oder auf die Front-End-Domäne (z. B. Application Gateway) verweist.
Überlegungen zu Time-to-Live (TTL): Verringern Sie die DNS-TTL vorab, damit Clients Änderungen schnell aufnehmen können. Wenn Sie fertig sind, ändern Sie das DNS. Die Verteilung kann Minuten bis Stunden dauern. Während dieser Zeit gehen einige Datenverkehr möglicherweise noch zu AWS, während einige nach Azure gehen. Wenn Sie einen sofortigen Schnitt benötigen, können Sie eine alternative Methode wie einen Reverseproxy verwenden.
Alternative Übernahmemethoden: Manchmal verwenden Organisationen anstelle von DNS einen Reverseproxy oder einen Gateway-Flip. Beispielsweise kann eine Organisation das öffentliche DNS unverändert lassen, das Anwendungsgateway jedoch zunächst Anforderungen an Amazon API Gateway weiterleiten (über seine URL). Beim Umschalten weist die Organisation das Anwendungsgateway intern auf Azure API Management hin. Dieser Ansatz ist komplexer, kann aber einen sofortigen Wechsel ermöglichen. Eine andere Methode, wenn Sie Azure Front Door oder Traffic Manager verwenden, besteht darin, den Datenverkehr von einem Back-End (AWS) schrittweise auf eine andere (Azure) umzugewichten.
Überwachung während der Umschaltung: Sobald die Umschaltung erfolgt, überwachen Sie die Anfragen sowohl an die Azure API Management-Instanz als auch an das Amazon API-Gateway genau. Überwachen Sie Azure API Management-Metriken (Anforderungen, Latenz, CPU, Kapazitätsspeicher) in Echtzeit über das Azure-Portal oder das dashboard, das Sie eingerichtet haben. Verwenden Sie Azure Monitor auch, um Spitzen bei Fehlern zu beobachten, z. B. 4XX/5XX-Antworten.
Rollbackplan: Entscheiden Sie, was einen Rollback auslöst. Wenn die Fehlerrate beispielsweise einen bestimmten Prozentsatz überschreitet oder eine kritische Funktionalität beschädigt ist, können Sie innerhalb von 30 Minuten zurückkehren. Ein Rollback bedeutet, dass Sie den von Ihnen ausgeführten Switch rückgängig machen. Wenn der Switch beispielsweise auf DNS eingestellt war, setzen Sie den DNS-Eintrag zurück, damit er auf das Amazon API-Gateway verweist. Aufgrund der DNS-Verteilung kann ein Rollback einige Zeit in Anspruch nehmen. Die Rollbackzeit hebt die Bedeutung niedriger TTL hervor und hält möglicherweise beide Systeme aktiv. Wenn Sie einen Reverseproxy verwendet haben, stellen Sie die Verbindung zurück zu AWS her.
Außerbetriebnahme des Amazon-API-Gateways
Außerbetriebnahme des Amazon-API-Gateways nach einem Zeitraum, in dem er null Datenverkehr empfängt und die Azure API Management-Instanz die Überprüfungskriterien erfüllt. In der Regel führen Sie beide parallel (mit Azure, der den gesamten Datenverkehr einnimmt) über mindestens einen vollständigen Geschäftszyklus oder spitzen Datenverkehrszeitraum aus, um sicherzustellen, dass das neue System es verarbeitet.
Iterative Optimierung
Konzentrieren Sie sich nach der Migration darauf, die API-Verwaltungskonfiguration iterativ zu optimieren, indem Sie Featurelücken schließen und bewährte Methoden implementieren. Dieser iterative Verbesserungsprozess stellt sicher, dass die migrierte Workload alle Erfolgskriterien erfüllt, die Sie während des Bewertungsschritts festgelegt haben. Außerdem wird sichergestellt, dass die migrierte Workload den bewährten Architekturmethoden für die API-Verwaltung folgt.
Iterieren über Funktionalitätslücken
Einige Features des Amazon API-Gateways verfügen nicht über eine 1:1-Zuordnung in Azure API Management und erfordern Problemumgehungen, wie weiter oben im Abschnitt "Bewertung" beschrieben. Beispiel:
Webanwendungsfirewall: Azure API Management blockiert nicht automatisch schlechte Nutzlasten, die AWS WAF blockiert. Wenn Sie die Azure Web Application Firewall einrichten, stellen Sie sicher, dass die Azure-API-Verwaltung nur über die WAF zugänglich ist und dass WAF-Regeln AWS WAF-Einschränkungen replizieren.
Ereignisdatenströme: Wenn CloudWatch-Alarme oder -Ereignisse an das Amazon API-Gateway gebunden waren (z. B. bei bestimmten Fehlermustern), richten Sie entsprechende Warnungen in Azure Monitor für Azure API Management ein (z. B. eine Warnung auf einer Azure API Management 5XX-Rate).
Automatisierung: Wenn Sie über eine kontinuierliche Integration und kontinuierliche Übermittlung (CI/CD)-Pipelines verfügen, integrieren Sie Azure API Management in diese. Beispielsweise können Sie Ihre Azure API Management-Konfigurationen (APIs und Richtlinien) mithilfe von Infrastruktur-as-Code-Ansätzen in der Quellcodeverwaltung speichern. Diese Ansätze können Azure Resource Manager, Bicep- oder Terraform-Vorlagen oder eine APIOps-Methodik umfassen. Diese Integration stellt sicher, dass zukünftige Änderungen an den APIs konsistent mit der kontrollierten Versionsverwaltung bereitgestellt werden können.
Implementieren bewährter Methoden
Iterativ implementieren Sie bewährte Methoden, einschließlich Kostenoptimierung, Sicherheitshärtung und betriebliche Verbesserungen. Überprüfen und implementieren Sie bewährte Methoden für die Architektur für Azure API Management entlang der Säulen Zuverlässigkeit, Sicherheit, operative Exzellenz, Kostenverwaltung und Leistung. Bearbeiten Sie die Azure Advisor-Empfehlungen für Ihre Azure API Management-Instanz.
Im Laufe der Zeit können Sie mehr Funktionen wie z. B.:
- Externes Zwischenspeichern.
- Überwachung von Funktionen über Azure Monitor hinaus, z. B. Application Insights oder Nicht-Microsoft-Lösungen wie Datadog.
- Richtlinien in Azure API Management, die im Amazon API-Gateway nicht verfügbar sind.
Wichtige Erkenntnisse
Die Migration des Amazon API-Gateways zu Azure erfordert eine sorgfältige Planung und systematische Ausführung, um gleichwertige Funktionen oder alternative Ansätze zu erhalten. Zu den wichtigsten Erfolgsfaktoren gehören:
Gründliche Bewertung: Führen Sie eine detaillierte Bewertung des vorhandenen Amazon API-Gateway-Setups durch, einschließlich aller APIs, Dienstintegrationen und Abhängigkeiten. Identifizieren Sie Lücken oder Unterschiede in den Funktionen zwischen Amazon API Gateway und Azure API Management.
Möglichkeiten für die Modernisierung: Verwenden Sie die Migration als Möglichkeit, Back-End-Dienste zu modernisieren oder zu migrieren oder das API-Design zu verbessern.
Umfassende Vorbereitung: Vorbereiten der Azure-Umgebung, einschließlich Netzwerk-, Sicherheits- und Infrastruktureinrichtung. Dokumentieren Sie alle Konfigurationen und planen Sie alle erforderlichen Änderungen an Back-End-Diensten.
Inkrementelle Migration: Planen Sie einen inkrementellen Migrationsansatz, beginnend mit weniger kritischen APIs oder Diensten. Dieser Ansatz ermöglicht das Testen und Überprüfen des neuen Setups, bevor Sie den Wechsel vollständig übernehmen.
Validierung und Tests: Implementieren Sie umfassende Test- und Validierungsprozesse, um sicherzustellen, dass die Azure API Management-Instanz alle funktionalen und Leistungsanforderungen erfüllt. Dieser Aufwand umfasst Auslastungstests, Sicherheitstests und Benutzerakzeptanztests.
Überwachung und Beobachtbarkeit: Richten Sie eine robuste Überwachung und Observierbarkeit für die neue Azure API Management-Instanz ein, um probleme, die während oder nach der Migration auftreten, schnell zu identifizieren und zu beheben.
Iterative Optimierung: Optimieren Sie nach der Migration kontinuierlich das Azure API Management-Setup, indem Sie Featurelücken beheben und bewährte Methoden implementieren.