Migratiehandleiding voor zelf-hostende gateway
VAN TOEPASSING OP: Ontwikkelaar | Premie
In dit artikel wordt uitgelegd hoe u bestaande zelf-hostende gatewayimplementaties migreert naar zelf-hostende gateway v2.
Belangrijk
Ondersteuning voor zelf-hostende gatewayversie 0 en versie 1 van Azure API Management eindigt op 1 oktober 2023, samen met de bijbehorende Configuratie-API v1. Meer informatie vindt u in onze documentatie over afschaffing
Wat is er nieuw?
Omdat we ernaar streven om het voor klanten gemakkelijker te maken om onze zelf-hostende gateway te implementeren, hebben we een nieuwe configuratie-API geïntroduceerd die de afhankelijkheid van Azure Storage verwijdert, tenzij u API-controle of quota gebruikt.
Met de nieuwe configuratie-API kunnen klanten onze zelf-hostende gateway eenvoudiger implementeren, implementeren en gebruiken in hun bestaande infrastructuur.
We hebben nieuwe tags voor containerinstallatiekopieën geïntroduceerd zodat klanten de beste manier kunnen kiezen om onze gateway uit te proberen en deze in productie te implementeren.
Om klanten te helpen onze gateway in productie uit te voeren, hebben we onze productierichtlijnen uitgebreid om te bepalen hoe de gateway automatisch kan worden geschaald en geïmplementeerd voor hoge beschikbaarheid in uw Kubernetes-cluster.
Meer informatie over de connectiviteit van onze gateway, onze nieuwe infrastructuurvereisten en wat er gebeurt als de connectiviteit verloren gaat in dit artikel.
Vereisten
Voordat u naar zelf-hostende gateway v2 kunt migreren, moet u ervoor zorgen dat uw infrastructuur voldoet aan de vereisten.
Migreren naar zelf-hostende gateway v2
Voor het migreren van zelf-hostende gateway v2 moeten enkele kleine stappen worden uitgevoerd:
- De nieuwe containerinstallatiekopieën gebruiken
- De nieuwe configuratie-API gebruiken
- Voldoen aan minimale beveiligingsvereisten
Containerinstallatiekopie
Wijzig de afbeeldingstag in uw implementatiescripts voor gebruik 2.0.0
of hoger.
U kunt ook een van onze andere containerinstallatiekopieëntags kiezen.
Hier vindt u een volledige lijst met beschikbare tags of vindt u ons in Docker Hub.
De nieuwe configuratie-API gebruiken
Om te migreren naar zelf-hostende gateway v2, moeten klanten onze nieuwe Configuratie-API v2 gebruiken.
Momenteel biedt Azure API Management de volgende configuratie-API's voor zelf-hostende gateway:
Configuratieservice | URL | Ondersteund | Vereisten |
---|---|---|---|
v2 | {name}.configuration.azure-api.net |
Ja | Koppeling |
v1 | {name}.management.azure-api.net/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.ApiManagement/service/{name}?api-version=2021-01-01-preview |
Nee | Koppeling |
De klant moet de nieuwe configuratie-API v2 gebruiken door de implementatiescripts te wijzigen om de nieuwe URL te gebruiken en te voldoen aan de infrastructuurvereisten.
Belangrijk
- DNS-hostnaam moet kunnen worden omgezet in IP-adressen en de bijbehorende IP-adressen moeten bereikbaar zijn. Hiervoor is mogelijk extra configuratie vereist voor het geval u een privé-DNS, intern VNET of andere infrastructuurvereisten gebruikt.
Beveiliging
Beschikbare TLS-coderingssuites
Bij het starten gebruikte zelf-hostende gateway v2.0 alleen een subset van de coderingssuites die v1.x gebruikte. Vanaf v2.0.4 hebben we alle coderingssuites teruggehaald die v1.x ondersteunen.
In dit artikel vindt u meer informatie over de gebruikte coderingssuites of gebruikt u v2.1.1 om te bepalen welke coderingssuites u wilt gebruiken.
Voldoen aan minimale beveiligingsvereisten
Tijdens het opstarten bereidt de zelf-hostende gateway de CA-certificaten voor die worden gebruikt. Hiervoor moet de gatewaycontainer worden uitgevoerd met ten minste gebruikers-id 1001 en kan het alleen-lezen bestandssysteem niet worden gebruikt.
Bij het configureren van een beveiligingscontext voor de container in Kubernetes zijn minimaal het volgende vereist:
securityContext:
runAsNonRoot: true
runAsUser: 1001
readOnlyRootFilesystem: false
Vanaf 2.0.3
de zelf-hostende gateway kan deze echter worden uitgevoerd als niet-root in Kubernetes, zodat klanten de gateway veiliger kunnen uitvoeren.
Hier volgt een voorbeeld van de beveiligingscontext voor de zelf-hostende gateway:
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1001 # This is a built-in user, but you can use any user ie 1000 as well
runAsGroup: 2000 # This is just an example
privileged: false
capabilities:
drop:
- all
Waarschuwing
Het uitvoeren van de zelf-hostende gateway met het alleen-lezen bestandssysteem (readOnlyRootFilesystem: true
) wordt niet ondersteund.
Impact beoordelen met Azure Advisor
Om de migratie eenvoudiger te maken, hebben we nieuwe Aanbevelingen voor Azure Advisor geïntroduceerd:
- Aanbeveling voor zelf-hostende gateway v2 gebruiken: identificeert Azure API Management-exemplaren waarbij het gebruik van zelf-hostende gateway v0.x of v1.x is geïdentificeerd.
- Configuratie-API v2 gebruiken voor aanbevelingen voor zelf-hostende gateways : identificeert Azure API Management-exemplaren waarbij het gebruik van configuration-API v1 voor zelf-hostende gateway is geïdentificeerd.
We raden klanten ten zeerste aan om het overzicht 'Alle aanbevelingen' in Azure Advisor te gebruiken om te bepalen of een migratie is vereist. Gebruik de filteropties om te zien of een van de bovenstaande aanbevelingen aanwezig is.
Azure Resource Graph gebruiken om Azure API Management-exemplaren te identificeren
Deze Azure Resource Graph-query biedt een lijst met betrokken Azure API Management-exemplaren:
AdvisorResources
| where type == 'microsoft.advisor/recommendations'
| where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence'
| extend
recommendationTitle = properties.shortDescription.solution
| where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways'
| extend
instanceName = properties.impactedValue,
recommendationImpact = properties.impact,
recommendationMetadata = properties.extendedProperties,
lastUpdated = properties.lastUpdated
| project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, recommendationMetadata, lastUpdated
az graph query -q "AdvisorResources | where type == 'microsoft.advisor/recommendations' | where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence' | extend recommendationTitle = properties.shortDescription.solution | where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways' | extend instanceName = properties.impactedValue, recommendationImpact = properties.impact, recommendationMetadata = properties.extendedProperties, lastUpdated = properties.lastUpdated | project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, lastUpdated"
Bekende beperkingen
Hier volgt een lijst met bekende beperkingen voor de zelf-hostende gateway v2:
- Configuratie-API v2 biedt geen ondersteuning voor aangepaste domeinnamen
Volgende stappen
- Meer informatie over API Management in een hybride en multicloudwereld
- Meer informatie over richtlijnen voor het uitvoeren van de zelf-hostende gateway in Kubernetes in productie
- Zelf-hostende gateway implementeren in Docker
- Zelf-hostende gateway implementeren in Kubernetes
- Zelf-hostende gateway implementeren in Kubernetes-cluster met Azure Arc