Overzicht van zelf-hostende gateway
In dit artikel wordt uitgelegd hoe de zelf-hostende gatewayfunctie van Azure API Management hybride API-beheer en API-beheer voor meerdere cloudomgevingen mogelijk maakt, de architectuur op hoog niveau presenteert en de mogelijkheden ervan belicht.
HYBRIDE API-beheer en API-beheer in meerdere cloudomgevingen
De zelf-hostende gatewayfunctie breidt API Management-ondersteuning voor hybride omgevingen en omgevingen met meerdere clouds uit en stelt organisaties in staat om API's die on-premises en in meerdere clouds worden gehost, efficiënt en veilig te beheren vanuit één API Management-service in Azure.
Met de zelf-hostende gateway hebben klanten de flexibiliteit om een in een container geplaatste versie van het API Management-gatewayonderdeel te implementeren in dezelfde omgevingen waarin ze hun API's hosten. Alle zelf-hostende gateways worden beheerd vanuit de API Management-service die ze federatief hebben, waardoor klanten de zichtbaarheid en uniforme beheerervaring hebben voor alle interne en externe API's. Door de gateways dicht bij de API's te plaatsen, kunnen klanten API-verkeersstromen optimaliseren en voldoen aan de beveiligings- en nalevingsvereisten.
Elke API Management service bestaat uit de volgende belangrijke onderdelen:
- De beheervlak, beschikbaar gemaakt als API, wordt gebruikt om de service te configureren via de Azure Portal, PowerShell en andere ondersteunde mechanismen.
- Gateway (of gegevensvlak) is verantwoordelijk voor het proxy-API-aanvragen, het toepassen van beleid en het verzamelen van telemetriegegevens
- Ontwikkelaarsportal die door ontwikkelaars wordt gebruikt voor het ontdekken, leren en onboarden van het gebruik van de API's
Standaard worden al deze onderdelen geïmplementeerd in Azure, waardoor al het API-verkeer (weergegeven als effen zwarte pijlen in de onderstaande afbeelding) door Azure stroomt, ongeacht waar back-enden die de API's implementeren, worden gehost. De operationele eenvoud van dit model gaat ten koste van verhoogde latentie, nalevingsproblemen en in sommige gevallen extra kosten voor gegevensoverdracht.

Als u zelf-hostende gateways implementeert in dezelfde omgevingen waarin de back-end-API-implementaties worden gehost, kan API-verkeer rechtstreeks naar de back-end-API's stromen, wat de latentie verbetert, de kosten voor gegevensoverdracht optimaliseert en naleving mogelijk maakt, terwijl de voordelen van één beheerpunt, waarneembaarheid en detectie van alle API's binnen de organisatie behouden blijven, ongeacht waar de implementaties worden gehost.

Verpakking en functies
De zelf-hostende gateway is een in een container geplaatste, functionele equivalente versie van de beheerde gateway die in Azure is geïmplementeerd als onderdeel van elke API Management service. De zelf-hostende gateway is beschikbaar als een Op Linux gebaseerde Docker-container van de Microsoft Container Registry. Het kan worden geïmplementeerd in Docker, Kubernetes of een andere container orchestration-oplossing die wordt uitgevoerd op een on-premises servercluster, cloudinfrastructuur of voor evaluatie- en ontwikkelingsdoeleinden, op een personal computer. U kunt de zelf-hostende gateway ook implementeren als een clusterextensie voor Azure Arc Kubernetes-clustermet ingeschakelde .
De volgende functionaliteit in de beheerde gateways is niet beschikbaar in de zelf-hostende gateways:
- Azure Monitor-logboeken
- Upstream (back-end-side) TLS-versie en coderingsbeheer
- Validatie van server- en clientcertificaten met behulp van CA-basiscertificaten die zijn geüpload naar API Management service. U kunt aangepaste certificeringsinstanties configureren voor uw zelf-hostende gateways en validatiebeleid voor clientcertificaten om deze af te dwingen.
- Integratie met de Service Fabric
- Hervatting van TLS-sessies
- Clientcertificaat-certificaatonderhandeling. Dit betekent dat voor verificatie van clientcertificaten API-consumenten hun certificaten moeten presenteren als onderdeel van de eerste TLS-handshake. Schakel de instelling voor het onderhandelen over clientcertificaten in wanneer u een aangepaste hostnaam voor een zelf-hostende gateway configureert.
- Ingebouwde cache. Zie dit document voor meer informatie over het gebruik van externe cache in zelf-hostende gateways.
Connectiviteit met Azure
Voor zelf-hostende gateways is een uitgaande TCP/IP-verbinding met Azure op poort 443 vereist. Elke zelf-hostende gateway moet worden gekoppeld aan één API Management-service en wordt geconfigureerd via het beheervlak. Zelf-hostende gateway maakt gebruik van connectiviteit met Azure voor:
- De status rapporteren door elke minuut heartbeat-berichten te verzenden
- Regelmatig controleren op (elke 10 seconden) en het toepassen van configuratie-updates wanneer deze beschikbaar zijn
- Aanvraaglogboeken en metrische gegevens naar Azure Monitor verzenden, indien geconfigureerd om dit te doen
- Gebeurtenissen verzenden naar Application Insights, indien ingesteld op
Wanneer de verbinding met Azure is verloren gegaan, kan de zelf-hostende gateway geen configuratie-updates ontvangen, kan de status ervan worden rapporteren of kan er geen telemetrie worden geüpload.
De zelf-hostende gateway is ontworpen voor 'fail static' en kan tijdelijk verlies van connectiviteit met Azure overleven. Het kan worden geïmplementeerd met of zonder lokale configuratieback-up. In het eerste geval slaan zelf-hostende gateways regelmatig een back-up op van de laatst gedownloade configuratie op een permanent volume dat is gekoppeld aan de container of pod.
Wanneer configuratieback-up is uitgeschakeld en de verbinding met Azure wordt onderbroken:
- Het uitvoeren van zelf-hostende gateways blijft werken met behulp van een kopie in het geheugen van de configuratie
- Gestopte zelf-hostende gateways kunnen niet worden starten
Wanneer configuratieback-up is ingeschakeld en de verbinding met Azure wordt onderbroken:
- Het uitvoeren van zelf-hostende gateways blijft werken met behulp van een kopie in het geheugen van de configuratie
- Gestopte zelf-hostende gateways kunnen een back-up van de configuratie gaan gebruiken
Wanneer de connectiviteit wordt hersteld, maakt elke zelf-hostende gateway die wordt beïnvloed door de storing automatisch opnieuw verbinding met de bijbehorende API Management-service en worden alle configuratie-updates gedownload die zijn uitgevoerd terwijl de gateway offline was.