Udostępnij za pośrednictwem


Wdrażanie wystąpienia usługi Azure API Management w sieci wirtualnej — tryb zewnętrzny

DOTYCZY: Developer | Premia

Usługę Azure API Management można wdrożyć (wstrzykiwać) w sieci wirtualnej platformy Azure, aby uzyskać dostęp do usług zaplecza w sieci. Aby zapoznać się z opcjami, wymaganiami i zagadnieniami dotyczącymi łączności z siecią wirtualną, zobacz:

W tym artykule wyjaśniono, jak skonfigurować łączność sieci wirtualnej dla wystąpienia usługi API Management w trybie zewnętrznym , w którym portal deweloperów, brama interfejsu API i inne punkty końcowe usługi API Management są dostępne z publicznego Internetu, a usługi zaplecza znajdują się w sieci.

Nawiązywanie połączenia z zewnętrzną siecią wirtualną

Aby uzyskać konfiguracje specyficzne dla trybu wewnętrznego, w którym punkty końcowe są dostępne tylko w sieci wirtualnej, zobacz Wdrażanie wystąpienia usługi Azure API Management w sieci wirtualnej — tryb wewnętrzny.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wymagania wstępne

Przed rozpoczęciem zapoznaj się z wymaganiami dotyczącymi zasobów sieciowych pod kątem wstrzykiwania usługi API Management do sieci wirtualnej.

Niektóre wymagania wstępne różnią się w zależności od wersji (stv2lub stv1) platformy obliczeniowej obsługującej wystąpienie usługi API Management.

Napiwek

Gdy używasz portalu do tworzenia lub aktualizowania połączenia sieciowego istniejącego wystąpienia usługi API Management, wystąpienie jest hostowane na platformie obliczeniowej stv2 .

  • Wystąpienie usługi API Management. Aby uzyskać więcej informacji, zobacz Tworzenie wystąpienia usługi Azure API Management.
  • Sieć wirtualna i podsieć w tym samym regionie i subskrypcji co wystąpienie usługi API Management.

    • Podsieć używana do nawiązywania połączenia z wystąpieniem usługi API Management może zawierać inne typy zasobów platformy Azure.
    • Podsieć nie powinna mieć włączonego delegowania. Ustawienie Delegowanie podsieci do usługi dla podsieci powinno mieć wartość Brak.
  • Sieciowa grupa zabezpieczeń dołączona do powyższej podsieci. Sieciowa grupa zabezpieczeń jest wymagana do jawnego zezwalania na łączność przychodzącą, ponieważ moduł równoważenia obciążenia używany wewnętrznie przez usługę API Management jest domyślnie bezpieczny i odrzuca cały ruch przychodzący. Aby uzyskać konkretną konfigurację, zobacz Konfigurowanie reguł sieciowej grupy zabezpieczeń w dalszej części tego artykułu.

  • W przypadku niektórych scenariuszy włącz punkty końcowe usługi w podsieci do usług zależnych, takich jak Azure Storage lub Azure SQL. Aby uzyskać więcej informacji, zobacz Wymuszanie tunelowania ruchu do zapory lokalnej przy użyciu usługi ExpressRoute lub wirtualnego urządzenia sieciowego w dalszej części tego artykułu.

  • (Opcjonalnie) Publiczny adres IPv4 jednostki SKU w warstwie Standardowa.

    Ważne

    • Od maja 2024 r. zasób publicznego adresu IP nie jest już potrzebny podczas wdrażania (wstrzykiwania) wystąpienia usługi API Management w sieci wirtualnej w trybie wewnętrznym lub migrowania wewnętrznej konfiguracji sieci wirtualnej do nowej podsieci. W trybie zewnętrznej sieci wirtualnej określenie publicznego adresu IP jest opcjonalne. Jeśli go nie podasz, publiczny adres IP zarządzany przez platformę Azure jest automatycznie konfigurowany i używany na potrzeby ruchu interfejsu API środowiska uruchomieniowego. Podaj tylko publiczny adres IP, jeśli chcesz być właścicielem i kontrolować publiczny adres IP używany do komunikacji przychodzącej lub wychodzącej z Internetem.
    • Jeśli zostanie podany, adres IP musi znajdować się w tym samym regionie i subskrypcji co wystąpienie usługi API Management i sieć wirtualna.

    • Podczas tworzenia zasobu publicznego adresu IP upewnij się, że przypiszesz do niego etykietę nazwy DNS. Ogólnie rzecz biorąc, należy użyć tej samej nazwy DNS co wystąpienie usługi API Management. W przypadku zmiany ponownie wdróż wystąpienie, aby nowa etykieta DNS była stosowana.

    • Aby uzyskać najlepszą wydajność sieci, zaleca się użycie domyślnej preferencji routingu: Sieć firmy Microsoft.

    • Podczas tworzenia publicznego adresu IP w regionie, w którym planujesz włączyć nadmiarowość strefy dla wystąpienia usługi API Management, skonfiguruj ustawienie Strefowo nadmiarowe.

    • Wartość adresu IP jest przypisywana jako wirtualny publiczny adres IPv4 wystąpienia usługi API Management w tym regionie.

  • W przypadku wdrożeń usługi API Management w wielu regionach skonfiguruj zasoby sieci wirtualnej oddzielnie dla każdej lokalizacji.

