Migreringsguide för lokalt installerad gateway
GÄLLER FÖR: Utvecklare | Premie
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:
- Använda den nya containeravbildningen
- Använda det nya konfigurations-API:et
- 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
- Läs mer om API Management i en hybrid- och multimolnsvärld
- Läs mer om vägledning för att köra den lokala gatewayen på Kubernetes i produktion
- Distribuera en gateway med egen värd till Docker
- Distribuera en lokalt installerad gateway till Kubernetes
- Distribuera en lokalt installerad gateway till Azure Arc-aktiverat Kubernetes-kluster