Sdílet prostřednictvím


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

PLATÍ PRO: Premium

Azure API Management podporuje nasazení ve více oblastech, které umožňuje vydavatelům rozhraní API přidávat místní brány rozhraní API do existující instance API Management v jedné nebo více podporovaných oblastech Azure. 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 více oblastí 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 webu Azure Portal přejděte do služby API Management a v nabídce vlevo vyberte Umístění .
  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 webu Azure Portal přejděte do služby API Management a v nabídce vlevo vyberte Umístění .
  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ů

Své back-endové služby můžete také chránit pomocí Azure Traffic Manageru, směrovat volání API do Traffic Manageru a nechat ho automaticky směrovat.

  • 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í rozhraní REST API pro vytvoření nebo aktualizaci služby , příkazu az apim update v Azure CLI, rutiny Azure PowerShellu set-azapimanagement nebo jiných nástrojů 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 databázi Azure SQL 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 databáze Azure SQL v jakýchkoli trasách nebo pravidlech brány firewall, která nakonfigurujete pro sítě ve svých sekundárních oblastech; Koncový bod služby Azure SQL se v tomto scénáři nedá použít. Pokud chcete najít název databáze Azure SQL v primární oblasti, přejděte na stránkuStav sítě> vaší instance služby API Management na portálu.

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.