Włączanie połączenia z siecią wirtualną

Włączanie łączności z siecią wirtualną przy użyciu witryny Azure Portal (stv2 platforma obliczeniowa)

  1. Przejdź do witryny Azure Portal, aby znaleźć wystąpienie usługi API Management. Wyszukaj i wybierz pozycję Usługi API Management.

  2. Wybierz wystąpienie usługi API Management.

  3. Wybierz pozycję Sieć.

  4. Wybierz typ dostępu zewnętrznego. Wybierz pozycję Sieć wirtualna w witrynie Azure Portal.

  5. Na liście lokalizacji (regionów), w których aprowizowana jest usługa API Management:

    1. Wybierz lokalizację.
    2. Wybierz pozycję Sieć wirtualna, Podsieć i (opcjonalnie) adres IP.
    • Lista sieci wirtualnych jest wypełniana przy użyciu sieci wirtualnych usługi Resource Manager dostępnych w subskrypcjach platformy Azure skonfigurowanych w konfigurowanych regionach.

      Ustawienia sieci wirtualnej w portalu.

  6. Wybierz Zastosuj. Strona Sieć wystąpienia usługi API Management zostanie zaktualizowana o nową sieć wirtualną i podsieć.

  7. Kontynuuj konfigurowanie ustawień sieci wirtualnej dla pozostałych lokalizacji wystąpienia usługi API Management.

  8. Na górnym pasku nawigacyjnym wybierz pozycję Zapisz.

Zaktualizowanie wystąpienia usługi API Management może potrwać od 15 do 45 minut. Wystąpienia w warstwie Deweloper mają przestój podczas procesu. Wystąpienia w warstwie Premium nie mają przestoju podczas procesu.

Włączanie łączności przy użyciu szablonu usługi Resource Manager (stv2 platforma obliczeniowa)

Włączanie łączności przy użyciu poleceń cmdlet programu Azure PowerShell (stv1 platforma)

Tworzenie lub aktualizowanie wystąpienia usługi API Management w sieci wirtualnej.

Konfigurowanie reguł sieciowych grup zabezpieczeń

Skonfiguruj niestandardowe reguły sieci w podsieci usługi API Management, aby filtrować ruch do i z wystąpienia usługi API Management. Zalecamy wykonanie następujących minimalnych reguł sieciowej grupy zabezpieczeń, aby zapewnić odpowiednią operację i dostęp do twojego wystąpienia. Uważnie przejrzyj środowisko, aby określić więcej reguł, które mogą być potrzebne.

Ważne

