Połączenia hybrydowe usługi Azure App Service

Hybrydowe Połączenie ions to zarówno usługa na platformie Azure, jak i funkcja w usłudze aplikacja systemu Azure Service. Jako usługa ma ona zastosowania i możliwości wykraczające poza te, które są używane w usłudze App Service. Aby dowiedzieć się więcej na temat Połączenie hybrydowych i ich użycia poza usługą App Service, zobacz Azure Relay Hybrid Połączenie ions( Azure Relay Hybrid Połączenie ions).

W usłudze App Service hybrydowe Połączenie ions mogą służyć do uzyskiwania dostępu do zasobów aplikacji w dowolnej sieci, która może wykonywać wywołania wychodzące na platformie Azure za pośrednictwem portu 443. Hybrydowe Połączenie ions zapewniają dostęp z aplikacji do punktu końcowego TCP i nie umożliwiają nowego sposobu uzyskiwania dostępu do aplikacji. Zgodnie z zastosowaniem w usłudze App Service każda Połączenie hybrydowa jest skorelowana 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 hybrydowych Połączenie ions nie wie ani nie dba o to, czym jest protokół aplikacji lub do czego uzyskujesz dostęp. Zapewnia po prostu dostęp do sieci.

Jak to działa

Hybrydowe Połączenie ions 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 of Hybrid Connection high-level flow.

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

Uwaga

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

Korzyści użycia hybrydowego Połączenie usługi App Service

Istnieje wiele korzyści związanych z możliwościami Połączenie 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żda Połączenie hybrydowa jest zgodna z jedną kombinacją host:port, pomocną 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. Nie jest obsługiwany w przypadku kontenerów niestandardowych systemu Windows.

Rzeczy, których nie można wykonać w przypadku Połączenie hybrydowych

Nie można wykonywać czynności z Połączenie hybrydowymi, takie jak:

  • 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łączenie hybrydowych w aplikacji

Aby utworzyć Połączenie hybrydowe, przejdź do witryny Azure Portal i wybierz aplikację. Wybierz pozycję Sieć>Skonfiguruj punkty końcowe hybrydowego Połączenie ion. W tym miejscu można zobaczyć Połączenie hybrydowe skonfigurowane dla aplikacji.

Screenshot of Hybrid Connection list.

Aby dodać nową Połączenie hybrydową, wybierz pozycję [+] Dodaj połączenie hybrydowe. Zostanie wyświetlona lista utworzonych Połączenie hybrydowych. Aby dodać co najmniej jedną z nich do aplikacji, wybierz te, które chcesz, a następnie wybierz pozycję Dodaj wybraną Połączenie hybrydową.

Screenshot of Hybrid Connection portal.

Jeśli chcesz utworzyć nową Połączenie hybrydową, wybierz pozycję Utwórz nowe połączenie hybrydowe. Określ następujące elementy:

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

Screenshot of Create new hybrid connection dialog box.

Każda Połączenie hybrydowa jest powiązana z przestrzenią nazw usługi Service Bus, a każda przestrzeń nazw usługi Service Bus znajduje się w regionie świadczenia usługi Azure. Ważne jest, aby spróbować użyć przestrzeni nazw usługi Service Bus w tym samym regionie co aplikacja, aby uniknąć opóźnienia sieci.

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

Po dodaniu Połączenie hybrydowej do aplikacji możesz zobaczyć szczegóły po prostu, wybierając ją.

Screenshot of Hybrid connections details.

Tworzenie Połączenie hybrydowej w portalu usługi Azure Relay

Oprócz środowiska portalu z poziomu aplikacji możesz utworzyć Połączenie hybrydowe z poziomu portalu usługi Azure Relay. Aby Połączenie hybrydowa była używana przez usługę App Service, musi ona:

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

Hybrydowe Połączenie ions i plany usługi App Service

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

Plan cenowy Liczba Połączenie 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 liczbę używanych Połączenie hybrydowych i aplikacji.

Screenshot of App Service plan properties.

Wybierz Połączenie hybrydowe, aby wyświetlić szczegóły. Wszystkie informacje widoczne w widoku aplikacji są widoczne. Możesz również zobaczyć, ile innych aplikacji w tym samym planie używa tej Połączenie hybrydowej.

