Udostępnij za pośrednictwem


Połączenia hybrydowe usługi Azure App Service

Połączenia hybrydowe to zarówno usługa na platformie Azure, jak i funkcja w usłudze aplikacja systemu Azure Service. Jako usługa korzysta z funkcji i poza tymi, które są używane w usłudze App Service. Aby dowiedzieć się więcej o połączeniach hybrydowych i ich użyciu poza usługą App Service, zobacz Połączenia hybrydowe usługi Azure Relay.

W usłudze App Service połączenia hybrydowe mogą służyć do uzyskiwania dostępu do zasobów aplikacji w dowolnej sieci, która może wykonywać wywołania wychodzące do platformy Azure za pośrednictwem portu 443. Połączenia hybrydowe zapewniają dostęp z aplikacji do punktu końcowego TCP. Nie umożliwia ona nowego sposobu uzyskiwania dostępu do aplikacji. Podobnie jak w usłudze App Service, każde połączenie hybrydowe jest skorelowane z jedną kombinacją hosta TCP i portu.

Ta funkcja umożliwia aplikacjom uzyskiwanie dostępu do zasobów w dowolnym systemie operacyjnym, pod warunkiem, że jest to punkt końcowy TCP. Funkcja połączenia hybrydowego nie wie ani nie dba o to, czym jest protokół aplikacji, ani o to, do czego uzyskujesz dostęp. Zapewnia po prostu dostęp do sieci.

Jak to działa

Połączenia hybrydowe wymagają wdrożenia agenta przekaźnika, w którym może dotrzeć zarówno do żądanego punktu końcowego, jak i platformy Azure. Agent przekaźnika, Menedżer połączeń hybrydowych (HCM), wywołuje usługę Azure Relay przez port 443. Z poziomu witryny aplikacji internetowej infrastruktura usługi App Service łączy się również z usługą Azure Relay w imieniu aplikacji. Za pośrednictwem połączonych połączeń aplikacja może uzyskać dostęp do żądanego punktu końcowego. Połączenie używa protokołu TLS 1.2 do obsługi kluczy zabezpieczeń i sygnatury dostępu współdzielonego (SAS) na potrzeby uwierzytelniania i autoryzacji.

Diagram przepływu wysokiego poziomu połączenia hybrydowego.

Gdy aplikacja wysyła żądanie DNS zgodne ze skonfigurowanym punktem końcowym połączenia hybrydowego, wychodzący ruch TCP jest przekierowywany za pośrednictwem połączenia hybrydowego.

Uwaga

Oznacza to, że należy zawsze użyć nazwy DNS dla połączenia hybrydowego. Niektóre oprogramowanie klienckie nie wykonuje wyszukiwania DNS, jeśli punkt końcowy używa zamiast tego adresu IP.

Korzyści z połączenia hybrydowego usługi App Service

Istnieje wiele korzyści związanych z możliwościami połączeń hybrydowych, w tym:

  • Aplikacje mogą bezpiecznie uzyskiwać dostęp do lokalnych systemów i usług.
  • Ta funkcja nie wymaga punktu końcowego dostępnego z Internetu.
  • Konfiguracja jest szybka i łatwa. Bramy nie są wymagane.
  • Każde połączenie hybrydowe jest zgodne z jedną kombinacją host:port, co jest przydatne w przypadku zabezpieczeń.
  • Zwykle nie wymaga otworów zapory. Wszystkie połączenia są wychodzące za pośrednictwem standardowych portów sieci Web.
  • Ponieważ funkcja jest na poziomie sieci, jest niezależna od języka używanego przez aplikację i technologii używanej przez punkt końcowy.
  • Może służyć do zapewniania dostępu w wielu sieciach z jednej aplikacji.
  • Obsługiwane w ogólnie dostępnej wersji dla aplikacji systemu Windows i aplikacji systemu Linux. Połączenia hybrydowe nie są obsługiwane w przypadku kontenerów niestandardowych systemu Windows.

Rzeczy, których nie można zrobić z połączeniami hybrydowymi