W zależności od użycia buforowania i innych funkcji może być konieczne skonfigurowanie dodatkowych reguł sieciowej grupy zabezpieczeń poza minimalnymi regułami w poniższej tabeli. Aby uzyskać szczegółowe informacje na temat ustawień, zobacz Dokumentacja konfiguracji sieci wirtualnej.

  • W większości scenariuszy użyj wskazanych tagów usługi zamiast adresów IP usługi, aby określić źródła sieci i miejsca docelowe.
  • Ustaw priorytet tych reguł wyższy niż w przypadku reguł domyślnych.
Porty źródłowe/docelowe Kierunek Protokół transportowy Tagi usługi
Źródło/miejsce docelowe
Przeznaczenie Typ sieci wirtualnej
* / [80], 443 Przychodzący TCP Internet/Sieć wirtualna Komunikacja klienta z usługą API Management Tylko zewnętrzne
* / 3443 Przychodzący TCP ApiManagement/VirtualNetwork Punkt końcowy zarządzania dla witryny Azure Portal i programu PowerShell Zewnętrzne i wewnętrzne
* / 6390 Przychodzący TCP AzureLoadBalancer/VirtualNetwork Moduł równoważenia obciążenia infrastruktury platformy Azure Zewnętrzne i wewnętrzne
* / 443 Przychodzący TCP AzureTrafficManager/ VirtualNetwork Routing usługi Azure Traffic Manager dla wdrożenia w wielu regionach Tylko zewnętrzne
* / 443 Wychodzący TCP Sieć wirtualna/magazyn Zależność od usługi Azure Storage dla podstawowych funkcji usługi Zewnętrzne i wewnętrzne
* / 1433 Wychodzący TCP VirtualNetwork/SQL Dostęp do punktów końcowych usługi Azure SQL na potrzeby podstawowych funkcji usługi Zewnętrzne i wewnętrzne
* / 443 Wychodzący TCP VirtualNetwork/ AzureKeyVault Dostęp do usługi Azure Key Vault na potrzeby podstawowych funkcji usługi Zewnętrzne i wewnętrzne
* / 1886, 443 Wychodzący TCP VirtualNetwork/ AzureMonitor Publikowanie dzienników i metryk diagnostycznych, kondycji zasobów i usługi Application Insights Zewnętrzne i wewnętrzne

Nawiązywanie połączenia z usługą internetową hostowaną w sieci wirtualnej

Po połączeniu usługi API Management z siecią wirtualną możesz uzyskać dostęp do usług zaplecza w ramach tej usługi tak samo jak w przypadku usług publicznych. Podczas tworzenia lub edytowania interfejsu API wpisz lokalny adres IP lub nazwę hosta (jeśli serwer DNS jest skonfigurowany dla sieci wirtualnej) usługi internetowej w polu Adres URL usługi sieci Web.

Dodawanie interfejsu API z sieci wirtualnej

Konfiguracja niestandardowego serwera DNS

W trybie zewnętrznej sieci wirtualnej platforma Azure domyślnie zarządza systemem DNS. Opcjonalnie można skonfigurować niestandardowy serwer DNS.

Usługa API Management zależy od kilku usług platformy Azure. Gdy usługa API Management jest hostowana w sieci wirtualnej z niestandardowym serwerem DNS, musi rozpoznać nazwy hostów tych usług platformy Azure.

  • Aby uzyskać wskazówki dotyczące niestandardowej konfiguracji DNS, w tym przekazywania dla nazw hostów udostępnianych przez platformę Azure, zobacz Rozpoznawanie nazw dla zasobów w sieciach wirtualnych platformy Azure.
  • Dostęp do sieci wychodzącej na porcie 53 jest wymagany do komunikacji z serwerami DNS. Aby uzyskać więcej ustawień, zobacz Dokumentacja konfiguracji sieci wirtualnej.

Ważne

Jeśli planujesz używać niestandardowych serwerów DNS dla sieci wirtualnej, skonfiguruj ją przed wdrożeniem w niej usługi API Management. W przeciwnym razie należy zaktualizować usługę API Management za każdym razem, gdy zmienisz serwery DNS, uruchamiając operację Zastosuj konfigurację sieci.