Istnieje limit liczby punktów końcowych hybrydowej Połączenie ion, które mogą być używane w planie usługi App Service. Każda używana Połączenie hybrydowa może jednak być używana w dowolnej liczbie aplikacji w tym planie. Na przykład pojedyncza Połączenie hybrydowa używana w pięciu oddzielnych aplikacjach w planie usługi App Service jest liczone jako jedna Połączenie hybrydowa.

Cennik

Oprócz wymagania dotyczącego jednostki SKU planu usługi App Service istnieje dodatkowy koszt korzystania z Połączenie hybrydowych. Za każdy odbiornik używany przez Połączenie hybrydowe są naliczane opłaty. Odbiornik jest Menedżer połączeń hybrydowych. Jeśli masz pięć Połączenie hybrydowych obsługiwanych przez dwa Menedżer połączeń hybrydowych, będzie to 10 odbiorników. Aby uzyskać więcej informacji, zobacz Cennik usługi Service Bus.

Menedżer połączeń hybrydowych

Funkcja hybrydowych Połączenie ions wymaga agenta przekaźnika w sieci, który hostuje punkt końcowy hybrydowego Połączenie ion. Ten agent przekazywania jest nazywany Menedżer połączeń hybrydowych (HCM). Aby pobrać rozwiązanie HCM, z aplikacji w witrynie Azure Portal wybierz pozycję Sieć>Skonfiguruj punkty końcowe hybrydowego Połączenie ion.

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ć polecenie Hybrid Połączenie ionManagerUi.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ć interfejs użytkownika Menedżer połączeń hybrydowych w polu wyszukiwania.

Screenshot of Hybrid Connection Manager.

Po uruchomieniu interfejsu użytkownika rozwiązania HCM zobaczysz pierwszą rzeczą, jest tabela zawierająca listę wszystkich Połączenie 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 jedną Połączenie hybrydową do rozwiązania HCM:

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

  2. Wybierz pozycję Dodaj nową Połączenie hybrydową. Screenshot of Configure New Hybrid Connections.

  3. Zaloguj się przy użyciu konta platformy Azure, aby uzyskać dostęp do Połączenie hybrydowych w ramach subskrypcji. Rozwiązanie HCM nie będzie nadal korzystać z konta platformy Azure poza tym krokiem.

  4. Wybierz subskrypcję.

  5. Wybierz Połączenie hybrydowe, które mają być przekazywane przez rozwiązanie HCM. Screenshot of Hybrid Connections.

  6. Wybierz pozycję Zapisz.

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

Screenshot of Hybrid Connection Details.

Aby obsługiwać Połączenie 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 hybrydowego Połączenie ion.
  • 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 hostująca 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 niczym starszym niż Windows Server 2012.

Nadmiarowość

Każde rozwiązanie HCM może obsługiwać wiele Połączenie hybrydowych. Ponadto dowolna Połączenie hybrydowa może być obsługiwana przez wiele hcMs. 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ść w Połączenie 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łączenie hybrydowej

Aby umożliwić innej osobie spoza subskrypcji hostowanie wystąpienia rozwiązania HCM dla danej Połączenie hybrydowej, udostępnij parametry połączenia bramy dla Połączenie hybrydowej. Parametry połączenia bramy można wyświetlić we właściwościach Połączenie ion 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.

Manually add a Hybrid Connection.

Uaktualnienie

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

Programowe dodawanie Połączenie hybrydowej do aplikacji

Istnieje obsługa interfejsu wiersza polecenia platformy Azure dla Połączenie 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 na każdej Połączenie hybrydowej, podstawowej i pomocniczej. Możesz użyć klucza podstawowego lub pomocniczego za pomocą poniższych 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łączenie hybrydowych

Istniejący Połączenie hybrydowy można dodać do innych aplikacji internetowych usługi App Service przez dowolnego użytkownika, który ma wystarczające uprawnienia do bazowej usługi Azure Service Bus Relay. Oznacza to, że jeśli nie musisz uniemożliwiać innym osobom ponownego użycia tej samej Połączenie hybrydowej (na przykład gdy zasób docelowy jest usługą, która nie ma żadnych innych środków zabezpieczeń, aby zapobiec nieautoryzowanemu dostępowi), musisz zablokować dostęp do usługi Azure Service Bus Relay.