W przypadku połączeń hybrydowych nie można wykonywać następujących czynności:

  • Zainstaluj dysk.
  • Użyj protokołu UDP.
  • Uzyskaj dostęp do usług opartych na protokole TCP korzystających z portów dynamicznych, takich jak tryb pasywny FTP lub rozszerzony tryb pasywny.
  • Obsługa protokołu LDAP, ponieważ może wymagać protokołu UDP.
  • Obsługa usługi Active Directory, ponieważ nie można dołączyć do domeny procesu roboczego usługi App Service.

Dodawanie i tworzenie połączeń hybrydowych w aplikacji

Aby utworzyć połączenie hybrydowe:

  1. W witrynie Azure Portal wybierz aplikację. Wybierz pozycję Ustawienia>Sieci.

  2. Obok pozycji Połączenia hybrydowe wybierz link Nieskonfigurowane. W tym miejscu można zobaczyć połączenia hybrydowe skonfigurowane dla aplikacji.

    Zrzut ekranu przedstawiający listę połączeń hybrydowych, na której można dodawać połączenia i zarządzać nimi.

  3. Aby dodać nowe połączenie hybrydowe, wybierz pozycję Dodaj połączenie hybrydowe. Zostanie wyświetlona lista utworzonych połączeń hybrydowych. Aby dodać co najmniej jedną z nich do aplikacji, wybierz te, które chcesz, a następnie wybierz pozycję Dodaj wybrane połączenie hybrydowe.

    Zrzut ekranu przedstawiający stronę Połączenia hybrydowego, na której można dodać połączenie.

Jeśli chcesz utworzyć nowe połączenie hybrydowe, wybierz pozycję Utwórz nowe połączenie hybrydowe. Wprowadź następujące wartości:

  • Nazwa połączenia hybrydowego.
  • Nazwa hosta punktu końcowego.
  • Port punktu końcowego.
  • Przestrzeń nazw usługi Service Bus, której chcesz użyć.

Zrzut ekranu przedstawiający okno dialogowe Tworzenie nowego połączenia hybrydowego.

Każde połączenie hybrydowe jest powiązane z przestrzenią nazw usługi Service Bus. Każda przestrzeń nazw usługi Service Bus znajduje się w regionie świadczenia usługi Azure. Aby uniknąć opóźnienia spowodowanego przez sieć, użyj przestrzeni nazw usługi Service Bus w tym samym regionie co aplikacja.

Jeśli chcesz usunąć połączenie hybrydowe z aplikacji, kliknij ją prawym przyciskiem myszy i wybierz polecenie Rozłącz.

Po dodaniu połączenia hybrydowego do aplikacji możesz zobaczyć szczegóły po prostu, wybierając je.

Zrzut ekranu przedstawiający szczegóły połączeń hybrydowych.

Tworzenie połączenia hybrydowego w portalu usługi Azure Relay

Oprócz środowiska portalu z poziomu aplikacji można tworzyć połączenia hybrydowe z poziomu portalu usługi Azure Relay. Aby połączenie hybrydowe było używane przez usługę App Service, musi:

  • Wymagaj autoryzacji klienta.
  • Element metadanych i nazwany punkt końcowy, który zawiera kombinację host:port jako wartość.

Połączenia hybrydowe i plany usługi App Service

Połączenia hybrydowe usługi App Service są dostępne tylko w jednostkach SKU z cenami w warstwie Podstawowa, Standardowa, Premium i Izolowana. Połączenia hybrydowe nie są dostępne dla aplikacji funkcji w planach zużycie. Istnieją limity związane z planem cenowym.

Plan cenowy Liczba połączeń hybrydowych, których można używać w planie
Podstawowy 5 na plan
Standardowa 25 na plan
Premium (wersja 1-v3) 220 na aplikację
Izolowany (wersja 1-v2) 220 na aplikację

Interfejs użytkownika planu usługi App Service pokazuje, ile połączeń hybrydowych jest używanych i przez jakie aplikacje.

Zrzut ekranu przedstawiający właściwości planu usługi App Service.

