Udostępnij za pośrednictwem


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

DOTYCZY: Developer | Premium

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ść VNet 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 są umieszczone 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. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az programu PowerShell, zobacz Migrowanie programu Azure PowerShell z modułu AzureRM do modułu Az.

Ważne

Zmiany w infrastrukturze usługi API Management (takie jak konfigurowanie domen niestandardowych, dodawanie certyfikatów urzędu certyfikacji, skalowanie, konfiguracja sieci wirtualnej, zmiany strefy dostępności i dodawanie regionów) mogą potrwać 15 minut lub dłużej, w zależności od warstwy usługi i rozmiaru wdrożenia. Spodziewaj się dłuższego czasu działania instancji z większą liczbą jednostek skalowania lub z konfiguracją obejmującą wiele regionów. Zmiany etapowe w usłudze API Management są wykonywane ostrożnie, aby zachować pojemność i dostępność.

Podczas aktualizowania usługi nie można wprowadzać innych zmian infrastruktury usług. Można jednak skonfigurować interfejsy API, produkty, zasady i ustawienia użytkownika. Usługa nie doświadczy przestoju bramy, a zarządzanie interfejsem API będzie nadal obsługiwać żądania bez przerwy (z wyjątkiem poziomu Deweloper).

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 .

  • Sieć wirtualna i podsieć w tej samej subskrypcji i regionie 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łączonych delegacji. Ustawienie Delegowanie podsieci do usługi 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ł NSG w dalszej części artykułu.

  • W przypadku niektórych scenariuszy włącz punkty końcowe usługi w podsieci dla 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 w SKU Standard.

    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 do 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 jest podany, adres IP musi znajdować się w tym samym regionie i w tej samej subskrypcji co instancja 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 instancji usługi API Management. W przypadku zmiany ponownie wdróż wystąpienie, aby nowa etykieta DNS została zastosowana.

    • 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ść strefową dla wystąpienia usługi API Management, skonfiguruj ustawienie "Strefowo nadmiarowe".

    • Wartość adresu IP jest przypisywana jako wirtualny publiczny adres IPv4 dla wystąpienia API Management w danym regionie.

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

Włącz połączenie z siecią wirtualną

Włącz łączność z siecią VNet przy użyciu portalu Azure

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

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

  3. Wybierz pozycję Sieć.

  4. Wybierz typ dostępu zewnętrznego. Wybierz VNet w portalu Azure.

  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 została zaktualizowana o Twoje nowe wybory sieci wirtualnej (VNet) i podsieci.

  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.

Włączanie łączności przy użyciu szablonu usługi Resource Manager

  • Szablon Azure Resource Manager (wersja API 2021-08-01)

    Przycisk wdrażania szablonu usługi Resource Manager na platformie Azure.

Konfigurowanie reguł NSG

Skonfiguruj niestandardowe reguły sieci w podsieci, w której znajduje się Twoja instancja zarządzania API, aby filtrować ruch do i z tej instancji. Zalecamy stosowanie następujących minimalnych zasad NSG (Network Security Group), aby zapewnić prawidłowe działanie i dostęp do twojej instancji. Uważnie przejrzyj środowisko, aby określić więcej reguł, które mogą być potrzebne.

Ważne

