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 jednotek škálování, které bude tato oblast hostovat.
Volitelné zóny dostupnosti, pokud ji tato oblast podporuje.
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 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. 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.net
adresy URL , napříkladhttps://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íť a podsíť 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
- Na webu Azure Portal přejděte do služby API Management a v nabídce vlevo vyberte Umístění .
- Vyberte + Přidat v horním panelu.
- V rozevíracím seznamu vyberte přidané umístění.
- Vyberte počet jednotek škálování v umístění.
- Volitelně vyberte jednu nebo více zón dostupnosti.
- 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 (pokud povolíte zóny dostupnosti).
- Potvrďte výběr možnosti Přidat .
- Tento proces opakujte, dokud nenakonfigurujete všechna umístění.
- Výběrem možnosti Uložit v horním panelu spusťte proces nasazení.
Odebrání oblasti služby API Management
- Na webu Azure Portal přejděte do služby API Management a v nabídce vlevo vyberte Umístění .
- Pro umístění, které chcete odebrat, vyberte místní nabídku pomocí tlačítka ... na pravém konci tabulky. Vyberte Odstranit.
- 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.
Přejděte do vaší instance služby Azure API Management a v nabídce vlevo vyberte rozhraní API .
Vyberte požadované rozhraní API.
V rozevíracím seznamu Se šipkami ve zpracování příchozích dat vyberte editor kódu.
set-backend
Pomocí kombinace s podmíněnýmichoose
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í.
- Vytvořte si vlastní Azure Traffic Manager.
- Pokud používáte vlastní doménu, použijte ji s Traffic Managerem místo služby API Management.
- 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.net
adresy URL , napříkladhttps://contoso-westus2-01.regional.azure-api.net
. - 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-0123456789abcdef
adresy URL , napříkladhttps://contoso-westus2-01.regional.azure-api.net/status-0123456789abcdef
. - 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 true
hodnotu . 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:
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
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.
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
hodnotu .
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 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 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 používá 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.
Další kroky
Přečtěte si další informace o konfiguraci služby API Management pro zajištění vysoké dostupnosti.
Přečtěte si další informace o konfiguraci zón dostupnosti pro zlepšení dostupnosti instance služby API Management v určité oblasti.
Další informace o virtuálních sítích a službě API Management najdete tady: