Nasazení instance Azure API Management do několika oblastí Azure

PLATÍ PRO: Premium

Azure API Management podporuje nasazení ve více oblastech, což umožňuje vydavatelům rozhraní API přidávat místní brány rozhraní API do existující instance služby API Management v jedné nebo více podporovaných Azure oblastech. Nasazení ve více oblastech pomáhá snížit latenci požadavků vnímanou geograficky distribuovanými uživateli rozhraní API a zlepšuje dostupnost služby, pokud je jedna oblast offline.

Při přidávání oblasti nakonfigurujete:

  • Počet měrných jednotek, které tato oblast bude hostovat.

  • Zóny dostupnosti, pokud ji tato oblast podporuje. Ve výchozím nastavení služba API Management automaticky nakonfiguruje zóny dostupnosti pro přidanou oblast, což se doporučuje. Můžete také ručně nakonfigurovat zóny dostupnosti pro přidanou oblast.

  • Nastavení virtuální sítě v přidané oblasti, pokud jsou sítě nakonfigurované v existující oblasti nebo oblastech.

Důležité

Funkce umožňující povolit ukládání zákaznických dat v jedné oblasti je aktuálně k dispozici jenom v oblasti Jihovýchodní Asie (Singapur) v geografické zóně Asie a Tichomoří. Pro všechny ostatní oblasti se zákaznická data ukládají v Geo.

Důležité

Dokončení změn infrastruktury služby API Management (například konfigurace vlastních domén, přidání certifikátů certifikační autority, škálování, konfigurace virtuální sítě, změny zóny dostupnosti a přidání oblastí) může trvat 15 minut nebo déle v závislosti na úrovni služby a velikosti nasazení. U instance s větším počtem jednotek škálování nebo konfigurací více oblastí (brány ve více umístěních) můžete očekávat delší dobu. Postupné změny ve službě API Management se provádějí pečlivě, aby se zachovala kapacita a dostupnost.

Během aktualizace služby není možné provést jiné změny infrastruktury služeb. Můžete ale nakonfigurovat rozhraní API, produkty, zásady a uživatelská nastavení. Služba nebude mít výpadek brány a služba API Management bude dál obsluhovat požadavky rozhraní API bez přerušení (s výjimkou úrovně Developer).

Informace o nasazení ve více oblastech

  • Replikuje se do několika oblastí pouze komponenta brány vaší instance služby API Management. Rovina správy instance a portál pro vývojáře zůstávají hostované pouze v primární oblasti, oblasti, ve které jste službu původně nasadili.

  • Pokud chcete nakonfigurovat sekundární umístění pro vaši instanci služby API Management, když je nasazená (vložená) do virtuální sítě, měla by se oblast virtuální sítě a podsítě shodovat se sekundárním umístěním, které konfigurujete. Pokud přidáváte, odebíráte nebo povolujete zónu dostupnosti v primární oblasti nebo pokud měníte podsíť primární oblasti, změní se virtuální IP adresa vaší instance služby API Management. Další informace najdete v tématu IP adresy služby Azure API Management. Pokud ale přidáváte sekundární region, virtuální IP primárního regionu se nezmění, protože každý region má svou vlastní privátní virtuální IP.

  • Konfigurace brány, jako jsou rozhraní API a definice zásad, se pravidelně synchronizují mezi primární a sekundární oblastí, kterou přidáte. Šíření aktualizací do regionálních bran obvykle trvá méně než 10 sekund. Nasazení ve více oblastech zajišťuje dostupnost brány rozhraní API ve více než jedné oblasti a poskytuje dostupnost služby, pokud jedna oblast začne být offline.

  • Když služba API Management přijímá veřejné požadavky HTTP na koncový bod Traffic Manageru (platí pro externí režimy virtuální sítě a nesítěné režimy služby API Management), provoz se směruje do regionální brány na základě nejnižší latence, což může snížit latenci, ke které dochází u geograficky distribuovaných příjemců rozhraní API. V interním režimu virtuální sítě musí zákazníci nakonfigurovat vlastní řešení pro směrování a vyrovnávání zatížení provozu napříč regionálními bránami. Podrobnosti najdete v tématu Důležité informace o sítích.

  • Brána v každé oblasti (včetně primární oblasti) má místní název DNS, který se řídí vzorem https://<service-name>-<region>-01.regional.azure-api.netadresy URL , například https://contoso-westus2-01.regional.azure-api.net.

  • Pokud oblast začne být offline, požadavky rozhraní API se automaticky přesměrují kolem neúspěšné oblasti na další nejbližší bránu.

  • Pokud primární oblast začne být offline, rovina správy a portál pro vývojáře API Management budou nedostupné, ale sekundární oblasti budou dál obsluhovat požadavky rozhraní API pomocí nejnovější konfigurace brány.

  • Pokud jsou nakonfigurované, zásady omezení rychlosti a omezení rychlosti podle klíče počítají volání samostatně na každé regionální bráně v nasazení. Zásady neagregují všechna data volání instance. Podobně platí, že azure-openai-token-limit a llm-token-limit počítají využití tokenů samostatně na každé regionální bráně v nasazení.