W zależności od Twojego użycia buforowania i innych funkcji możesz potrzebować skonfigurować dodatkowe reguły NSG (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.
Kierunek Tag usługi źródłowej Zakresy portów źródłowych Docelowy tag usługi Zakresy portów docelowych Protokół Akcja Przeznaczenie Typ sieci wirtualnej
Przychodzący Internet * Sieć wirtualna [80], 443 TCP Zezwól Komunikacja klienta z usługą API Management Tylko zewnętrzne
Przychodzący ApiManagement * Sieć wirtualna 3443 TCP Zezwól Punkt końcowy zarządzania dla witryny Azure Portal i programu PowerShell Zewnętrzne i wewnętrzne
Przychodzący AzureLoadBalancer (równoważnik obciążenia) * Sieć wirtualna 6390 TCP Zezwól Moduł równoważenia obciążenia infrastruktury platformy Azure Zewnętrzne i wewnętrzne
Przychodzący AzureTrafficManager * Sieć wirtualna 443 TCP Zezwól Trasowanie usługi Azure Traffic Manager dla wdrożenia w wielu regionach Tylko zewnętrzne
Wychodzący Sieć wirtualna * Internet 80 TCP Zezwól Walidacja i zarządzanie certyfikatami zarządzanymi przez firmę Microsoft i zarządzanymi przez klienta Zewnętrzne i wewnętrzne
Wychodzący Sieć wirtualna * Przechowywanie 443 TCP Zezwól Zależność od usługi Azure Storage dla podstawowych funkcji usługi Zewnętrzne i wewnętrzne
Wychodzący Sieć wirtualna * SQL 1433 TCP Zezwól Dostęp do punktów końcowych usługi Azure SQL na potrzeby podstawowych funkcji usługi Zewnętrzne i wewnętrzne
Wychodzący Sieć wirtualna * AzureKeyVault 443 TCP Zezwól Dostęp do usługi Azure Key Vault na potrzeby podstawowych funkcji usługi Zewnętrzne i wewnętrzne
Wychodzący Sieć wirtualna * AzureMonitor 1886, 443 TCP Zezwól 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.

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.

Trasowanie

  • 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 VIP można znaleźć w bloku Przegląd/Podstawy w portalu Azure.

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 skierowanego do Internetu z podsieci z powrotem do środowiska lokalnego na potrzeby inspekcji i audytu. 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 przetwarzany przez NAT na nierozpoznawalny zestaw adresów, które już nie współpracują 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
    • Azure Key Vault

    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 w usłudze API Management, ruch dotyczący wymienionych wcześniej usług platformy Azure nie jest tunelowany na siłę. Jednak ruch zależności innych usług API Management nadal jest przekierowywany przez wymuszony tunel. 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 Azure API Management do usług zależnych, takich jak Azure SQL i Azure Storage, które obsługują te punkty końcowe. 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ługiApiManagement. W przypadku przymusowego tunelowania ruchu, odpowiedzi nie będą symetrycznie mapowane z powrotem na te źródłowe adresy IP ruchu przychodzącego i utracona zostanie łączność z punktem końcowym zarządzania. Aby przezwyciężyć to ograniczenie, skonfiguruj trasę samodzielnie zdefiniowaną (UDR) dla znacznika usługi ApiManagement, z typem następnego skoku 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 w płaszczyźnie danych dla klientów próbujących uzyskać dostęp do bramy usługi API Management i portalu deweloperów z Internetu będzie również domyślnie odrzucany z powodu routingu asymetrycznego wprowadzonego przez wymuszone tunelowanie. Dla każdego klienta wymagającego dostępu, skonfiguruj jawną trasę zdefiniowaną przez użytkownika (UDR) 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

Ważne

Po zweryfikowaniu łączności usuń wszystkie zasoby w podsieci przed wdrożeniem usługi API Management w podsieci.

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 rozwiązania API Management. Błąd wskazuje, że wystąpienie nie może wykonać podstawowych operacji w celu zarządzania interfejsami API.
Fakultatywny 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 instancji 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 sieć.
  2. Wybierz pozycję Zastosuj konfigurację sieci.

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

  • VNet lock — 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 VNet, której usunięcie może potrwać do jednej godziny.
  • 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, co utrudnia proces usuwania linku nawigacyjnego dla 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 grupa zabezpieczeń sieciowych (NSG) i inne reguły sieciowe są skonfigurowane pod kątem łączności wychodzącej z wystąpienia usługi API Management do Microsoft Graph (przy użyciu tagu usługi AzureActiveDirectory).

  • Upewnij się, że rozpoznawanie nazw DNS i dostęp sieciowy do graph.microsoft.com w ramach wirtualnej sieci. Na przykład aprowizuj nową maszynę wirtualną w sieci wirtualnej, połącz się z nią i spróbuj z poziomu przeglądarki lub użyj cURL, PowerShell lub innych narzędzi.

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