Aby wyświetlić szczegóły, wybierz połączenie hybrydowe. Wszystkie informacje widoczne w widoku aplikacji są widoczne. Możesz również zobaczyć, ile innych aplikacji w tym samym planie korzysta z tego połączenia hybrydowego.

Istnieje limit liczby punktów końcowych połączenia hybrydowego, które mogą być używane w planie usługi App Service. Każde używane połączenie hybrydowe może być używane w dowolnej liczbie aplikacji w tym planie. Na przykład jedno połączenie hybrydowe używane w pięciu oddzielnych aplikacjach w planie usługi App Service jest liczone jako jedno połączenie hybrydowe.

Cennik

Oprócz wymagania dotyczącego jednostki SKU planu usługi App Service istnieje dodatkowy koszt korzystania z połączeń hybrydowych. Dla każdego odbiornika jest naliczana opłata za użycie połączenia hybrydowego. Odbiornik jest Menedżer połączeń hybrydowych. Jeśli masz pięć połączeń hybrydowych obsługiwanych przez dwa Menedżer połączeń hybrydowych, które byłyby 10 odbiorników. Aby uzyskać więcej informacji, zobacz Cennik usługi Service Bus.

Menedżer połączeń hybrydowych

Funkcja Połączenia hybrydowe wymaga agenta przekaźnika w sieci, który hostuje punkt końcowy połączenia hybrydowego. Ten agent przekazywania jest nazywany Menedżer połączeń hybrydowych (HCM). Aby pobrać rozwiązanie HCM:

  1. W witrynie Azure Portal wybierz aplikację. Wybierz pozycję Ustawienia>Sieci.
  2. Obok pozycji Połączenia hybrydowe wybierz link, aby otworzyć stronę Połączenia hybrydowe.
  3. Wybierz pozycję Pobierz menedżera połączeń.

To narzędzie działa w systemie Windows Server 2012 lub nowszym. Rozwiązanie HCM działa jako usługa i nawiązuje połączenie wychodzące z usługą Azure Relay na porcie 443.

Po zainstalowaniu rozwiązania HCM można uruchomić HybridConnectionManagerUi.exe , aby użyć interfejsu użytkownika dla tego narzędzia. Ten plik znajduje się w katalogu instalacyjnym Menedżer połączeń hybrydowych. W systemie Windows 10 możesz również wyszukać Menedżer połączeń hybrydowych interfejs użytkownika w polu wyszukiwania.

Zrzut ekranu przedstawiający Menedżer połączeń hybrydowych.

Po uruchomieniu interfejsu użytkownika rozwiązania HCM zobaczysz pierwszą rzeczą, jest tabela zawierająca listę wszystkich połączeń hybrydowych skonfigurowanych przy użyciu tego wystąpienia rozwiązania HCM. Jeśli chcesz wprowadzić jakiekolwiek zmiany, najpierw uwierzytelnij się za pomocą platformy Azure.

Aby dodać co najmniej jedno połączenie hybrydowe do rozwiązania HCM:

  1. Uruchom interfejs użytkownika rozwiązania HCM.

  2. Wybierz pozycję Dodaj nowe połączenie hybrydowe.

    Zrzut ekranu przedstawiający konfigurowanie nowych połączeń hybrydowych.

  3. Zaloguj się przy użyciu konta platformy Azure, aby uzyskać połączenia hybrydowe dostępne w ramach subskrypcji. Rozwiązanie HCM nie będzie nadal korzystać z konta platformy Azure poza tym krokiem.

  4. Wybierz subskrypcję.

  5. Wybierz połączenia hybrydowe, które mają być przekazywane przez rozwiązanie HCM.

    Zrzut ekranu przedstawiający połączenia w Menedżer połączeń hybrydowych.

  6. Wybierz pozycję Zapisz.

Teraz możesz zobaczyć dodane połączenia hybrydowe. Możesz również wybrać skonfigurowane połączenie hybrydowe, aby wyświetlić szczegóły.

Zrzut ekranu przedstawiający szczegóły połączenia hybrydowego.