Požadavky

Nasazení služby API Management do další oblasti

  1. Na portálu Azure přejděte do služby API Management a v nabídce vlevo vyberte Lokace.
  2. Vyberte + Přidat v horním panelu.
  3. V rozevíracím seznamu vyberte přidané umístění.
  4. Vyberte počet jednotek měřítka na místě.
  5. Pokud oblast podporuje zóny dostupnosti, ponechte automatické nastavení (doporučeno) nebo volitelně vyberte jednu nebo více zón. Pokud vyberete konkrétní zóny, počet jednotek, které vyberete, se musí rovnoměrně distribuovat napříč zónami dostupnosti. Pokud například vyberete tři jednotky, musíte vybrat tři zóny, aby každá zóna hostuje jednu jednotku.
  6. Pokud je instance služby API Management nasazená ve virtuální síti, nakonfigurujte nastavení virtuální sítě v umístění, včetně virtuální sítě, podsítě a veřejné IP adresy.
  7. Potvrďte volbu Přidat.
  8. Tento proces opakujte, dokud nenakonfigurujete všechna umístění.
  9. Výběrem možnosti Uložit v horním panelu spusťte proces nasazení.

Odebrání oblasti služby API Management

  1. Na portálu Azure přejděte do služby API Management a v nabídce vlevo vyberte Lokace.
  2. U umístění, které chcete odstranit, vyberte kontextovou nabídku pomocí tlačítka ... na pravé straně tabulky. Vyberte Odstranit.
  3. Potvrďte odstranění a vyberte Uložit , aby se změny použily.

Směrování volání rozhraní API do regionálních back-endových služeb

Ve výchozím nastavení každé rozhraní API směruje požadavky na jednu adresu URL back-endové služby. I když nakonfigurujete brány služby API Management v různých oblastech, brána rozhraní API stále předává požadavky do stejné back-endové služby, která je nasazená pouze v jedné oblasti. V tomto případě vyšší výkon pochází pouze z odpovědí uložených v mezipaměti v rámci služby API Management v oblasti specifické pro požadavek. Kontaktování backendu globálně může stále způsobit vysokou latenci.

Pokud chcete využívat geografickou distribuci systému, měli byste nasadit back-endové služby ve stejných oblastech jako instance služby API Management. Pak pomocí zásad a @(context.Deployment.Region) vlastnosti můžete směrovat provoz do místních instancí back-endu.

  1. Přejděte do instance služby API Management a v nabídce vlevo vyberte rozhraní API .

  2. Vyberte požadované rozhraní API.

  3. Na kartě Návrh v části Zpracování příchozích dat vyberte Editor kódu.

    Snímek obrazovky, který znázorňuje editor kódu rozhraní API na kartě návrhu

  4. Pomocí set-backend v kombinaci s podmíněnými zásadami choose vytvořte správné směrovací zásady v sekci souboru <inbound> </inbound>.

    Například následující soubor XML by fungoval pro oblasti USA – západ a Východní Asie:

    <policies>
        <inbound>
            <base />
            <choose>
                <when condition="@("West US".Equals(context.Deployment.Region, StringComparison.OrdinalIgnoreCase))">
                    <set-backend-service base-url="http://contoso-backend-us.com/" />
                </when>
                <when condition="@("East Asia".Equals(context.Deployment.Region, StringComparison.OrdinalIgnoreCase))">
                    <set-backend-service base-url="http://contoso-backend-asia.com/" />
                </when>
                <otherwise>
                    <set-backend-service base-url="http://contoso-backend-other.com/" />
                </otherwise>
            </choose>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

Použití Traffic Manageru pro směrování do regionálních back-endů

Back-endové služby můžete rovněž umístit před Azure Traffic Manager, směrovat volání rozhraní API do Traffic Manageru a nechat ho vyřešit směrování automaticky.

  • Pro distribuci provozu a zajištění převzetí služeb při selhání doporučujeme použít Traffic Manager s metodou geografického směrování. Nedoporučujeme používat Traffic Manager s metodou váženého směrování s back-endy služby API Management.

  • Pro řízení provozu během operací údržby doporučujeme použít metodu směrování priority.

Použití vlastního směrování do regionálních bran služby API Management

Služba API Management směruje požadavky na regionální bránu na základě nejnižší latence. I když toto nastavení ve službě API Management není možné přepsat, můžete použít vlastní traffic manager s vlastními pravidly směrování.

  1. Vytvořte si vlastní Traffic Manager.
  2. Pokud používáte vlastní doménu, použijte ji s Traffic Managerem místo služby API Management.
  3. Nakonfigurujte regionální koncové body služby API Management v Traffic Manageru. Regionální koncové body se řídí vzorem https://<service-name>-<region>-01.regional.azure-api.netadresy URL , například https://contoso-westus2-01.regional.azure-api.net.
  4. Nakonfigurujte koncové body regionálního stavu služby API Management v Traffic Manageru. Koncové body regionálního stavu se řídí vzorem adresy URL https://<service-name>-<region>-01.regional.azure-api.net/status-0123456789abcdef, například https://contoso-westus2-01.regional.azure-api.net/status-0123456789abcdef.
  5. Zadejte metodu směrování traffic manageru.