Routing

  • Publiczny adres IP (VIP) o zrównoważonym obciążeniu jest zarezerwowany w celu zapewnienia dostępu do punktów końcowych i zasobów usługi API Management spoza sieci wirtualnej.
    • Publiczny adres VIP można znaleźć w bloku Przegląd/Podstawy w witrynie Azure Portal.

Aby uzyskać więcej informacji i zagadnień, zobacz Adresy IP usługi Azure API Management.

Adresy VIP i DIP

Dynamiczne adresy IP (DIP) zostaną przypisane do każdej podstawowej maszyny wirtualnej w usłudze i będą używane do uzyskiwania dostępu do punktów końcowych i zasobów w sieci wirtualnej oraz w równorzędnych sieciach wirtualnych. Publiczny adres IP (VIP) usługi API Management będzie używany do uzyskiwania dostępu do zasobów publicznych.

Jeśli ograniczenie adresu IP zawiera listę bezpiecznych zasobów w sieci wirtualnej lub równorzędnych sieciach wirtualnych, zalecamy określenie całego zakresu podsieci, w którym usługa API Management jest wdrażana w celu udzielenia lub ograniczenia dostępu z usługi.

Dowiedz się więcej o zalecanym rozmiarze podsieci.

Wymuszanie tunelowania ruchu do zapory lokalnej przy użyciu usługi ExpressRoute lub wirtualnego urządzenia sieciowego

Wymuszone tunelowanie umożliwia przekierowanie lub "wymuszenie" całego ruchu powiązanego z Internetem z podsieci z powrotem do środowiska lokalnego na potrzeby inspekcji i inspekcji. Często konfigurujesz i definiujesz własną trasę domyślną (0.0.0.0/0), wymuszając cały ruch z podsieci usługi API Management do przepływu przez lokalną zaporę lub do wirtualnego urządzenia sieciowego. Ten przepływ ruchu przerywa łączność z usługą API Management, ponieważ ruch wychodzący jest blokowany lokalnie lub translator adresów sieciowych do nierozpoznanego zestawu adresów, które nie działają już z różnymi punktami końcowymi platformy Azure. Ten problem można rozwiązać za pomocą następujących metod:

  • Włącz punkty końcowe usługi w podsieci , w której jest wdrażana usługa API Management dla:

    • Azure SQL (wymagana tylko w regionie podstawowym, jeśli usługa API Management jest wdrożona w wielu regionach)
    • Azure Storage
    • Azure Event Hubs
    • Usługa Azure Key Vault (wymagana, gdy usługa API Management jest wdrażana na stv2 platformie)

    Włączając punkty końcowe bezpośrednio z podsieci usługi API Management do tych usług, możesz użyć sieci szkieletowej platformy Microsoft Azure, zapewniając optymalny routing dla ruchu usług. Jeśli używasz punktów końcowych usługi z wymuszonym tunelowaniem usługi API Management, ruch dla poprzednich usług platformy Azure nie zostanie wymuszony. Jednak pozostały ruch zależności usługi API Management pozostaje wymuszony. Upewnij się, że zapora lub urządzenie wirtualne nie blokują tego ruchu lub usługa API Management może nie działać prawidłowo.

    Uwaga

    Zdecydowanie zalecamy włączenie punktów końcowych usługi bezpośrednio z podsieci usługi API Management do usług zależnych, takich jak Azure SQL i Azure Storage, które je obsługują. Jednak niektóre organizacje mogą mieć wymagania dotyczące wymuszania tunelowania całego ruchu z podsieci usługi API Management. W takim przypadku upewnij się, że skonfigurujesz zaporę lub urządzenie wirtualne, aby zezwolić na ten ruch. Należy zezwolić na pełny zakres adresów IP każdej usługi zależnej i zachować tę konfigurację na bieżąco po zmianie infrastruktury platformy Azure. Usługa API Management może również napotkać opóźnienia lub nieoczekiwane przekroczenia limitu czasu z powodu wymuszonego tunelowania tego ruchu sieciowego.

  • Cały ruch płaszczyzny sterowania z Internetu do punktu końcowego zarządzania usługi API Management jest kierowany przez określony zestaw przychodzących adresów IP hostowanych przez usługę API Management, obejmujący tag usługi ApiManagement. W przypadku wymuszonego tunelowania ruchu odpowiedzi nie będą symetrycznie mapowane na te źródłowe adresy IP ruchu przychodzącego i łączność z punktem końcowym zarządzania zostanie utracona. Aby przezwyciężyć to ograniczenie, skonfiguruj trasę zdefiniowaną przez użytkownika dla tagu usługi ApiManagement z typem następnego przeskoku ustawionym na "Internet", aby kierować ruch z powrotem do platformy Azure.

    Uwaga

    Zezwalanie na ruch zarządzania usługą API Management w celu obejścia lokalnej zapory lub wirtualnego urządzenia sieciowego nie jest uznawane za znaczące zagrożenie bezpieczeństwa. Zalecana konfiguracja podsieci usługi API Management zezwala na ruch przychodzący do zarządzania na porcie 3443 tylko z zestawu adresów IP platformy Azure objętych tagiem usługi ApiManagement. Zalecana konfiguracja trasy zdefiniowanej przez użytkownika dotyczy tylko ścieżki powrotnej tego ruchu platformy Azure.

  • (Tryb zewnętrznej sieci wirtualnej) Ruch płaszczyzny danych dla klientów próbujących uzyskać dostęp do bramy usługi API Management i portalu deweloperów z Internetu również zostanie domyślnie porzucony z powodu routingu asymetrycznego wprowadzonego przez wymuszone tunelowanie. Dla każdego klienta, który wymaga dostępu, skonfiguruj jawną trasę zdefiniowaną przez użytkownika z typem następnego przeskoku "Internet", aby pominąć zaporę lub wirtualne urządzenie sieciowe.

  • W przypadku innych wymuszonych zależności usługi API Management rozwiąż nazwę hosta i skontaktuj się z punktem końcowym. Są to:

    • Metryki i monitorowanie kondycji
    • Diagnostyka witryny Azure Portal
    • Przekaźnik SMTP
    • CapTCHA portalu dla deweloperów
    • Serwer usługi Azure KMS