Aby obsługiwać połączenia hybrydowe, z których jest skonfigurowany, rozwiązanie HCM wymaga:

  • Dostęp TCP do platformy Azure za pośrednictwem portu 443.
  • Dostęp TCP do punktu końcowego połączenia hybrydowego.
  • Możliwość wyszukiwania DNS na hoście punktu końcowego i przestrzeni nazw usługi Service Bus. Innymi słowy, nazwa hosta w połączeniu usługi Azure Relay powinna być rozpoznawana z maszyny, która hostuje rozwiązanie HCM.

Uwaga

Usługa Azure Relay korzysta z gniazd internetowych na potrzeby łączności. Ta funkcja jest dostępna tylko w systemie Windows Server 2012 lub nowszym. Z tego powodu rozwiązanie HCM nie jest obsługiwane w systemach starszych niż Windows Server 2012.

Nadmiarowość

Każde rozwiązanie HCM może obsługiwać wiele połączeń hybrydowych. Wiele hcM może obsługiwać dowolne połączenie hybrydowe. Domyślne zachowanie polega na kierowaniu ruchu między skonfigurowanymi rozwiązaniami HCM dla dowolnego punktu końcowego. Jeśli chcesz uzyskać wysoką dostępność połączeń hybrydowych z sieci, uruchom wiele funkcji HCM na oddzielnych maszynach. Algorytm dystrybucji obciążenia używany przez usługę Relay do dystrybucji ruchu do hcMs jest losowym przypisaniem.

Ręczne dodawanie połączenia hybrydowego

Aby umożliwić innej osobie spoza subskrypcji hostowanie wystąpienia rozwiązania HCM dla danego połączenia hybrydowego, udostępnij bramę parametry połączenia dla połączenia hybrydowego z nimi. Parametry połączenia bramy można wyświetlić we właściwościach połączenia hybrydowego w witrynie Azure Portal. Aby użyć tego ciągu, wybierz pozycję Wprowadź ręcznie w rozwiązaniu HCM i wklej parametry połączenia bramy.

Zrzut ekranu przedstawiający okno dialogowe, w którym ręcznie dodano połączenie hybrydowe.

Uaktualnienie

Istnieją okresowe aktualizacje Menedżer połączeń hybrydowych w celu rozwiązania problemów lub wprowadzenia ulepszeń. Po wydaniu uaktualnień w interfejsie użytkownika HCM zostanie wyświetlone okno dialogowe. Zastosowanie uaktualnienia powoduje zastosowanie zmian i ponowne uruchomienie rozwiązania HCM.

Programowe dodawanie połączenia hybrydowego do aplikacji

Istnieje obsługa interfejsu wiersza polecenia platformy Azure dla połączeń hybrydowych. Podane polecenia działają zarówno na poziomie aplikacji, jak i planu usługi App Service. Polecenia na poziomie aplikacji to:

az webapp hybrid-connection

Group
    az webapp hybrid-connection : Methods that list, add and remove hybrid-connections from webapps.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    add    : Add a hybrid-connection to a webapp.
    list   : List the hybrid-connections on a webapp.
    remove : Remove a hybrid-connection from a webapp.

Polecenia planu usługi App Service umożliwiają ustawienie klucza używanego przez dane połączenie hybrydowe. Istnieją dwa klucze ustawione dla każdego połączenia hybrydowego, podstawowego i pomocniczego. Możesz użyć klucza podstawowego lub pomocniczego przy użyciu następujących poleceń. Ta opcja umożliwia przełączanie kluczy w przypadku okresowego ponownego generowania kluczy.

az appservice hybrid-connection --help

Group
    az appservice hybrid-connection : A method that sets the key a hybrid-connection uses.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    set-key : Set the key that all apps in an appservice plan use to connect to the hybrid-
                connections in that appservice plan.

Zabezpieczanie połączeń hybrydowych

