Migratiehandleiding voor zelf-hostende gateway

VAN TOEPASSING OP: Ontwikkelaar | Premium

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:

  1. De nieuwe containerinstallatiekopieën gebruiken
  2. De nieuwe configuratie-API gebruiken
  3. 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