Dela via


Migreringsguide för lokalt installerad gateway

GÄLLER FÖR: Utvecklare | Premium

Den här artikeln beskriver hur du migrerar befintliga gatewaydistributioner med egen värd till en lokalt installerad gateway v2.

Viktigt!

Stöd för azure API Management med egen värdbaserad gateway version 0 och version 1-containeravbildningar upphör den 1 oktober 2023, tillsammans med motsvarande Konfigurations-API v1. Läs mer i vår utfasningsdokumentation

Nyheter

När vi strävar efter att göra det enklare för kunder att distribuera vår egen värdbaserade gateway har vi introducerat ett nytt konfigurations-API som tar bort beroendet av Azure Storage, såvida du inte använder API-kontroll eller kvoter.

Med det nya konfigurations-API:et kan kunderna enklare implementera, distribuera och använda vår egen värdbaserade gateway i sin befintliga infrastruktur.

Vi har introducerat nya containeravbildningstaggar så att kunderna kan välja det bästa sättet att prova vår gateway och distribuera den i produktion.

För att hjälpa kunder att köra vår gateway i produktion har vi utökat vår produktionsvägledning för att täcka hur gatewayen ska skalas automatiskt och distribuera den för hög tillgänglighet i ditt Kubernetes-kluster.

Läs mer om anslutningen för vår gateway, våra nya infrastrukturkrav och vad som händer om anslutningen går förlorad i den här artikeln.

Förutsättningar

Innan du kan migrera till en lokalt installerad gateway v2 måste du se till att infrastrukturen uppfyller kraven.

Migrera till lokal gateway v2

Migrering från en lokalt installerad gateway v2 kräver några små steg:

  1. Använda den nya containeravbildningen
  2. Använda det nya konfigurations-API:et
  3. Uppfylla minimala säkerhetskrav

Containeravbildning

Ändra avbildningstaggen i distributionsskripten så att den används 2.0.0 eller senare.

Du kan också välja någon av våra andra containeravbildningstaggar.

Du hittar en fullständig lista över tillgängliga taggar här eller hitta oss på Docker Hub.

Använda det nya konfigurations-API:et

För att kunna migrera till en lokalt installerad gateway v2 måste kunderna använda vårt nya Konfigurations-API v2.

För närvarande tillhandahåller Azure API Management följande konfigurations-API:er för lokalt installerad gateway:

Konfigurationstjänst webbadress Stöds Krav
v2 {name}.configuration.azure-api.net Ja Länk
v1 {name}.management.azure-api.net/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.ApiManagement/service/{name}?api-version=2021-01-01-preview Nej Länk

Kunden måste använda det nya konfigurations-API:et v2 genom att ändra sina distributionsskript för att använda den nya URL:en och uppfylla infrastrukturkraven.

Viktigt!

  • DNS-värdnamnet måste kunna matchas mot IP-adresser och motsvarande IP-adresser måste kunna nås. Detta kan kräva ytterligare konfiguration om du använder en privat DNS, ett internt virtuellt nätverk eller andra infrastrukturkrav.

Säkerhet

Tillgängliga TLS-chiffersviter

Vid start använde gateway v2.0 med egen värd endast en delmängd av chiffersviterna som v1.x använde. Från och med v2.0.4 har vi tagit tillbaka alla chiffersviter som v1.x stöder.

Du kan lära dig mer om de använda chiffersviterna i den här artikeln eller använda v2.1.1 för att styra vilka chiffersviter som ska användas.

Uppfylla minimala säkerhetskrav

Under starten förbereder den lokalt installerade gatewayen de CA-certifikat som ska användas. Detta kräver att gatewaycontainern körs med minst användar-ID 1001 och inte kan använda skrivskyddat filsystem.

När du konfigurerar en säkerhetskontext för containern i Kubernetes krävs följande minst:

securityContext:
  runAsNonRoot: true
  runAsUser: 1001
  readOnlyRootFilesystem: false

Men från och 2.0.3 med den lokala gatewayen kan den köras som icke-rot i Kubernetes så att kunderna kan köra gatewayen på ett säkrare sätt.

Här är ett exempel på säkerhetskontexten för den lokalt installerade gatewayen:

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

Varning

Det går inte att köra den lokalt installerade gatewayen med skrivskyddat filsystem (readOnlyRootFilesystem: true).

Utvärdera påverkan med Azure Advisor

För att underlätta migreringen har vi introducerat nya Azure Advisor-rekommendationer:

  • Använd en egen värdbaserad gateway v2-rekommendation – Identifierar Azure API Management-instanser där användningen av lokalt installerad gateway v0.x eller v1.x identifierades.
  • Använd Configuration API v2 för rekommendationer om lokalt installerade gatewayer – Identifierar Azure API Management-instanser där användningen av Configuration API v1 för en lokalt installerad gateway identifierades.

Vi rekommenderar starkt att kunderna använder översikten "Alla Rekommendationer" i Azure Advisor för att avgöra om en migrering krävs. Använd filtreringsalternativen för att se om någon av rekommendationerna ovan finns.

Använda Azure Resource Graph för att identifiera Azure API Management-instanser

Den här Azure Resource Graph-frågan ger dig en lista över påverkade Azure API Management-instanser:

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"

Kända begränsningar

Här är en lista över kända begränsningar för den lokala gatewayen v2:

  • Konfigurations-API v2 stöder inte anpassade domännamn

Nästa steg