Każda osoba mająca Reader dostęp do usługi Relay może zobaczyćPołączenie hybrydowe podczas próby dodania jej do aplikacji internetowej w witrynie Azure Portal, ale nie może dodać jej, ponieważ nie ma uprawnień do pobierania parametry połączenia używanego do nawiązywania połączenia przekaźnika. Aby pomyślnie 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łączenie hybrydowej i dodawanie jej do własnych aplikacji internetowych.

Zarządzanie Połączenie hybrydowymi

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

  1. Usuń Połączenie hybrydowe z Menedżer połączeń hybrydowych na komputerze lokalnym, wybierając połączenie i wybierając pozycję Usuń w lewym górnym rogu okna Szczegóły Połączenie ion hybrydowego.
  2. Odłącz Połączenie hybrydowe od usługi App Service, przechodząc do Połączenie hybrydowych na stronie Sieć usługi App Service.
  3. Przejdź do przekaźnika dla punktu końcowego, który musisz zaktualizować, a następnie wybierz pozycję Hybrydowe Połączenie ions w obszarze Jednostki w menu nawigacji po lewej stronie.
  4. Wybierz Połączenie hybrydową, którą chcesz zaktualizować, a następnie wybierz pozycję Właściwości w obszarze Ustawienia w menu nawigacji po lewej stronie.
  5. Wprowadź zmiany i naciśnij pozycję Zapisz zmiany u góry.
  6. Wróć do ustawień Połączenie ionów 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łączenie hybrydowej, odśwież je w ciągu 5–10 minut.
  7. Wróć do Menedżer połączeń hybrydowych na komputerze lokalnym i ponownie dodaj połączenie.

Rozwiązywanie problemów

Stan "Połączenie ed" oznacza, że co najmniej jeden hcM jest skonfigurowany z tym Połączenie ionem hybrydowym i może nawiązać połączenie z platformą Azure. Jeśli stan Połączenie hybrydowej nie powiedzie się Połączenie, twoja Połączenie hybrydowa nie jest skonfigurowana w żadnym rozwiązaniu HCM, który ma dostęp do platformy Azure. Gdy w rozwiązaniu HCM jest wyświetlany komunikat Nie Połączenie, 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-Net Połączenie ion Destination -P programu PowerShell

  • Czy twój HCM jest potencjalnie w złym stanie? Spróbuj ponownie uruchomić usługę lokalną "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.

    Screenshot of Hybrid Connection Service Bus endpoint.

    • Bramy usługi Service Bus to zasoby, które akceptują żądanie do Połączenie hybrydowej i przekazują je za pośrednictwem usługi Azure Relay. Musisz zezwolić na listę wszystkich 128 bram. Bramy są w formacie G#-prod-[stamp]-sb.servicebus.windows.net , gdzie "#" jest liczbą 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.

        Screenshot of terminal showing where to find the stamp name for the 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łączenie, 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łączenie hybrydowej. Jeśli używasz adresu IP, może się zdarzyć, że wymagane wyszukiwanie DNS klienta może się nie zdarzyć. Jeśli klient uruchomiony w aplikacji internetowej nie wykonuje wyszukiwania DNS, nie działa Połączenie hybrydowe.
  • Sprawdź, czy nazwa DNS używana w Połączenie hybrydowej może rozpoznać z hosta HCM. Sprawdź rozwiązanie przy użyciu nazwy nslookup EndpointDNSname, w której nazwa endpointDNSname jest dokładnym dopasowaniem do tego, co jest używane w definicji hybrydowej Połączenie ion.
  • Przetestuj dostęp z hosta HCM do punktu końcowego przy użyciu polecenia Test-Net Połączenie ion EndpointDNSname -P Port 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 hosta "localhost" 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 sprawdzić, czy masz dostęp do punktu końcowego TCP, ale nie informuje o tym, czy masz dostęp do punktu końcowego hybrydowej Połączenie ion. Jeśli używasz narzędzia w konsoli względem punktu końcowego hybrydowego Połączenie ion, 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.