Aby uzyskać więcej informacji, zobacz Dokumentacja konfiguracji sieci wirtualnej.

Typowe problemy z konfiguracją sieci

Ta sekcja została przeniesiona. Zobacz Dokumentacja konfiguracji sieci wirtualnej.

Rozwiązywanie problemów

Nieudane początkowe wdrożenie usługi API Management w podsieci

  • Wdróż maszynę wirtualną w tej samej podsieci.
  • Połącz się z maszyną wirtualną i zweryfikuj łączność z jednym z następujących zasobów w ramach subskrypcji platformy Azure:
    • Obiekt blob usługi Azure Storage
    • Azure SQL Database
    • Tabela usługi Azure Storage
    • Azure Key Vault (dla wystąpienia usługi API Management hostowanego na stv2 platformie)

Ważne

Po zweryfikowaniu łączności usuń wszystkie zasoby w podsieci przed wdrożeniem usługi API Management w podsieci (wymagane, gdy usługa API Management jest hostowana na stv1 platformie).

Weryfikowanie stanu sieci

  • Po wdrożeniu usługi API Management w podsieci użyj portalu, aby sprawdzić łączność wystąpienia z zależnościami, takimi jak usługa Azure Storage.

  • W portalu w menu po lewej stronie w obszarze Wdrażanie i infrastruktura wybierz pozycję Stan sieci sieciowej>.

    Zrzut ekranu przedstawiający weryfikowanie stanu łączności sieciowej w portalu.

Filtr opis
Wymagane Wybierz, aby przejrzeć wymaganą łączność usług platformy Azure dla usługi API Management. Błąd wskazuje, że wystąpienie nie może wykonać podstawowych operacji w celu zarządzania interfejsami API.
Opcjonalne Wybierz, aby przejrzeć łączność usług opcjonalnych. Błąd wskazuje tylko, że określona funkcja nie będzie działać (na przykład SMTP). Niepowodzenie może prowadzić do obniżenia poziomu użycia i monitorowania wystąpienia usługi API Management oraz zapewnienia zatwierdzonej umowy SLA.

