Wdróż wystąpienie usługi Azure API Management w wielu regionach świadczenia usługi Azure
DOTYCZY: Premium
Usługa Azure API Management obsługuje wdrażanie w wielu regionach, co umożliwia wydawcom interfejsów API dodawanie regionalnych bram interfejsu API do istniejącego wystąpienia API Management w co najmniej jednym obsługiwanym regionie świadczenia usługi Azure. Wdrożenie w wielu regionach pomaga zmniejszyć opóźnienie żądań postrzegane przez geograficznie rozproszonych użytkowników interfejsu API i zwiększa dostępność usług, jeśli jeden region przejdzie w tryb offline.
Podczas dodawania regionu należy skonfigurować:
Liczba jednostek skalowania, które będą hostowane w danym regionie.
Opcjonalne strefy dostępności, jeśli ten region go obsługuje.
Ustawienia sieci wirtualnej w dodanym regionie, jeśli sieć jest skonfigurowana w istniejącym regionie lub regionach.
Ważne
Funkcja włączania przechowywania danych klientów w jednym regionie jest obecnie dostępna tylko w regionie Azja Południowo-Wschodnia (Singapur) w obszarze geograficznym Azja i Pacyfik. W przypadku wszystkich innych regionów dane klientów są przechowywane w obszarze geograficznym.
Informacje o wdrożeniu w wielu regionach
Tylko składnik bramy wystąpienia usługi API Management jest replikowany do wielu regionów. Płaszczyzna zarządzania wystąpienia i portal deweloperów pozostają hostowane tylko w regionie podstawowym , w którym pierwotnie wdrożono usługę.
Jeśli chcesz skonfigurować lokalizację pomocniczą dla wystąpienia usługi API Management po wdrożeniu (wstrzyknięciu) w sieci wirtualnej, sieć wirtualna i region podsieci powinny być zgodne z lokalizacją pomocniczą, którą konfigurujesz. Jeśli dodasz, usuniesz lub włączysz strefę dostępności w regionie podstawowym lub zmienisz podsieć regionu podstawowego, zmieni się adres VIP wystąpienia usługi API Management. Aby uzyskać więcej informacji, zobacz Adresy IP usługi Azure API Management. Jednak w przypadku dodawania regionu pomocniczego adres VIP regionu podstawowego nie zmieni się, ponieważ każdy region ma własny prywatny adres VIP.
Konfiguracje bramy, takie jak interfejsy API i definicje zasad, są regularnie synchronizowane między dodanymi regionami podstawowymi i pomocniczymi. Propagacja aktualizacji do bram regionalnych zwykle trwa mniej niż 10 sekund. Wdrożenie w wielu regionach zapewnia dostępność bramy interfejsu API w więcej niż jednym regionie i zapewnia dostępność usługi, jeśli jeden region przejdzie w tryb offline.
Gdy usługa API Management odbiera publiczne żądania HTTP do punktu końcowego usługi Traffic Manager (dotyczy zewnętrznych trybów sieci wirtualnej i bez sieci usługi API Management), ruch jest kierowany do bramy regionalnej na podstawie najmniejszego opóźnienia, co może zmniejszyć opóźnienia występujące przez geograficznie rozproszonych użytkowników interfejsu API. W wewnętrznym trybie sieci wirtualnej klienci muszą skonfigurować własne rozwiązanie do kierowania i równoważenia obciążenia ruchu między bramami regionalnymi. Aby uzyskać szczegółowe informacje, zobacz Zagadnienia dotyczące sieci.
Brama w każdym regionie (w tym region podstawowy) ma regionalną nazwę DNS zgodną ze wzorcem
https://<service-name>-<region>-01.regional.azure-api.net
adresu URL , na przykładhttps://contoso-westus2-01.regional.azure-api.net
.Jeśli region przejdzie w tryb offline, żądania interfejsu API są automatycznie kierowane wokół regionu, który zakończył się niepowodzeniem do następnej najbliższej bramy.
Jeśli region podstawowy przejdzie w tryb offline, płaszczyzna zarządzania API Management i portal deweloperów staną się niedostępne, ale regiony pomocnicze nadal obsługują żądania interfejsu API przy użyciu najnowszej konfiguracji bramy.
Wymagania wstępne
- Jeśli nie utworzono wystąpienia usługi API Management, zobacz Tworzenie wystąpienia usługi API Management. Wybierz warstwę usługi Premium.
- Jeśli wystąpienie usługi API Management jest wdrażane w sieci wirtualnej, upewnij się, że skonfigurowano sieć wirtualną i podsieć w lokalizacji, którą planujesz dodać, i w ramach tej samej subskrypcji. Zobacz Wymagania wstępne dotyczące sieci wirtualnej.
Wdrażanie usługi API Management w dodatkowym regionie
- W witrynie Azure Portal przejdź do usługi API Management i wybierz pozycję Lokalizacje z menu po lewej stronie.
- Wybierz pozycję + Dodaj na górnym pasku.
- Wybierz dodaną lokalizację z listy rozwijanej.
- Wybierz liczbę jednostek skalowania w lokalizacji.
- Opcjonalnie wybierz co najmniej jedną strefę dostępności.
- Jeśli wystąpienie usługi API Management jest wdrażane w sieci wirtualnej, skonfiguruj ustawienia sieci wirtualnej w lokalizacji, w tym sieć wirtualną, podsieć i publiczny adres IP (w przypadku włączenia stref dostępności).
- Wybierz pozycję Dodaj , aby potwierdzić.
- Powtórz ten proces do momentu skonfigurowania wszystkich lokalizacji.
- Wybierz pozycję Zapisz na górnym pasku, aby rozpocząć proces wdrażania.
Usuwanie regionu usługi API Management
- W witrynie Azure Portal przejdź do usługi API Management i wybierz pozycję Lokalizacje z menu po lewej stronie.
- Dla lokalizacji, którą chcesz usunąć, wybierz menu kontekstowe przy użyciu przycisku ... na prawym końcu tabeli. Wybierz Usuń.
- Potwierdź usunięcie i wybierz pozycję Zapisz , aby zastosować zmiany.
Kierowanie wywołań interfejsu API do regionalnych usług zaplecza
Domyślnie każdy interfejs API kieruje żądania do pojedynczego adresu URL usługi zaplecza. Nawet jeśli skonfigurowano bramy usługi Azure API Management w różnych regionach, brama interfejsu API będzie nadal przekazywać żądania do tej samej usługi zaplecza, która jest wdrażana tylko w jednym regionie. W takim przypadku wzrost wydajności będzie pochodzić tylko z odpowiedzi buforowanych w usłudze Azure API Management w regionie specyficznym dla żądania; kontaktowanie się z zapleczem na całym świecie może nadal powodować duże opóźnienie.
Aby korzystać z dystrybucji geograficznej systemu, należy mieć usługi zaplecza wdrożone w tych samych regionach co wystąpienia usługi Azure API Management. Następnie przy użyciu zasad i @(context.Deployment.Region)
właściwości można kierować ruch do lokalnych wystąpień zaplecza.
Przejdź do wystąpienia usługi Azure API Management i wybierz pozycję Interfejsy API z menu po lewej stronie.
Wybierz żądany interfejs API.
Wybierz pozycję Edytor kodu z listy rozwijanej strzałki w przetwarzaniu przychodzącym.
Użyj w połączeniu
set-backend
z zasadami warunkowymichoose
, aby utworzyć odpowiednie zasady routingu w<inbound> </inbound>
sekcji pliku.Na przykład następujący plik XML będzie działać w regionach Zachodnie stany USA i Azja Wschodnia:
<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>
Używanie usługi Traffic Manager do routingu do regionalnych zapleczy
Możesz również kierować usługi zaplecza za pomocą usługi Azure Traffic Manager, kierować wywołania interfejsu API do usługi Traffic Manager i zezwolić na automatyczne rozwiązywanie routingu.
W przypadku dystrybucji ruchu i trybu failover zalecamy użycie usługi Traffic Manager z metodą routingu geograficznego. Nie zalecamy używania usługi Traffic Manager z metodą routingu ważonego z zapleczemi usługi API Management.
W przypadku kontroli ruchu podczas operacji konserwacji zalecamy użycie metody routingu Priorytet.
Używanie routingu niestandardowego do bram regionalnych usługi API Management
Usługa API Management kieruje żądania do bramy regionalnej na podstawie najmniejszego opóźnienia. Chociaż nie można zastąpić tego ustawienia w usłudze API Management, możesz użyć własnej usługi Traffic Manager z niestandardowymi regułami routingu.
- Utwórz własną usługę Azure Traffic Manager.
- Jeśli używasz domeny niestandardowej, użyj jej z usługą Traffic Manager zamiast usługi API Management.
- Skonfiguruj regionalne punkty końcowe usługi API Management w usłudze Traffic Manager. Regionalne punkty końcowe są zgodne ze wzorcem
https://<service-name>-<region>-01.regional.azure-api.net
adresu URL , na przykładhttps://contoso-westus2-01.regional.azure-api.net
. - Konfigurowanie regionalnych punktów końcowych stanu usługi API Management w usłudze Traffic Manager. Punkty końcowe stanu regionalnego są zgodne ze wzorcem
https://<service-name>-<region>-01.regional.azure-api.net/status-0123456789abcdef
adresu URL , na przykładhttps://contoso-westus2-01.regional.azure-api.net/status-0123456789abcdef
. - Określ metodę routingu usługi Traffic Manager.
Wyłączanie routingu do bramy regionalnej
W niektórych warunkach może być konieczne tymczasowe wyłączenie routingu do jednej z bram regionalnych. Na przykład:
- Po dodaniu nowego regionu, aby zachować jego wyłączenie podczas konfigurowania i testowania regionalnej usługi zaplecza
- Podczas regularnej konserwacji zaplecza w regionie
- Aby przekierować ruch do innych regionów podczas zaplanowanego próbnego odzyskiwania po awarii, który symuluje niedostępny region lub podczas awarii regionalnej
Aby wyłączyć routing do bramy regionalnej w wystąpieniu usługi API Management, zaktualizuj wartość właściwości bramy disableGateway
na true
. Wartość można ustawić przy użyciu interfejsu API REST tworzenia lub aktualizowania usługi , polecenia az apim update w interfejsie wiersza polecenia platformy Azure, polecenia set-azapimanagement programu Azure PowerShell lub innych narzędzi platformy Azure.
Uwaga
Routing do bramy regionalnej można wyłączyć tylko wtedy, gdy używasz domyślnego routingu usługi API Management, a nie niestandardowego rozwiązania routingu.
Aby wyłączyć bramę regionalną przy użyciu interfejsu wiersza polecenia platformy Azure:
Użyj polecenia az apim show, aby wyświetlić lokalizacje, stan bramy i regionalne adresy URL skonfigurowane dla wystąpienia usługi API Management.
az apim show --name contoso --resource-group apim-hello-world-resource \ --query "additionalLocations[].{Location:location,Disabled:disableGateway,Url:gatewayRegionalUrl}" \ --output table
Przykładowe wyjście:
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
Użyj polecenia az apim update, aby wyłączyć bramę w dostępnej lokalizacji, takiej jak Zachodnie stany USA 2.
az apim update --name contoso --resource-group apim-hello-world-resource \ --set additionalLocations[location="West US 2"].disableGateway=true
Aktualizacja może potrwać kilka minut.
Sprawdź, czy ruch kierowany do adresu URL bramy regionalnej jest przekierowywany do innego regionu.
Aby przywrócić routing do bramy regionalnej, ustaw wartość disableGateway
na false
.
Sieć wirtualna
Ta sekcja zawiera zagadnienia dotyczące wdrożeń w wielu regionach, gdy wystąpienie usługi API Management jest wstrzykiwane w sieci wirtualnej.
- Skonfiguruj niezależnie każdą sieć regionalną. Wymagania dotyczące łączności, takie jak wymagane reguły sieciowej grupy zabezpieczeń dla sieci wirtualnej w dodanym regionie, są zazwyczaj takie same jak w przypadku sieci w regionie podstawowym.
- Sieci wirtualne w różnych regionach nie muszą być równorzędne.
Ważne
Po skonfigurowaniu w wewnętrznym trybie sieci wirtualnej każda brama regionalna musi również mieć łączność wychodzącą na porcie 1433 z bazą danych Azure SQL Database skonfigurowaną dla wystąpienia usługi API Management, które znajduje się tylko w regionie podstawowym . Upewnij się, że zezwalasz na łączność z nazwą FQDN lub adresem IP tej bazy danych Azure SQL Database we wszystkich trasach lub regułach zapory skonfigurowanych dla sieci w regionach pomocniczych; w tym scenariuszu nie można użyć tagu usługi Azure SQL. Aby znaleźć nazwę bazy danych Azure SQL Database w regionie podstawowym, przejdź do strony Stan sieci sieciowej>wystąpienia usługi API Management w portalu.
Adresy IP
Publiczny wirtualny adres IP jest tworzony w każdym regionie dodanym z siecią wirtualną. W przypadku sieci wirtualnych w trybie zewnętrznym lub wewnętrznym ten publiczny adres IP jest używany do zarządzania ruchem na porcie
3443
.Tryb zewnętrznej sieci wirtualnej — publiczne adresy IP są również wymagane do kierowania publicznego ruchu HTTP do bram interfejsu API.
Wewnętrzny tryb sieci wirtualnej — prywatny adres IP jest również tworzony w każdym regionie dodanym z siecią wirtualną. Użyj tych adresów, aby połączyć się w sieci z punktami końcowymi usługi API Management w regionach podstawowych i pomocniczych.
Routing
Tryb zewnętrznej sieci wirtualnej — routing publicznego ruchu HTTP do bram regionalnych jest obsługiwany automatycznie w taki sam sposób, jak w przypadku wystąpienia usługi API Management bez sieci.
Wewnętrzny tryb sieci wirtualnej — prywatny ruch HTTP nie jest domyślnie kierowany ani równoważenia obciążenia do bram regionalnych. Użytkownicy są właścicielami routingu i są odpowiedzialni za wprowadzenie własnego rozwiązania do zarządzania routingiem i równoważeniem obciążenia prywatnego w wielu regionach.
Następne kroki
Dowiedz się więcej o konfigurowaniu usługi API Management pod kątem wysokiej dostępności.
Dowiedz się więcej na temat konfigurowania stref dostępności w celu zwiększenia dostępności wystąpienia usługi API Management w regionie.
Aby uzyskać więcej informacji na temat sieci wirtualnych i usługi API Management, zobacz: