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.

  • Opcjonalna nadmiarowość strefy, 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.

  • Brama w każdym regionie (w tym region podstawowy) ma regionalną nazwę DNS zgodną ze wzorcem https://<service-name>-<region>-01.regional.azure-api.netadresu URL , na przykład https://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 zostało wdrożone w sieci wirtualnej, upewnij się, że skonfigurowano sieć wirtualną, podsieć i publiczny adres IP 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

  1. W witrynie Azure Portal przejdź do usługi API Management i wybierz pozycję Lokalizacje z menu po lewej stronie.
  2. Wybierz pozycję + Dodaj na górnym pasku.
  3. Wybierz dodaną lokalizację z listy rozwijanej.
  4. Wybierz liczbę jednostek skalowania w lokalizacji.
  5. Opcjonalnie wybierz co najmniej jedną strefę dostępności.
  6. Jeśli wystąpienie usługi API Management jest wdrażane w sieci wirtualnej, skonfiguruj ustawienia sieci wirtualnej w lokalizacji. Wybierz istniejącą sieć wirtualną, podsieć i publiczny adres IP, który jest dostępny w lokalizacji.
  7. Wybierz pozycję Dodaj , aby potwierdzić.
  8. Powtórz ten proces do momentu skonfigurowania wszystkich lokalizacji.
  9. Wybierz pozycję Zapisz na górnym pasku, aby rozpocząć proces wdrażania.

Usuwanie regionu usługi API Management

  1. W witrynie Azure Portal przejdź do usługi API Management i wybierz pozycję Lokalizacje z menu po lewej stronie.
  2. Dla lokalizacji, którą chcesz usunąć, wybierz menu kontekstowe przy użyciu przycisku ... na prawym końcu tabeli. Wybierz Usuń.
  3. 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.

  1. Przejdź do wystąpienia usługi Azure API Management i wybierz pozycję Interfejsy API z menu po lewej stronie.

  2. Wybierz żądany interfejs API.

  3. Wybierz pozycję Edytor kodu z listy rozwijanej strzałki w przetwarzaniu przychodzącym.

    Edytor kodu interfejsu API

  4. Użyj w połączeniu set-backend z zasadami warunkowymi choose , 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.

  1. Utwórz własną usługę Azure Traffic Manager.
  2. Jeśli używasz domeny niestandardowej, użyj jej z usługą Traffic Manager zamiast usługi API Management.
  3. 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.netadresu URL , na przykład https://contoso-westus2-01.regional.azure-api.net.
  4. 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-0123456789abcdefadresu URL , na przykład https://contoso-westus2-01.regional.azure-api.net/status-0123456789abcdef.
  5. 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:

  1. 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
    
  2. 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.

  3. 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 1443 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 wymagany 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. Przykładowe rozwiązania to aplikacja systemu Azure Gateway i Azure Traffic Manager.

Następne kroki