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:

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 příslušné geografické zóně.

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í oblast, virtuální IP adresa primární oblasti se nezmění, protože každá oblast má vlastní privátní VIRTUÁLNÍ IP adresu.

  • 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.

  • 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.

Požadavky

  • Pokud jste nevytvořili instanci služby API Management, přečtěte si téma Vytvoření instance služby API Management. Vyberte úroveň služby Premium.
  • Pokud je vaše instance služby API Management nasazená ve virtuální síti, ujistěte se, že jste nastavili virtuální síť, podsíť a veřejnou IP adresu v umístění, které chcete přidat, a v rámci stejného předplatného. Viz požadavky virtuální sítě.

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 škálování v umístění.
  5. Volitelně vyberte jednu nebo více zón dostupnosti.
  6. Pokud je instance služby API Management nasazená ve virtuální síti, nakonfigurujte nastavení virtuální sítě v umístění. Vyberte existující virtuální síť, podsíť a veřejnou IP adresu, která jsou k dispozici v umístění.
  7. Potvrďte výběr možnosti 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. Pro umístění, které chcete odebrat, vyberte místní nabídku pomocí tlačítka ... na pravém konci 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ž jste nakonfigurovali brány služby Azure API Management v různých oblastech, brána rozhraní API bude dál předávat požadavky do stejné back-endové služby, která je nasazená pouze v jedné oblasti. V tomto případě bude zvýšení výkonu pocházet pouze z odpovědí uložených v mezipaměti služby Azure API Management v oblasti specifické pro požadavek; kontaktování back-endu po celém světě může způsobit vysokou latenci.

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

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

  2. Vyberte požadované rozhraní API.

  3. V rozevíracím seznamu Se šipkami ve zpracování příchozích dat vyberte editor kódu.

    Editor kódu rozhraní API

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

    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 také směrovat pomocí Azure Traffic Manageru, směrovat volání rozhraní API do Traffic Manageru a nechat ho automaticky přeložit.

  • Pro distribuci provozu a 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í Azure 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 stavu oblastí se řídí vzorem https://<service-name>-<region>-01.regional.azure-api.net/status-0123456789abcdefadresy URL , 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 zachováte tak, aby byla zakázaná.
  • 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 v instanci služby API Management, aktualizujte hodnotu vlastnosti brány disableGateway na truehodnotu . 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.

Poznámka:

Směrování do regionální brány můžete zakázat jenom v případě, že používáte výchozí směrování služby API Management, nikoli vlastní řešení směrování.

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 bránu v dostupném umístění, například USA – západ 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 falsehodnotu .

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 požadovaná pravidla skupiny zabezpečení sítě pro virtuální síť v přidané oblasti, jsou obecně stejné jako požadavky pro síť v primární oblasti.
  • Virtuální sítě v různých oblastech nemusí být v partnerském vztahu.

Důležité

Při konfiguraci v interním režimu virtuální sítě musí mít každá místní brána také odchozí připojení na portu 1443 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 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 vašich sekundárních oblastech; V tomto scénáři se značka služby Azure SQL nedá použít. Pokud chcete najít název databáze Azure SQL v primární oblasti, přejděte na stránku Stav 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 vyžaduje pro provoz správy na portu 3443.

    • Režim externí 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. Příklady řešení zahrnují Aplikace Azure Gateway a Azure Traffic Manager.

Další kroky