Każdy użytkownik, który ma wystarczające uprawnienia w usłudze Azure Service Bus Relay, może dodać istniejące połączenie hybrydowe dla tego przekaźnika do innych aplikacji internetowych usługi App Service. Aby uniemożliwić innym osobom ponowne korzystanie z tego samego połączenia hybrydowego, zablokuj dostęp do usługi Azure Service Bus Relay. Taka sytuacja może wystąpić, gdy zasób docelowy jest usługą, która nie ma żadnych innych środków zabezpieczeń, aby zapobiec nieautoryzowanemu dostępowi.

Każda osoba mająca Reader dostęp do usługi Relay może zobaczyć połączenie hybrydowe, jeśli spróbuje dodać je do swojej aplikacji internetowej w witrynie Azure Portal. Nie mogą go dodać, ponieważ nie mają uprawnień do pobierania parametry połączenia używanego do nawiązywania połączenia przekaźnika. Aby dodać połączenie hybrydowe, muszą mieć listKeys uprawnienie (Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action). Rola lub dowolna Contributor inna rola obejmująca to uprawnienie w usłudze Relay umożliwia użytkownikom korzystanie z połączenia hybrydowego i dodawanie go do własnych aplikacji internetowych.

Zarządzanie połączeniami hybrydowymi

Jeśli musisz zmienić hosta punktu końcowego lub port dla połączenia hybrydowego, wykonaj następujące kroki:

  1. W Menedżer połączeń hybrydowych wybierz połączenie, aby wyświetlić jego okno szczegółów. Następnie wybierz pozycję Usuń.
  2. W witrynie Azure Portal wybierz aplikację. Wybierz pozycję Ustawienia>Sieci.
  3. Obok pozycji Połączenia hybrydowe wybierz link Skonfigurowane.
  4. W obszarze Połączenia hybrydowe kliknij prawym przyciskiem myszy połączenie i wybierz polecenie Rozłącz.
  5. Przejdź do usługi Relay dla punktu końcowego, który należy zaktualizować. W menu nawigacji w obszarze Jednostki wybierz pozycję Połączenia hybrydowe w obszarze Jednostki.
  6. Wybierz połączenie hybrydowe. W menu nawigacji w obszarze Ustawienia wybierz pozycję Właściwości.
  7. Wprowadź zmiany i wybierz pozycję Zapisz zmiany.
  8. Wróć do ustawień połączeń hybrydowych dla usługi App Service i ponownie dodaj połączenie hybrydowe. Upewnij się, że punkt końcowy został zaktualizowany zgodnie z oczekiwaniami. Jeśli na liście nie widzisz połączenia hybrydowego, odśwież je w ciągu 5–10 minut.
  9. Wróć do Menedżer połączeń hybrydowych na komputerze lokalnym i ponownie dodaj połączenie.

Rozwiązywanie problemów

