Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u Amazon API Gateway gebruikt en uw workload wilt migreren naar Azure, helpt deze handleiding u inzicht te hebben in functietoewijzingen, aanbevolen procedures en het migratieproces. In Azure biedt Azure API Management mogelijkheden voor API-gateways. Deze mogelijkheden omvatten API-aanvraag- en antwoordroutering, autorisatie en toegangsbeheer, bewaking en governance en API-versiebeheer.
Wat u gaat bereiken
In deze handleiding gaat u het volgende doen:
- Evalueer uw huidige Amazon API Gateway-implementatie.
- Mogelijkheden van Amazon API Gateway afstemmen op mogelijkheden van Azure API Management.
- Bereid uw Amazon- en Azure-omgevingen voor op een geslaagde migratie.
- Plan en voer een migratie uit met minimale downtime.
- Controleer of uw gemigreerde workload voldoet aan de prestatie- en betrouwbaarheidsvereisten.
- Leer hoe je de architectuur kunt verfijnen voor toekomstige verbeteringen.
Voorbeeldscenario: systeem voor gezondheidsdossiers met meerdere back-ends
Een health services-organisatie maakt gebruik van Amazon API Gateway voor toegang tot een systeem voor statusrecords met meerdere back-ends. Dit voorbeeldscenario bevat een algemene configuratie van Amazon API Gateway in een AWS-omgeving (Amazon Web Services). Het toont typische integraties met gerelateerde Amazon-services en verschillende algemene API-back-ends, waaronder proxied Lambda-functies en HTTP- of REST API's.
Deze architectuur omvat:
Gebruikersverificatie via Amazon Cognito met JSON-webtokens (JWTs).
Beveiligingsfiltering van aanvragen via Amazon Web Application Firewall (WAF) voordat ze Amazon API Gateway bereiken.
Amazon API Gateway geconfigureerd met een aangepast domein via een certificaat dat is opgeslagen in Certificate Manager.
Monitoring met Amazon CloudWatch.
Privéconnectiviteit via VPC-eindpunten (Amazon Virtual Private Cloud) naar drie privésubnetten.
Back-endservices, waaronder:
- Lambda om updates van patiëntenrecords te activeren.
- Amazon Elastic Compute Cloud (EC2), die legacydiensten host achter een applicatie-load balancer.
- Amazon Elastic Kubernetes Service (EKS) achter een applicatieloadbalancer voor het verwerken van gegevens met microservices.
Hier volgt een voorbeeldarchitectuur van de workload die naar Azure is gemigreerd. In dit scenario wordt Azure API Management geïmplementeerd in de Premium-laag.
Deze architectuur omvat:
Beveiligde toegang via Azure Application Gateway met een web application firewall (WAF). De firewall stuurt aanvragen door met een JWT die is toegevoegd voor verificatie.
Azure API Management geconfigureerd in een virtueel netwerk. Microsoft Entra ID wordt gebruikt om JWT's te valideren.
Een interne load balancer waarmee verkeer naar Azure Kubernetes Service (AKS) wordt gerouteerd voor back-ends op basis van microservices.
Beveilig verbindingen via privé-eindpunten met Azure-functie-apps en Back-ends van Microsoft Foundry.
Bewaking die wordt verwerkt door Azure Monitor.
Certificaten en een domein dat wordt beheerd via Azure Key Vault en een Azure DNS-zone. Er is ook een certificaat geconfigureerd in Application Gateway voor TLS-beëindiging.
Architectuuroverzicht
Dit architectuurvoorbeeld toont algemene functies in Amazon API Gateway en Azure API Management. Deze functies omvatten netwerkisolatie, verkeersbeheer en routering naar verschillende back-end-API's, autorisatie- en toegangsbeheer en bewaking.
Beide architecturen bieden vergelijkbare functionaliteit:
Implementatie met hoge beschikbaarheid: resources worden verdeeld over meerdere beschikbaarheidszones in een regio voor fouttolerantie, met opties voor hogere beschikbaarheid door implementatie naar meerdere regio's.
Aangepaste domeinen en certificaten: de platforms ondersteunen aangepaste domeinnamen met TLS/SSL-beëindiging voor beveiligde API-communicatie.
Netwerkisolatie: Verkeer naar back-end-API's wordt geïsoleerd in een virtueel netwerk.
Verkeer filteren: een webtoepassingsfirewall aan de rand filtert en helpt bij het beveiligen van binnenkomend verkeer.
API-workloadondersteuning: Gateways fungeren als proxy's voor aanvragen naar diverse back-endsystemen, waaronder cloud-computeservices, op Kubernetes gebaseerde microservices en aangepaste back-ends.
API-bewaking: api-activiteit van ingebouwde platformservices registreren en metrische servicegegevens beschikbaar maken.
API-modulatie: Services ondersteunen het opslaan van reacties in cache, aanvraagquota en frequentielimieten, CORS-configuratie (Cross-Origin Resource Sharing) en aanvraag-/antwoordtransformaties.
API-verificatie en -autorisatie: Gateways ondersteunen meerdere toegangsmethoden, waaronder sleutels, toegang op basis van OAuth-tokens en API-beleid.
Stap 1: Evaluatie
Voordat u migreert van Amazon API Gateway naar Azure API Management, evalueert u de bestaande infrastructuurfuncties, API-workloads en API-configuraties. Capaciteiten identificeren om toe te wijzen of te vervangen. Deze evaluatie zorgt voor een soepele migratie en onderhoudt de functionaliteit van uw toepassingen.
Opmerking
De mogelijkheden van Amazon API Gateway kunnen variëren, afhankelijk van of u uw API's beschikbaar maakt als een REST API of een HTTP API-producttype. In Azure API Management variëren de mogelijkheden per servicelaag, niet op api-typeaanduiding.
Infrastructuurmogelijkheden evalueren
| Amazon API Gateway-mogelijkheid | Azure API Management-equivalent | Migratiebenadering |
|---|---|---|
| Privé-VPC-eindpunten |
Azure API Management-implementatie in een intern virtueel netwerk Integratie van API Management met een particulier virtueel netwerk voor uitgaande verbindingen |
Configureer toegewezen subnetten voor back-ends in een virtueel netwerk waarin de Azure API Management-service wordt geïnjecteerd of geïntegreerd, of back-ends bereiken via Azure Private Link. |
| AWS Web Application Firewall | Azure Web Application Firewall; Bijvoorbeeld in Azure Application Gateway (een regionale service) of Azure Front Door (een wereldwijde service) | WAF-regels afstemmen die zijn toegepast op API-stadia in Amazon API Gateway met regels op serviceniveau in Azure Web Application Firewall. |
| Aangepaste domeinen | Aangepaste domeinen die zijn geconfigureerd in Azure API Management en een upstream-ingangspunt, zoals Application Gateway of Azure Front Door | Gebruik dezelfde domeinnamen en bestaande certificaten bij een externe DNS-overgang (Domain Name System). Als voor de migratie verschillende domeinnamen worden gebruikt, moet u nieuwe certificaten verkrijgen. |
| Eindpunten die zijn geoptimaliseerd voor Edge | Implementatie met meerdere regio's | Configureer Azure API Management-gateways in meerdere regio's, afhankelijk van de vereisten voor clienttoegang. Deze topologie is doorgaans gekoppeld aan het wereldwijde aanwezigheidspunt in Azure Front Door. |
| Standaard beschikbaarheidszones | Beschikbaarheidszones standaard (Premium-laag) | Implementeer Azure API Management in de Premium-laag, in een regio die beschikbaarheidszones ondersteunt. Gebruik de standaard automatische configuratie van beschikbaarheidszones. |
| Metrische gegevens van CloudWatch | Metrische gegevens van Azure Monitor | Configureer metrische gegevens voor gatewayaanvragen om het vergelijken van de prestaties van Azure API Management tegenover een basislijn in Amazon API Gateway mogelijk te maken. |
| CloudWatch-logboeken en CloudTrail-logboeken | Azure Monitor-logboeken | Configureer diagnostische instellingen voor het verzenden van Azure API Management-logboeken naar een Log Analytics-werkruimte voor ingebouwde analyse en aangepaste analyse. Overweeg om Application Insights of andere waarneembaarheidshulpprogramma's te implementeren voor extra operationele bewaking. |
Opmerking
Stel metrische basislijngegevens van Amazon API Gateway vast vóór de migratie. Gebruik deze basislijnen om de prestaties van Azure API Management na de migratie te vergelijken en te bevestigen dat deze voldoet aan de verwachtingen of deze overschrijdt.
Mogelijkheden komen niet overeen en strategieën
- WAF-integratie in Amazon API Gateway heeft geen directe overeenkomst in Azure API Management. In Amazon API Gateway worden WAF-regels rechtstreeks toegepast op REST API-fasen. In Azure API Management vereist de configuratie van WAF-regels doorgaans de implementatie van een upstream Application Gateway-exemplaar, het doorsturen van verkeer en TLS-beëindiging via de gateway. U kunt ook Azure Front Door gebruiken voor actieve/actieve scenario's met meerdere regio's voor Azure API Management.
- Aangepaste domeinen worden ondersteund in Azure API Management. Als u Application Gateway en Azure Web Application Firewall vooraan gebruikt, moet u ook het aangepaste domein en TLS-certificaat configureren op de Application Gateway-laag.
- Door Edge geoptimaliseerde eindpunten in Amazon API Gateway ondersteunen geografisch gedistribueerde clients. De vergelijkbare mogelijkheid in Azure API Management vereist implementatie van extra regionale gateways tegen extra kosten.
API-workloads vergelijken
Overweeg of u bestaande services wilt behouden of vervangen als onderdeel van de evaluatie. Evalueer of de migratie een kans is om services te moderniseren of te consolideren.
| Amazon API Gateway workload | Azure API Management-equivalent | Migratiebenadering |
|---|---|---|
|
Lambda-proxy-integratie Lambda-integratie zonder proxy (aangepast) Lambda aanroepen met behulp van een Amazon API Gateway-eindpunt |
Azure-functie-app API-type | Overweeg of u bestaande Lambda-functies wilt behouden of vervangen (bijvoorbeeld met Azure-functies of -containers). |
|
REST API's HTTP-API's |
Importeren van een OpenAPI-specificatie | Exporteer een REST API vanuit Amazon API Gateway en importeer deze in Azure API Management. U kunt ook handmatig toegang krijgen tot de API-configuratie in Amazon API Gateway en deze opnieuw maken in Azure API Management. |
| WebSocket-API's | WebSocket-API-type | Handmatig toegang tot de API-configuratie in Amazon API Gateway en maak deze opnieuw in Azure API Management. |
Mogelijkheden komen niet overeen en strategieën
- Lambda-back-ends worden systeemeigen ondersteund in Amazon API Gateway als HTTP-API's. Azure API Management biedt geen systeemeigen integratie met de vergelijkbare Azure-functie-apps. Azure API Management moet functie-apps aanroepen via HTTP met behulp van een functiesleutel of beheerde identiteit.
- OpenAPI-specificaties die zijn geëxporteerd vanuit een Amazon API Gateway REST API bevatten details die specifiek zijn voor de front-endimplementatie in Amazon API Gateway, niet de back-endservice. U moet AWS-specifieke tags verwijderen en details configureren in de specificatie (zoals de URL van de back-endservice) voordat u importeert naar Azure API Management of tijdens het migratieproces.
-
Back-ends van Kubernetes-microservices , zoals gRPC-API's, worden anders verwerkt:
- Amazon API Gateway verbindt met de applicatie-load balancer in de VPC, die op zijn beurt toegang verschaft tot AWS EKS.
- Azure API Management ondersteunt gRPC-API's op Kubernetes-clusters die alleen toegankelijk zijn via de zelf-hostende gateway.
- Het gebruik van gRPC voorkomt het gebruik van Application Gateway als WAF.
API-configuraties vergelijken
De migratiebenadering voor API-configuraties moet rekening houden met het bereik van de configuratie in Amazon API Gateway. Op hoog niveau worden API-bereiken als volgt toegewezen van Amazon API Gateway naar Azure API Management:
| Amazon API Gateway-API-bereik | Azure API Management-equivalent |
|---|---|
| API-resource | API |
| API-fase | API-versie |
| API-methode | API-bewerking |
| Gebruiksplan | Product |
In de volgende tabel worden API-configuraties in Amazon API Gateway en equivalente configuraties in Azure API Management beoordeeld:
| Api-configuratie van Amazon API Gateway | Azure API Management-equivalent | Migratiebenadering |
|---|---|---|
| Fasevariabelen | Benoemde waarden | Benoemde waarden (naam-/waardeparen) configureren op serviceniveau in Azure API Management. |
| Antwoordcaching | Antwoordcaching | Configureer cachebeleid op het toegewezen bereik, zoals wordt weergegeven in de voorgaande tabel. Configureer desgewenst een externe Redis-compatibele cache voor meer controle en betrouwbaarheid. |
| Gebruiksplannen en API-sleutels | Producten en abonnementen | Documenteer Amazon API Gateway-configuraties en maak deze opnieuw in Azure API Management. |
| Beperking en quota | Snelheidsbeperking en quotumbeleid | Configureer snelheidsbeperking en quotumbeleid op het toegewezen bereik, zoals wordt weergegeven in de voorgaande tabel. |
| CORS | CORS-beleid | Configureer een CORS-beleid met toegestane headers en origins in het toegewezen bereik, zoals wordt weergegeven in de voorgaande tabel. |
|
Resourcebeleid Beleid voor VPC-eindpunten Cognito-gebruikersgroepen mTLS-verificatie |
Verificatie- en autorisatiebeleid Referentiebeheerder |
Handmatige toewijzing. Overweeg ai-hulp te gebruiken met hulpprogramma's zoals Microsoft Copilot in Azure. |
| Koppelingssjablonen | Transformatiebeleid | Handmatige toewijzing. Overweeg ai-hulp te gebruiken met hulpprogramma's zoals Microsoft Copilot in Azure. |
| API-fasen | API-versies | API-versies maken in Azure API Management. |
Mogelijkheden komen niet overeen en strategieën
Quotum- en snelheidslimieten worden opgelegd door Amazon API Gateway per AWS-account. In Azure API Management is het hoogste bereik het bereik 'alle API's' per exemplaar.
API-verificatie- en autorisatiemethoden in Amazon API Gateway, zoals IAM-machtigingen en Lambda-autorisatiers, worden niet rechtstreeks toegewezen aan Azure API Management. Klanten kunnen alternatieve verificatie- en autorisatiemethoden evalueren, zoals het gebruik van Microsoft Entra-id of een externe id-provider.
Metrische gegevens in de cache in Amazon API Gateway worden niet rechtstreeks toegewezen aan metrische gegevens van Azure API Management. Cachetreffers en missers kunnen worden geteld in traceringslogboeken in Azure API Management.
Resources voor migratie beoordelen
Microsoft Copilot in Azure voor het genereren van API Management-beleid
Ook voor API-workloads:
Stap 2: Voorbereiding
Plan in de voorbereidingsfase uw Azure-infrastructuur, selecteer de juiste API Management-lagen voor test en productie en documenteer uw bron-API's en geïntegreerde services grondig. Exporteer relevante AWS-configuraties en ontwerp een gefaseerde migratiestrategie om een soepele overgang te garanderen.
Installatie van infrastructuur plannen
Plan inkomend en uitgaand verkeer, firewalls, netwerkisolatie en integratie met toegangspunten voor netwerkverkeer, zoals Application Gateway, Azure Front Door of Azure Traffic Manager. Krijg inzicht in de gevolgen van persoonlijke versus openbare blootstelling van het Azure API Management-doelsysteem, met name rondom DNS en traceerbaarheid.
Bekijk de richtlijnen in de Azure API Management-landingszoneversneller en evalueer scenario's die mogelijk geschikt zijn voor uw migratie en API-back-ends. Houd er rekening mee wanneer de workloads voldoende geïsoleerd zijn om er voordeel uit te halen.
Een basisscenario dat u kunt gebruiken voor de eerste migratie en het bouwen in Azure, is een veilige basislijn met een voorbeeldworkload.
Plannen voor test- en productie-API Management-exemplaren
Kies de juiste Azure API Management-servicelagen voor test- en productieomgevingen:
Als u netwerkisolatie van zowel inkomend als uitgaand verkeer nodig hebt, samen met verkeerinvoer via Azure Front Door of Application Gateway, raden we momenteel de Azure API Management Premium-laag aan. Als u de Premium-laag selecteert, kunt u de Developer-laag (niet ondersteund met een service level agreement) gebruiken voor proof-of-concept-migraties. De ontwikkelaarslaag ondersteunt netwerkmogelijkheden die ook beschikbaar zijn in de Premium-laag. U moet de developer-laag echter niet gebruiken voor productie.
Afhankelijk van uw vereisten voor beschikbaarheid, prestaties en netwerkisolatie, kunt u de laag Standard v2 of Premium v2 overwegen. Beide ondersteunen integratie met netwerk-geïsoleerde back-ends. De Premium v2-laag ondersteunt ook injectie in een virtueel netwerk om inkomend verkeer te isoleren.
Momenteel is de Premium v2-laag met mogelijkheden voor het isoleren van inkomend verkeer in preview. U kunt overwegen deze te gebruiken voor migraties, afhankelijk van uw implementatietijdlijnen met betrekking tot de beschikbare informatie over de Premium v2-release- en migratiepaden.
Verkrijg inzicht in de bron-API's en documenteer deze onder beheer.
Api-configuraties vastleggen, waaronder verificatie- en autorisatiestromen, transformatie en cachingmechanismen.
Identificeer alle services die zijn geïntegreerd met Amazon API Gateway, zoals Lambda-autoriseren, load balancers voor toepassingen, netwerk load balancers en Kubernetes-workloads.
Voor het catalogiseren van API's onder beheer kunt u overwegen Om Azure API Center te gebruiken en API's van Amazon API Gateway te synchroniseren .
Gebruik waar mogelijk detectiehulpprogramma's zoals AWS Resource Explorer . Maar verwacht dat u sterk vertrouwt op handmatig verzamelde informatie, interne documentatie en controlelijsten.
Documenteer gegevensstromen, netwerktopologie en architectuurdiagrammen, zelfs als ze bij benadering zijn.
AWS-configuraties waar mogelijk exporteren
Configuraties exporteren, zoals:
OpenAPI-specificaties van back-end-API's; Bijvoorbeeld met behulp van de AWS-console of AWS CLI. Als de API's oorspronkelijk zijn gedefinieerd via OpenAPI, hebt u deze specificaties mogelijk al.
SSL/TLS-certificaten die zijn opgeslagen in AWS Certificate Manager.
WAF-regels door te exporteren naar CloudFormation.
Leg artefacten vast, waaronder CloudFormation-sjablonen, die kunnen worden geëxporteerd naar Terraform via externe hulpprogramma's. Deze artefacten kunnen de toewijzing naar Azure vergemakkelijken (Bicep-, Azure Resource Manager- en Terraform-sjablonen).
Een faseringsstrategie plannen
U wordt aangeraden een gefaseerde migratie te plannen (API per API of domein per domein). Werk één set domeinen of API-eindpunten bij naar Azure API Management, terwijl andere domeinen of API-eindpunten op AWS blijven staan en verplaats de rest geleidelijk. Voor deze strategie moeten uw clienttoepassingen mogelijk gemengde eindpunten verwerken of een routeringslaag gebruiken.
Stap 3: Evaluatie
De migratie wordt als geslaagd beschouwd wanneer het gemigreerde systeem voldoet aan validatiecriteria en wanneer Azure API Management al het productieverkeer bedient zonder significante regressie in functionaliteit of prestaties.
Validatiecriteria zijn onder andere:
Infrastructuur valideren: netwerkinfrastructuur wordt alleen gedocumenteerd en toegankelijk zoals bedoeld. Als deze bijvoorbeeld wordt geïnjecteerd in een intern virtueel netwerk, controleert u of er geen openbare IP-adressen zijn die het blootstellen.
Het Azure API Management-exemplaar kan alle vereiste netwerken of afhankelijkheden voor bewerkingen bereiken.
Valideer DE API-functionaliteit voor alle eindpunten: alle API-eindpunten presteren zoals verwacht met praktijkscenario's, waaronder geldige en ongeldige aanvragen en nettoladingen. Zorg ervoor dat alle transformaties van aanvragen of antwoorden in geconfigureerde beleidsregels plaatsvinden:
Bevestig alle vereiste verificatie- en autorisatieconfiguraties (abonnementssleutels, OAuth-tokens, certificaten) voor elke API.
Controleer of clients API's kunnen gebruiken zoals voorheen zonder wijzigingen (behalve mogelijk de eindpunt-URL, als de domeinnaam is gewijzigd).
Controleer of frequentielimieten en quota zijn geconfigureerd op het juiste bereik.
Operationele metrische gegevens valideren: prestaties bewaken met behulp van dashboards of andere waarneembaarheidshulpprogramma's onder productiebelasting. Bekijk metrische gegevens, zoals gemiddelde latentie en doorvoer, en vergelijk deze met historische gegevens van Amazon API Gateway. Controleer metrische capaciteitsgegevens om ervoor te zorgen dat het Azure API Management-exemplaar correct wordt geschaald.
Stap 4: Proces
Verwacht dat het migratieproces meerdere weken of maanden duurt, afhankelijk van de complexiteit van de service-infrastructuur en het aantal en de complexiteit van de API's die moeten worden gemigreerd.
De basisinstallatie voltooien
Als u de Azure-tenant en -kerninfrastructuur (kernnetwerken, inkomend verkeer, beveiliging) nog niet hebt, bouwt u deze voordat u Amazon API Gateway en API's migreert. U kunt de omgeving instellen met behulp van een Azure-architectuur voor landingszones die geschikt is voor uw migratie.
Als een Azure API Management-infrastructuur-als-code-landingszoneversneller geschikt is voor uw migratie, implementeer dan een voor uw basisimplementatie van Azure API Management. Neem Application Gateway en interne virtuele netwerken op in Azure API Management. Hoewel de landingszoneversneller gebruikmaakt van de Premium-laag van Azure API Management, raden we u aan de sjablonen aan te passen voor het gebruik van de developer-laag voor proof-of-concept-migratie.
Maak en wijs Azure role-based access control (RBAC) rollen toe, zodat alleen geautoriseerde beheerders de Azure API Management-instantie en de API's kunnen beheren.
Azure API Management-platforminstellingen configureren
Stel in het nieuwe Azure API Management-exemplaar globale configuraties in die vergelijkbaar zijn met die in Amazon API Gateway:
Aangepaste hostnaam: Voeg uw aangepaste domein toe aan Azure API Management, upload het SSL-certificaat (of gebruik Key Vault-verwijzingen) en voer validatie uit. Voer deze taak nu of vlak voor de productie-cutover uit. Wanneer u Application Gateway gebruikt (aanbevolen), configureert u een listener met het aangepaste domein en certificaat en wijst u deze vervolgens naar het interne eindpunt voor Azure API Management. Het configureren van de listener vereenvoudigt de configuratie omdat er geen domeinvalidatie is vereist.
Netwerken en beveiliging: zorg ervoor dat Application Gateway (of een ander Azure-toegangspunt) is geconfigureerd voor het doorsturen van aanvragen naar Azure API Management. Stel NSG-regels (netwerkbeveiligingsgroep) of firewallregels in, zodat Azure API Management back-endservices kan bereiken. Deze services kunnen uw Azure-back-ends of zelfs de bron-AWS-back-ends bevatten als u deze in eerste instantie aanwijst.
Beheerde identiteit: schakel een beheerde identiteit in azure API Management in om Azure-services veilig aan te roepen (zoals Key Vault voor certificaten of functie-apps).
Aan het einde van deze fase moet u beschikken over een werkende shell van Azure API Management in Azure met connectiviteit en het basisframework dat klaar is om API's te importeren.
API's importeren en opnieuw maken in Azure API Management
Nu de infrastructuur gereed is, begint u met het migreren van de API-definities en -configuraties:
Begin met een eenvoudige API met een laag risico: gebruik een representatieve API om de basisgatewayfunctionaliteit in Azure API Management te valideren voordat u API's opnieuw maakt vanuit Amazon API Gateway.
Importeren in Azure API Management: gebruik de Azure-portal of scripts om OpenAPI-definities te importeren uit Amazon API Gateway of back-ends als nieuwe API's in Azure API Management. Tijdens het importeren maakt Azure API Management automatisch de structuur van API's en bewerkingen. Als u meerdere API-fasen in Amazon API Gateway hebt, maakt u meerdere API-versies in Azure API Management.
Stel in eerste instantie de back-end-URL voor elke API in zodat deze verwijst naar de huidige back-end. (Op dit moment is de huidige back-end mogelijk nog steeds een AWS-eindpunt of een openbaar eindpunt.) Als Amazon API Gateway bijvoorbeeld is doorgestuurd naar Lambda, kunt u de Back-end van Azure API Management instellen op de equivalente API in Amazon API Gateway of op een equivalente Azure-functie-app als deze al is gemigreerd. (Als u de Back-end van Azure API Management instelt op de equivalente API in Amazon API Gateway, wijzigt u deze configuratie later als u de Lambda-functie naar Azure migreert.) Als de back-end een load balancer of eindpunt voor AWS-toepassingen is, kan Azure API Management deze via internet aanroepen.
Als u een groot aantal API's hebt, kunt u Azure API Center gebruiken om de API's te catalogiseren die in de loop van de tijd naar Azure API Management worden gemigreerd en de API's die in Amazon API Gateway blijven.
Nadat u de infrastructuur hebt gevalideerd, overweeg om back-endservices (bijvoorbeeld als Azure-functie-apps of AKS-workloads) te migreren of te refactoren. Zie de richtlijnen in de Azure Migration Hub.
Verificatie en autorisatie instellen
Abonnementen en producten: als voor uw API's API-sleutels zijn vereist in Amazon API Gateway (via de
x-api-keyheader), moet u bepalen hoe dat in Azure API Management moet worden afgehandeld. Een benadering is om deze API's alleen toegankelijk te maken voor gebruikers die een abonnement op een product hebben. Maak initiële producten in Azure API Management, die overeenkomen met AWS-gebruiksplannen of logisch opnieuw ingedeeld worden.Gebruikersgroepen: Maak gebruikersgroepen in Azure API Management om te spiegelen hoe u API's deelt met ontwikkelaars.
Benoemde waarden: Importeer configuratiewaarden (zoals eindpunten of API-sleutels voor back-endservices) die zich in amazon API Gateway-fasevariabelen bevonden in benoemde waarden van Azure API Management. Gebruik Azure Key Vault-integratie voor gevoelige waarden.
Token ophalen en valideren: voor JWT-validatie van API-aanvragen configureert u validatiebeleid in Azure API Management die API-toegang autoriseren. U kunt in eerste instantie uw bestaande id-provider (zoals AWS Cognito) gebruiken en de migratie in de loop van de tijd overwegen naar Microsoft Entra-id.
Configureer de referentiebeheerder in Azure API Management voor het beheren van tokens naar OAuth-back-ends. U kunt ook logica voor het ophalen van tokens instellen met behulp van beleidsregels uit de opslagplaats beleidsfragmenten.
Backends in Azure API Management: Configureer backends in Azure API Management om elke backendservice te registreren (met de URL, referenties en andere informatie). Deze actie biedt een centrale plaats om bij te werken als de back-end-URL verandert. Als u bijvoorbeeld in eerste instantie verwijst naar een AWS-eindpunt, maar later overschakelt naar een Azure-back-end, kunt u de back-endconfiguratie van Azure API Management bijwerken.
Functiepariteitscontroles: doorloop de lijst met functies die door elke API worden gebruikt en zorg ervoor dat ze worden aangepakt.
Test bijvoorbeeld API's die te maken hebben met binaire nettoladingen (afbeeldingen en bestanden) of grote nettoladingen. Zorg ervoor dat Azure API Management is geconfigureerd met voldoende time-out-, grootte- of inhoudsvalidatie-instellingen voor deze scenario's.
Azure API Management behandelt alle geïmporteerde API's vrij uniform, zodat HTTP-API's van Amazon API Gateway (het nieuwere lichtgewicht type) versus REST API's (het klassieke type) consistent worden beheerd in Azure API Management. Verschillen, zoals het ontbreken van gebruiksplannen in HTTP-API's, zijn moot nadat de API's zich in Azure API Management bevinden, maar zorg ervoor dat eventuele beperkingen die specifiek zijn voor Amazon API Gateway worden aangepakt.
Transformatie en beleidstoewijzing beheren
Repliceer bestaande API-configuraties als Azure API Management-beleid indien van toepassing, met name voor autorisatie en achterwaartse compatibiliteit.
CORS-configuratie in Amazon API Gateway koppelen aan een CORS-beleid in Azure API Management.
Verwerken van transformaties (zoals schematoewijzing of verrijking) per geval.
AI-hulpprogramma's zoals Microsoft Copilot in Azure in Azure Portal en MCP-servers voor AWS- en Microsoft-documentatie kunnen helpen bij configuratietoewijzing of andere transformatie. Verwacht echter handmatige beleidsconfiguratie en foutopsporing in Azure API Management uit te voeren.
Waarneembaarheid instellen
Voor de eerste bewaking configureert u Azure Monitor voor het verzamelen van metrische API-gegevens en logboeken. Meer bewakings- of waarneembaarheidsoplossingen, zoals Application Insights, kunnen later worden gelaagd.
Testen uitvoeren
Wanneer de API's zijn geconfigureerd in Azure API Management, is een grondige test essentieel. Verwacht dat deze fase iteratief is.
Functioneel testen: roep voor elke API het nieuwe Azure API Management-eindpunt aan (via de testconsole of clienthulpprogramma's van De Azure-portal) en vergelijk reacties op het Amazon API Gateway-eindpunt. Controleer op verwachte statuscodes, headers en hoofdteksten. Als u verschillen vindt, past u het Azure API Management-beleid of de configuratie dienovereenkomstig aan.
Opmerking
Als het API Management-exemplaar zich in een interne configuratie van een virtueel netwerk bevindt, werkt de testconsole niet. U kunt API's testen met behulp van andere clienthulpprogramma's die zijn geïmplementeerd in het netwerk of met behulp van de API Management-ontwikkelaarsportal (als u deze inschakelt voor uw exemplaar).
Beveiligingstests: Controleer of API-verificatie en -autorisatie werken. Presenteer bijvoorbeeld een geldige JWT- of abonnementssleutel voor Azure API Management. Zorg ervoor dat Azure API Management het verzoek accepteert en dat ongeldige inloggegevens worden geweigerd met de juiste foutcodes. Clients die tokens doorgeven voor JWT-validatie, moeten mogelijk autoriseren met een andere id-provider als u er een hebt geconfigureerd tijdens de migratie. Als u abonnementssleutels gebruikt, test u met en zonder de sleutel.
Prestatiebasislijn: gebruik een hulpprogramma om de belasting van de Azure API Management-eindpunten te simuleren en te controleren of ze de verwachte doorvoer kunnen verwerken. Vergelijk latentie van aanroepen via Azure API Management met latentie via Amazon API Gateway. Azure API Management in de developer-laag is minder goed dan de Premium-laag en één exemplaar. Het testen van zware prestaties kan dus wachten totdat u een Azure API Management-exemplaar in de Premium-laag implementeert.
Productie-implementatie starten
Voer een upgrade uit naar de Premium-laag of een andere laag die gereed is voor productie van Azure API Management in de productieomgeving. Herhaal of migreer de API-import- en configuratie-instellingen die u hebt gemaakt in preproductieomgevingen. U kunt APIOps-processen gebruiken om API's te publiceren en API-configuraties in verschillende omgevingen te beheren.
Oefen het overgangsproces in een lagere omgeving, of met een subset van verkeer. Selecteer bijvoorbeeld één niet-kritieke API en laat één clienttoepassing overschakelen naar het Azure-eindpunt. Deze procedure kan eventuele problemen aan de clientzijde blootleggen of helpen bij het valideren van uw DNS-wijzigingsproces. Als uw API-consumenten intern zijn, kunt u een wijziging simuleren door hostbestanden te bewerken of door een DNS-testzone te gebruiken om het domein tijdelijk naar Azure API Management te verwijzen.
DNS-switch: de meest voorkomende benadering is het omschakelen van de DNS-vermelding van uw aangepaste Amazon API Gateway-domein om te verwijzen naar het nieuwe Azure-eindpunt. Als u bijvoorbeeld uw domein hebt toegewezen api.example.com aan Amazon API Gateway, werkt u de CNAME- of A-record bij zodat deze verwijst naar de hostnaam van Azure API Management of naar het front-enddomein (zoals Application Gateway).
Overwegingen voor Time to Live (TTL): verlaag de DNS-TTL vooraf zodat clients snel wijzigingen kunnen oppikken. Wanneer u klaar bent, wijzigt u de DNS. De propagatie kan enkele minuten tot uren duren. Gedurende die tijd kan sommige verkeer nog steeds naar AWS gaan terwijl sommige naar Azure gaan. Als u een onmiddellijke onderbreking nodig hebt, kunt u een alternatieve methode gebruiken, zoals een omgedraaide proxy.
Alternatieve cutover-methoden: Soms gebruiken organisaties in plaats van DNS een omgekeerde proxy of gateway-omschakeling. Een organisatie kan bijvoorbeeld de openbare DNS hetzelfde houden, maar in eerste instantie aanvragen voor Application Gateway doorsturen naar Amazon API Gateway (via de URL). Tijdens het omleiden wijst de organisatie Application Gateway intern naar Azure API Management. Deze benadering is complexer, maar het kan een onmiddellijke switch bereiken. Een andere methode, als u Azure Front Door of Traffic Manager gebruikt, is het geleidelijk opnieuw wegen van verkeer van de ene back-end (AWS) naar een andere (Azure).
Bewaking tijdens cutover: Zodra de switch plaatsvindt, controleert u aanvragen voor zowel het Azure API Management-exemplaar als Amazon API Gateway nauwkeurig. Bewaak metrische gegevens van Azure API Management (aanvragen, latentie, CPU, capaciteitsgeheugen) in realtime via Azure Portal of welk dashboard u ook hebt ingesteld. Gebruik Ook Azure Monitor om te kijken naar pieken in fouten, zoals 4XX/5XX-antwoorden.
Terugdraaiplan: Bepaal wat een terugdraaiactie activeert. Als de foutfrequentie bijvoorbeeld een bepaald percentage overschrijdt of een kritieke functionaliteit wordt verbroken, kunt u binnen 30 minuten terugkeren. Een terugdraaiactie betekent het ongedaan maken van de switch die u hebt gedaan. Als de switch bijvoorbeeld DNS was, keert u de DNS-record terug om terug te verwijzen naar Amazon API Gateway. Vanwege DNS-doorgifte kan het terugdraaien enige tijd duren. De terugdraaitijd markeert het belang van een lage TTL en houdt beide systemen mogelijk actief. Als u een omgekeerde proxy hebt gebruikt, keert u deze terug naar AWS.
Amazon API Gateway buiten bedrijf stellen
Amazon API Gateway buiten bedrijf stellen na een periode waarin het geen verkeer ontvangt en het Azure API Management-exemplaar voldoet aan de validatiecriteria. Normaal gesproken voert u beide parallel uit (waarbij Azure al het verkeer afhandelt) gedurende ten minste één volledige bedrijfscyclus of piekverkeersperiode om te garanderen dat het nieuwe systeem deze situatie aankan.
Iteratieve optimalisatie
Na de migratie richt u zich op het iteratief optimaliseren van de API Management-configuratie door functie-hiaten te sluiten en best practices te implementeren. Dit iteratieve verbeteringsproces zorgt ervoor dat de gemigreerde workload voldoet aan alle succescriteria die u tijdens de evaluatiestap hebt vastgesteld. Het zorgt er ook voor dat de gemigreerde workload de best practices voor architectuur voor API Management volgt.
Itereren op functie-tekorten
Sommige Amazon API Gateway-functies hebben geen een-op-een-toewijzing in Azure API Management en vereisen tijdelijke oplossingen, zoals eerder beschreven in de sectie Evaluatie . Voorbeeld:
Web Application Firewall: Azure API Management blokkeert slechte payloads niet automatisch zoals AWS WAF doet. Als u Azure Web Application Firewall instelt, moet u ervoor zorgen dat Azure API Management alleen toegankelijk is via de WAF en dat WAF-regels AWS WAF-beperkingen repliceren.
Gebeurtenisstromen: Als CloudWatch alarmen of gebeurtenissen zijn gekoppeld aan Amazon API Gateway (bijvoorbeeld bij bepaalde foutpatronen), stelt u gelijkwaardige waarschuwingen in Azure Monitor voor Azure API Management in (bijvoorbeeld een waarschuwing voor een Azure API Management-frequentie van 5XX).
Automatisering: Als u pijplijnen voor continue integratie en continue levering (CI/CD) hebt, integreert u Azure API Management erin. U kunt bijvoorbeeld uw Azure API Management-configuraties (API's en beleidsregels) opslaan in broncodebeheer met behulp van methoden voor infrastructuur als code. Deze benaderingen kunnen azure Resource Manager-, Bicep- of Terraform-sjablonen of een APIOps-methodologie zijn. Deze integratie zorgt ervoor dat toekomstige wijzigingen in de API's consistent kunnen worden geïmplementeerd met gecontroleerde versiebeheer.
Best practices implementeren
Implementeer stapsgewijs best practices, waaronder kostenoptimalisatie, verharding van de beveiliging en operationele verbeteringen. Bekijk en implementeer best practices voor architectuur voor Azure API Management langs de pijlers betrouwbaarheid, beveiliging, operationele uitmuntendheid, kostenbeheer en prestaties. Los aanbevelingen van Azure Advisor op voor uw Azure API Management-instantie.
Voeg in de loop van de tijd meer mogelijkheden toe, zoals:
- Externe caching.
- Bewakingsmogelijkheden buiten Azure Monitor, zoals Application Insights of niet-Microsoft-oplossingen zoals Datadog.
- Beleidsregels in Azure API Management die niet beschikbaar zijn in Amazon API Gateway.
Belangrijke punten
Het migreren van Amazon API Gateway naar Azure vereist zorgvuldige planning en systematische uitvoering om gelijkwaardige functionaliteit of alternatieve benaderingen te krijgen. Belangrijke succesfactoren zijn:
Grondige evaluatie: Voer een gedetailleerde evaluatie uit van de bestaande Amazon API Gateway-installatie, inclusief alle API's, service-integraties en afhankelijkheden. Identificeer hiaten of verschillen in mogelijkheden tussen Amazon API Gateway en Azure API Management.
Mogelijkheden voor modernisering: gebruik de migratie als een mogelijkheid om back-endservices te moderniseren of te migreren of het API-ontwerp te verbeteren.
Uitgebreide voorbereiding: Bereid de Azure-omgeving voor, inclusief netwerken, beveiliging en infrastructuur. Documenteer alle configuraties en plan eventuele benodigde wijzigingen in back-endservices.
Incrementele migratie: plan een incrementele migratiebenadering, te beginnen met minder kritieke API's of services. Met deze methode kunt u de nieuwe installatie testen en valideren voordat u de switch volledig doorvoert.
Validatie en testen: implementeer uitgebreide test- en validatieprocessen om ervoor te zorgen dat het Azure API Management-exemplaar voldoet aan alle functionele en prestatievereisten. Deze inspanning omvat belastingtests, beveiligingstests en acceptatietests van gebruikers.
Bewaking en waarneembaarheid: stel robuuste bewaking en waarneembaarheid in voor het nieuwe Azure API Management-exemplaar om snel eventuele problemen te identificeren en op te lossen die zich voordoen tijdens of na de migratie.
Iteratieve optimalisatie: Na de migratie optimaliseert u de Azure API Management-installatie continu door hiaten in functies aan te pakken en best practices te implementeren.