Zakázání směrování do regionální brány

Za určitých podmínek možná budete muset dočasně zakázat směrování do jedné z regionálních bran. Příklad:

  • Po přidání nové oblasti ji při konfiguraci a otestování regionální back-endové služby ponechte zakázanou.
  • Během pravidelné údržby back-endu v oblasti
  • Přesměrování provozu do jiných oblastí během plánovaného postupu zotavení po havárii, který simuluje nedostupnou oblast nebo během regionálního selhání

Chcete-li zakázat směrování na regionální bránu ve vaší instanci služby API Management, aktualizujte hodnotu vlastnosti brány disableGateway na true. Hodnotu můžete nastavit pomocí REST API služby Create nebo update, příkazem az apim update v Azure CLI, příkazem set-azapimanagement Azure PowerShell cmdlet nebo jinými nástroji Azure.

Důležité

  • Vlastnost můžete nastavit pouze tak, aby se při použití výchozího disableGateway směrování ve službě API Management zakázalo směrování do regionální brány, nikoli vlastní řešení směrování.
  • Nemůžete nastavit vlastnost disableGateway, aby zakázala směrování na regionální bránu, když je instance služby API Management nasazena ve virtuální síti v interním režimu. V takovém případě musíte spravovat směrování a vyrovnávání zatížení napříč několika oblastmi sami.

Zakázání regionální brány pomocí Azure CLI:

  1. Pomocí příkazu az apim show zobrazte umístění, stav brány a místní adresy URL nakonfigurované pro instanci služby API Management.

    az apim show --name contoso --resource-group apim-hello-world-resource \
        --query "additionalLocations[].{Location:location,Disabled:disableGateway,Url:gatewayRegionalUrl}" \
        --output table
    

    Příklad výstupu:

    Location    Disabled    Url
    ----------  ----------  ------------------------------------------------------------
    West US 2   True        https://contoso-westus2-01.regional.azure-api.net
    West Europe True        https://contoso-westeurope-01.regional.azure-api.net
    
  2. Pomocí příkazu az apim update zakažte síťovou bránu v dostupném umístění, například Západ USA 2.

    az apim update --name contoso --resource-group apim-hello-world-resource \
    --set additionalLocations[location="West US 2"].disableGateway=true
    

    Aktualizace může trvat několik minut.

  3. Ověřte, že se provoz směrovaný na adresu URL místní brány přesměruje do jiné oblasti.

Pokud chcete obnovit směrování do regionální brány, nastavte hodnotu disableGateway na false.

Virtuální síť

Tato část obsahuje důležité informace o nasazeních ve více oblastech při vkládání instance služby API Management do virtuální sítě.

  • Nakonfigurujte každou oblastní síť nezávisle. Požadavky na připojení, jako jsou povinná pravidla skupiny zabezpečení sítě pro virtuální síť v přidané oblasti, jsou obecně stejné jako požadavky na síť v primární oblasti.
  • Virtuální sítě v různých oblastech není potřeba, aby byly propojeny.

Důležité

Když nakonfigurujete instanci služby API Management tak, aby používala interní režim virtuální sítě, musí mít každá místní brána také odchozí připojení na portu 1433 k Azure SQL databázi nakonfigurované pro vaši instanci služby API Management, která je pouze v primární oblasti. Ujistěte se, že povolíte připojení k plně kvalifikovanému názvu domény (FQDN) nebo IP adrese této Azure SQL databáze v jakýchkoli trasách nebo pravidlech brány firewall, která nakonfigurujete pro sítě ve svých sekundárních oblastech. V tomto scénáři se koncový bod služby Azure SQL nedá použít. Název databáze Azure SQL v primární oblasti najdete tak, že na portálu přejdete na stránku Network>Stav sítě vašeho instance služby API Management.

Adresy IP

  • Veřejná virtuální IP adresa se vytvoří v každé oblasti přidané s virtuální sítí. Pro virtuální sítě v externím režimu nebo v interním režimu se tato veřejná IP adresa používá pro provoz správy na portu 3443.

    • Externí režim virtuální sítě: Veřejné IP adresy jsou také potřeba ke směrování veřejného provozu HTTP do bran rozhraní API.

    • Interní režim virtuální sítě: Privátní IP adresa se vytvoří také v každé oblasti přidané s virtuální sítí. Pomocí těchto adres se připojte v síti ke koncovým bodům služby API Management v primární a sekundární oblasti.

Směrování

  • Externí režim virtuální sítě: Směrování veřejného provozu HTTP do regionálních bran se zpracovává automaticky stejným způsobem jako u nesítěné instance služby API Management.

  • Interní režim virtuální sítě: Privátní provoz HTTP se ve výchozím nastavení nesměruje ani nevyrovná zatížení do regionálních bran. Uživatelé vlastní směrování a zodpovídají za zavedení vlastního řešení pro správu směrování a privátního vyrovnávání zatížení napříč několika oblastmi.