Stan Połączono oznacza, że co najmniej jeden HCM jest skonfigurowany z tym połączeniem hybrydowym i może nawiązać połączenie z platformą Azure. Jeśli stan połączenia hybrydowego nie ma wartości Połączono, połączenie hybrydowe nie jest skonfigurowane w żadnym rozwiązaniu HCM, które ma dostęp do platformy Azure. Gdy w rozwiązaniu HCM jest wyświetlany komunikat Nie połączono, należy sprawdzić kilka rzeczy:

  • Czy host ma dostęp wychodzący do platformy Azure na porcie 443? Możesz przetestować z hosta HCM przy użyciu polecenia Test-NetConnection Destination -P Portprogramu PowerShell .

  • Czy twój HCM jest potencjalnie w złym stanie? Spróbuj ponownie uruchomić usługę lokalną usługi Azure Menedżer połączeń hybrydowych Service.

  • Czy masz zainstalowane oprogramowanie powodujące konflikt? Menedżer połączeń hybrydowych nie może współistnieć z usługą Biztalk Menedżer połączeń hybrydowych ani Service Bus dla systemu Windows Server. Po zainstalowaniu rozwiązania HCM należy najpierw usunąć wszystkie wersje tych pakietów.

  • Czy masz zaporę między hostem HCM a platformą Azure? Jeśli tak, musisz zezwolić na dostęp wychodzący zarówno do adresu URL punktu końcowego usługi Service Bus, jak i bram usługi Service Bus obsługujących połączenie hybrydowe.

    • Adres URL punktu końcowego usługi Service Bus można znaleźć w interfejsie użytkownika Menedżer połączeń hybrydowych.

      Zrzut ekranu przedstawiający punkt końcowy usługi Service Bus połączenia hybrydowego.

    • Bramy usługi Service Bus to zasoby, które akceptują żądanie do połączenia hybrydowego i przekazują je za pośrednictwem usługi Azure Relay. Musisz zezwolić na listę wszystkich 128 bram. Bramy mają format: G#-prod-[stamp]-sb.servicebus.windows.net. Znak #numeru to liczba z zakresu od 0 do 127 i stamp jest nazwą wystąpienia w centrum danych platformy Azure, w którym istnieje punkt końcowy usługi Service Bus.

    • Jeśli możesz użyć symbolu wieloznakowego, możesz zezwolić na listę *.servicebus.windows.net.

    • Jeśli nie możesz użyć symbolu wieloznakowego, musisz zezwolić na listę wszystkich 128 bram.

      Sygnaturę można znaleźć przy użyciu polecenia nslookup w adresie URL punktu końcowego usługi Service Bus.

      Zrzut ekranu przedstawiający terminal pokazujący, gdzie znaleźć nazwę sygnatury dla usługi Service Bus.

      W tym przykładzie sygnatura to sn3-010. Aby dodać bramy usługi Service Bus do listy dozwolonych, potrzebne są następujące wpisy:

      G0-prod-sn3-010-sb.servicebus.windows.net
      G1-prod-sn3-010-sb.servicebus.windows.net
      G2-prod-sn3-010-sb.servicebus.windows.net
      G3-prod-sn3-010-sb.servicebus.windows.net
      ... G126-prod-sn3-010-sb.servicebus.windows.net
      G127-prod-sn3-010-sb.servicebus.windows.net

Jeśli stan to Połączono, ale aplikacja nie może uzyskać dostępu do punktu końcowego, wykonaj następujące czynności:

  • Upewnij się, że używasz nazwy DNS w połączeniu hybrydowym. Jeśli używasz adresu IP, wymagane wyszukiwanie DNS klienta może się nie zdarzyć. Jeśli klient uruchomiony w aplikacji internetowej nie wykonuje wyszukiwania DNS, połączenie hybrydowe nie działa.
  • Sprawdź, czy nazwa DNS używana w połączeniu hybrydowym może rozpoznać z hosta HCM. Sprawdź rozwiązanie przy użyciu nazwy nslookup EndpointDNSname , gdzie nazwa endpointDNSname jest dokładnym dopasowaniem do tego, co jest używane w definicji połączenia hybrydowego.
  • Przetestuj dostęp z hosta HCM do punktu końcowego przy użyciu polecenia Test-NetConnection EndpointDNSname -P Portprogramu PowerShell . Jeśli nie możesz uzyskać dostępu do punktu końcowego z hosta HCM, sprawdź zapory między dwoma hostami, w tym wszystkie zapory oparte na hoście docelowym.
  • Jeśli używasz App Service dla systemu Linux, upewnij się, że nie używasz localhost go jako hosta punktu końcowego. Zamiast tego użyj nazwy maszyny, jeśli próbujesz utworzyć połączenie z zasobem na komputerze lokalnym.

W usłudze App Service narzędzie wiersza polecenia tcpping można wywołać z poziomu konsoli Narzędzia zaawansowane (Kudu). To narzędzie może określić, czy masz dostęp do punktu końcowego TCP, ale nie informuje o tym, czy masz dostęp do punktu końcowego połączenia hybrydowego. Jeśli używasz narzędzia w konsoli względem punktu końcowego połączenia hybrydowego, potwierdzasz, że używa kombinacji host:port.

Jeśli masz klienta wiersza polecenia dla punktu końcowego, możesz przetestować łączność z poziomu konsoli aplikacji. Na przykład możesz przetestować dostęp do punktów końcowych serwera internetowego przy użyciu narzędzia curl.