Aby ułatwić rozwiązywanie problemów z łącznością, wybierz pozycję:

  • Metryki — aby przejrzeć metryki stanu łączności sieciowej

  • Diagnozowanie — uruchamianie weryfikatora sieci wirtualnej w określonym przedziale czasu

Aby rozwiązać problemy z łącznością, przejrzyj ustawienia konfiguracji sieci i napraw wymagane ustawienia sieciowe.

Aktualizacje przyrostowe

Podczas wprowadzania zmian w sieci zapoznaj się z interfejsem API NetworkStatus, aby sprawdzić, czy usługa API Management nie utraciła dostępu do krytycznych zasobów. Stan łączności powinien być aktualizowany co 15 minut.

Aby zastosować zmianę konfiguracji sieci w wystąpieniu usługi API Management przy użyciu portalu:

  1. W menu po lewej stronie wystąpienia w obszarze Wdrażanie i infrastruktura wybierz pozycję Sieć wirtualna sieci>.
  2. Wybierz pozycję Zastosuj konfigurację sieci.

Wystąpienie usługi API Management hostowane na platformie obliczeniowej po wdrożeniu stv1 w podsieci sieci wirtualnej usługi Resource Manager zastrzega podsieć, tworząc link nawigacji do zasobów. Jeśli podsieć zawiera już zasób od innego dostawcy, wdrożenie zakończy się niepowodzeniem. Podobnie po usunięciu usługi API Management lub przeniesieniu jej do innej podsieci zostanie usunięty link nawigacji zasobu.

Wyzwania napotkane podczas ponownego przypisania wystąpienia usługi API Management do poprzedniej podsieci

  • Blokada sieci wirtualnej — podczas przenoszenia wystąpienia usługi API Management z powrotem do oryginalnej podsieci natychmiastowe ponowne przypisanie może nie być możliwe z powodu blokady sieci wirtualnej, która może potrwać do jednej godziny. Jeśli oryginalna podsieć ma inne stv1 usługi API Management oparte na platformie (oparte na usłudze w chmurze), usunięcie ich i oczekiwanie jest niezbędne do wdrożenia stv2 usługi opartej na platformie w tej samej podsieci.
  • Blokada grupy zasobów — innym scenariuszem, który należy wziąć pod uwagę, jest obecność blokady zakresu na poziomie grupy zasobów lub wyższym, utrudniając proces usuwania łącza nawigacji zasobów. Aby rozwiązać ten problem, usuń blokadę zakresu i zezwól na opóźnienie około 4–6 godzin, aby usługa API Management odłączyła się od oryginalnej podsieci przed usunięciem blokady, umożliwiając wdrożenie w żądanej podsieci.

Rozwiązywanie problemów z połączeniem z programem Microsoft Graph z poziomu sieci wirtualnej

Łączność sieciowa z programem Microsoft Graph jest wymagana w przypadku funkcji, w tym logowania użytkownika do portalu deweloperów przy użyciu dostawcy tożsamości Firmy Microsoft Entra.

Aby rozwiązać problemy z łącznością z programem Microsoft Graph z poziomu sieci wirtualnej:

  • Upewnij się, że sieciowa grupa zabezpieczeń i inne reguły sieci zostały skonfigurowane pod kątem łączności wychodzącej z wystąpienia usługi API Management do programu Microsoft Graph (przy użyciu tagu usługi AzureActiveDirectory ).

  • Upewnij się, że rozpoznawanie nazw DNS i dostęp sieciowy do graph.microsoft.com z sieci wirtualnej. Na przykład aprowizuj nową maszynę wirtualną w sieci wirtualnej, połącz się z nią i spróbuj GET https://graph.microsoft.com/v1.0/$metadata użyć przeglądarki lub za pomocą programu cURL, programu PowerShell lub innych narzędzi.

Następne kroki

Dowiedz się więcej na następujące tematy: