Průvodce migrací brány v místním prostředí

PLATÍ PRO: Vývojář | Premium

Tento článek vysvětluje, jak migrovat stávající nasazení brány v místním prostředí na bránu v2.

Důležité

Podpora místních imagí kontejnerů služby Azure API Management verze 0 a verze 1 končí 1. října 2023 spolu s odpovídajícím konfiguračním rozhraním API v1. Další informace najdete v naší dokumentaci k vyřazení

Co je nového?

S tím, jak se snažíme zákazníkům usnadnit nasazení naší brány v místním prostředí, zavedli jsme nové rozhraní API konfigurace, které odebere závislost na Azure Storage, pokud nepoužíváte inspektor rozhraní API nebo kvóty.

Nové rozhraní API pro konfiguraci umožňuje zákazníkům snadněji přijímat, nasazovat a provozovat naši bránu v místním prostředí ve své stávající infrastruktuře.

Zavedli jsme nové značky imagí kontejneru, abychom zákazníkům umožnili zvolit nejlepší způsob, jak naši bránu vyzkoušet a nasadit ji v produkčním prostředí.

Abychom zákazníkům pomohli spouštět naši bránu v produkčním prostředí, rozšířili jsme naše provozní pokyny , abychom se mohli zabývat tím, jak bránu automaticky škálovat, a nasadit ji pro zajištění vysoké dostupnosti v clusteru Kubernetes.

Přečtěte si další informace o připojení naší brány, požadavcích na novou infrastrukturu a o tom, co se stane, když dojde ke ztrátě připojení v tomto článku.

Požadavky

Než budete moct migrovat na bránu v2 v místním prostředí, musíte zajistit, aby vaše infrastruktura splňovala požadavky.

Migrace na bránu v2 v místním prostředí

Migrace z brány v2 v2 vyžaduje několik malých kroků:

  1. Použití nové image kontejneru
  2. Použití nového konfiguračního rozhraní API
  3. Splnění minimálních požadavků na zabezpečení

Image kontejneru

Změňte značku image ve skriptech nasazení tak, aby používala 2.0.0 nebo překročila.

Případně zvolte jednu z našich dalších značek imagí kontejneru.

Úplný seznam dostupných značek najdete tady nebo nás najdete na Docker Hubu.

Použití nového konfiguračního rozhraní API

Aby zákazníci mohli migrovat na bránu v2 v2, musí používat naše nové konfigurační rozhraní API v2.

Azure API Management v současné době poskytuje následující konfigurační rozhraní API pro bránu v místním prostředí:

Konfigurační služba Adresa URL Podporováno Požadavky
v2 {name}.configuration.azure-api.net Ano Odkaz
v1 {name}.management.azure-api.net/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.ApiManagement/service/{name}?api-version=2021-01-01-preview No Odkaz

Zákazník musí použít nové konfigurační rozhraní API v2 změnou skriptů nasazení tak, aby používal novou adresu URL a splňoval požadavky na infrastrukturu.

Důležité

  • Název hostitele DNS musí být přeložitelný na IP adresy a odpovídající IP adresy musí být dostupné. To může vyžadovat další konfiguraci v případě, že používáte privátní DNS, interní virtuální síť nebo jiné požadavky na infrastrukturu.

Zabezpečení

Dostupné šifrovací sady TLS

Při spuštění používala brána v2.0 v2.0 pouze podmnožinu šifrovacích sad, které používala verze 1.x. Od verze 2.0.4 jsme vrátili všechny šifrovací sady, které podporuje verze 1.x.

Další informace o použitých šifrovacích sadách najdete v tomto článku nebo pomocí verze 2.1.1 můžete určit, jaké šifrovací sady se mají použít.

Splnění minimálních požadavků na zabezpečení

Během spouštění připraví brána v místním prostředí certifikáty certifikační autority, které se použijí. To vyžaduje, aby se kontejner brány spustil s alespoň ID uživatele 1001 a nemůže používat systém souborů jen pro čtení.

Při konfiguraci kontextu zabezpečení pro kontejner v Kubernetes se vyžaduje minimálně toto:

securityContext:
  runAsNonRoot: true
  runAsUser: 1001
  readOnlyRootFilesystem: false

Vzhledem k 2.0.3 tomu, že brána v místním prostředí je schopná v Kubernetes běžet jako ne root, což zákazníkům umožňuje bezpečněji spouštět bránu.

Tady je příklad kontextu zabezpečení pro bránu v místním prostředí:

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

Upozorňující

Spuštění brány v místním prostředí se systémem souborů jen pro čtení (readOnlyRootFilesystem: true) se nepodporuje.

Posouzení dopadu pomocí Azure Advisoru

Abychom migraci usnadnili, zavedli jsme nová doporučení Azure Advisoru:

  • Doporučení k použití brány v2 v2 – Identifikuje instance služby Azure API Management, u kterých bylo identifikováno použití brány v0.x nebo v1.x.
  • Použití konfiguračního rozhraní API v2 pro doporučení k bránám v místním prostředí – identifikuje instance služby Azure API Management, ve kterých bylo identifikováno použití konfiguračního rozhraní API v1 pro bránu v místním prostředí.

Důrazně doporučujeme zákazníkům použít přehled "Všechna doporučení" v Azure Advisoru k určení, jestli se vyžaduje migrace. Pomocí možností filtrování můžete zjistit, jestli existuje některá z výše uvedených doporučení.

Identifikace instancí služby Azure API Management pomocí Azure Resource Graphu

Tento dotaz Azure Resource Graphu poskytuje seznam ovlivněných instancí služby Azure API Management:

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"

Známá omezení

Tady je seznam známých omezení pro bránu v2 v místním prostředí:

  • Rozhraní API pro konfiguraci verze 2 nepodporuje vlastní názvy domén

Další kroky