Lezen in het Engels

Delen via


Hybride verbindingen in Azure App Service

Hybride verbindingen is zowel een service in Azure als een functie in Azure-app Service. Als een service heeft het gebruik en de mogelijkheden buiten de mogelijkheden die worden gebruikt in App Service. Zie Hybride verbindingen van Azure Relay voor meer informatie over hybride verbindingen en hun gebruik buiten App Service.

Binnen App Service kunnen hybride verbindingen worden gebruikt voor toegang tot toepassingsbronnen in elk netwerk dat uitgaande aanroepen naar Azure via poort 443 kan uitvoeren. Hybride verbindingen bieden toegang vanuit uw app tot een TCP-eindpunt. Er is geen nieuwe manier om toegang te krijgen tot uw app. Zoals wordt gebruikt in App Service, correleert elke hybride verbinding met één TCP-host en -poortcombinatie.

Met deze functie kunnen uw apps toegang krijgen tot resources op elk besturingssysteem, mits het een TCP-eindpunt is. De functie Hybride verbindingen weet of geeft niet aan wat het toepassingsprotocol is of waartoe u toegang hebt. Het biedt gewoon netwerktoegang.

Hoe het werkt

Voor hybride verbindingen moet een relayagent worden geïmplementeerd waar het zowel het gewenste eindpunt als Azure kan bereiken. De Relay-agent, Hybride Verbindingsbeheer (HCM), roept Azure Relay aan via poort 443. Vanaf de website van de web-app maakt de App Service-infrastructuur ook namens uw toepassing verbinding met Azure Relay. Via de gekoppelde verbindingen heeft uw app toegang tot het gewenste eindpunt. De verbinding maakt gebruik van TLS 1.2 voor SAS-sleutels (Security and Shared Access Signature) voor verificatie en autorisatie.

Diagram van stroom op hoog niveau voor hybride verbindingen.

Wanneer uw app een DNS-aanvraag doet die overeenkomt met een geconfigureerd eindpunt voor hybride verbindingen, wordt het uitgaande TCP-verkeer omgeleid via de hybride verbinding.

Notitie

Dit betekent dat u altijd een DNS-naam moet gebruiken voor uw hybride verbinding. Sommige clientsoftware voert geen DNS-zoekopdracht uit als het eindpunt in plaats daarvan een IP-adres gebruikt.

Voordelen van hybride verbinding met App Service

Er zijn veel voordelen voor de mogelijkheid voor hybride verbindingen, waaronder:

  • Apps hebben veilig toegang tot on-premises systemen en services.
  • Voor de functie is geen eindpunt vereist dat toegankelijk is voor internet.
  • Het is snel en eenvoudig in te stellen. Er zijn geen gateways vereist.
  • Elke hybride verbinding komt overeen met één combinatie van host:poort, wat handig is voor beveiliging.
  • Normaal gesproken zijn er geen firewallgaten vereist. De verbindingen zijn allemaal uitgaand via standaardwebpoorten.
  • Omdat de functie netwerkniveau is, is deze agnostisch voor de taal die uw app gebruikt en de technologie die door het eindpunt wordt gebruikt.
  • Het kan worden gebruikt om toegang te bieden in meerdere netwerken vanuit één app.
  • Ondersteund in GA voor Windows-apps en Linux-apps. Hybride verbindingen worden niet ondersteund voor aangepaste Windows-containers.

Dingen die u niet kunt doen met hybride verbindingen

Dit zijn onder andere dingen die u niet kunt doen met hybride verbindingen:

  • Koppel een station.
  • Gebruik UDP.
  • Krijg toegang tot TCP-services die gebruikmaken van dynamische poorten, zoals de passieve FTP-modus of de uitgebreide passieve modus.
  • Ondersteuning voor LDAP, omdat hiervoor UDP kan worden vereist.
  • Ondersteuning voor Active Directory, omdat u geen domein kunt toevoegen aan een App Service-werkrol.

Hybride verbindingen toevoegen en maken in uw app

Een hybride verbinding maken:

  1. Selecteer uw app in Azure Portal. Selecteer Instellingen>netwerken.

  2. Selecteer naast Hybride verbindingen de koppeling Niet geconfigureerd. Hier ziet u de hybride verbindingen die zijn geconfigureerd voor uw app.

    Schermopname van de lijst met hybride verbindingen waarin u verbindingen kunt toevoegen en beheren.

  3. Als u een nieuwe hybride verbinding wilt toevoegen, selecteert u Hybride verbinding toevoegen. U ziet een lijst met de hybride verbindingen die u al hebt gemaakt. Als u een of meer van deze aan uw app wilt toevoegen, selecteert u de gewenste app en selecteert u vervolgens Hybride verbinding toevoegen.

    Schermopname van de pagina Hybride verbinding waar u een verbinding kunt toevoegen.

Als u een nieuwe hybride verbinding wilt maken, selecteert u Nieuwe hybride verbinding maken. Geef de volgende waarden op:

  • Naam van hybride verbinding.
  • Hostnaam van eindpunt.
  • Eindpuntpoort.
  • Service Bus-naamruimte die u wilt gebruiken.

Schermopname van het dialoogvenster Nieuwe hybride verbinding maken.

Elke hybride verbinding is gekoppeld aan een Service Bus-naamruimte. Elke Service Bus-naamruimte bevindt zich in een Azure-regio. Gebruik een Service Bus-naamruimte in dezelfde regio als uw app om netwerklatentie te voorkomen.

Als u uw hybride verbinding uit uw app wilt verwijderen, klikt u er met de rechtermuisknop op en selecteert u Verbinding verbreken.

Wanneer een hybride verbinding aan uw app wordt toegevoegd, kunt u er eenvoudig details over zien door deze te selecteren.

Schermopname van details van hybride verbindingen.

Een hybride verbinding maken in azure Relay Portal

Naast de portalervaring vanuit uw app kunt u hybride verbindingen maken vanuit de Azure Relay-portal. Als u een hybride verbinding wilt gebruiken door App Service, moet deze het volgende doen:

  • Clientautorisatie vereisen.
  • Een metagegevensitem en benoemd eindpunt hebben dat een combinatie van host:poort als waarde bevat.

Hybride verbindingen en App Service-abonnementen

Hybride verbindingen van App Service zijn alleen beschikbaar in Basic-, Standard-, Premium- en Geïsoleerde prijs-SKU's. Hybride verbindingen zijn niet beschikbaar voor functie-apps in verbruiksabonnementen. Er zijn limieten gekoppeld aan het prijsplan.

Prijsoverzicht Aantal hybride verbindingen dat kan worden gebruikt in het plan
Basis 5 per abonnement
Standaard 25 per abonnement
Premium (v1-v3) 220 per app
Geïsoleerd (v1-v2) 220 per app

In de gebruikersinterface van het App Service-plan ziet u hoeveel hybride verbindingen worden gebruikt en door welke apps.

Schermopname van eigenschappen van App Service-plan.

Selecteer de hybride verbinding om details weer te geven. U kunt alle informatie zien die u in de app-weergave hebt gezien. U kunt ook zien hoeveel andere apps in hetzelfde abonnement gebruikmaken van die hybride verbinding.

Er is een limiet voor het aantal eindpunten voor hybride verbindingen dat kan worden gebruikt in een App Service-plan. Elke gebruikte hybride verbinding kan worden gebruikt voor elk willekeurig aantal apps in dat abonnement. Een enkele hybride verbinding die in vijf afzonderlijke apps in een App Service-plan wordt gebruikt, telt bijvoorbeeld als één hybride verbinding.

Prijzen

Naast dat er een SKU-vereiste voor een App Service-plan is, zijn er extra kosten verbonden aan het gebruik van hybride verbindingen. Er worden kosten in rekening gebracht voor elke listener die door een hybride verbinding wordt gebruikt. De listener is de Hybride Verbindingsbeheer. Als u vijf hybride verbindingen hebt ondersteund door twee hybride Verbindingsbeheer s die 10 listeners zouden zijn. Zie Service Bus-prijzen voor meer informatie.

Hybride Verbindingsbeheer

Voor de functie Hybride verbindingen is een relayagent in het netwerk vereist die als host fungeert voor uw eindpunt voor hybride verbindingen. Deze Relay-agent wordt de Hybrid Verbindingsbeheer (HCM) genoemd. HCM downloaden:

  1. Selecteer uw app in Azure Portal. Selecteer Instellingen>netwerken.
  2. Selecteer naast Hybride verbindingen de koppeling om de pagina Hybride verbindingen te openen.
  3. Selecteer Verbindingsbeheer downloaden.

Dit hulpprogramma wordt uitgevoerd op Windows Server 2012 en hoger. De HCM wordt uitgevoerd als een service en verbindt uitgaande verbindingen met Azure Relay op poort 443.

Nadat u HCM hebt geïnstalleerd, kunt u HybridConnectionManagerUi.exe uitvoeren om de gebruikersinterface voor het hulpprogramma te gebruiken. Dit bestand bevindt zich in de installatiemap hybride Verbindingsbeheer. In Windows 10 kunt u ook zoeken naar hybride Verbindingsbeheer gebruikersinterface in uw zoekvak.

Schermopname van hybride Verbindingsbeheer.

Wanneer u de HCM-gebruikersinterface start, ziet u eerst een tabel met alle hybride verbindingen die zijn geconfigureerd met dit exemplaar van de HCM. Als u wijzigingen wilt aanbrengen, moet u zich eerst verifiëren bij Azure.

Een of meer hybride verbindingen toevoegen aan uw HCM:

  1. Start de HCM-gebruikersinterface.

  2. Selecteer Een nieuwe hybride verbinding toevoegen.

    Schermopname van Nieuwe hybride verbindingen configureren.

  3. Meld u aan met uw Azure-account om uw hybride verbindingen beschikbaar te maken voor uw abonnementen. De HCM blijft uw Azure-account buiten deze stap gebruiken.

  4. Kies een abonnement.

  5. Selecteer de hybride verbindingen die u wilt doorgeven door de HCM.

    Schermopname van verbindingen in Hybride Verbindingsbeheer.

  6. Selecteer Opslaan.

U kunt nu de hybride verbindingen zien die u hebt toegevoegd. U kunt ook de geconfigureerde hybride verbinding selecteren om details te bekijken.

Schermopname van details van hybride verbinding.

Voor de ondersteuning van de hybride verbindingen waarmee deze is geconfigureerd, is voor HCM het volgende vereist:

  • TCP-toegang tot Azure via poort 443.
  • TCP-toegang tot het eindpunt voor hybride verbinding.
  • De mogelijkheid om DNS-look-ups uit te voeren op de eindpunthost en de Service Bus-naamruimte. Met andere woorden, de hostnaam in de Azure Relay-verbinding moet kunnen worden omgezet vanaf de computer waarop de HCM wordt gehost.

Notitie

Azure Relay is afhankelijk van Web Sockets voor connectiviteit. Deze mogelijkheid is alleen beschikbaar op Windows Server 2012 of hoger. Vanwege dit feit wordt HCM niet ondersteund op systemen ouder dan Windows Server 2012.

Redundantie

Elke HCM kan meerdere hybride verbindingen ondersteunen. Meerdere HCM's kunnen elke hybride verbinding ondersteunen. Het standaardgedrag is om verkeer te routeren over de geconfigureerde HCM's voor een bepaald eindpunt. Als u hoge beschikbaarheid wilt voor uw hybride verbindingen vanuit uw netwerk, voert u meerdere HCM's uit op afzonderlijke machines. Het loaddistributie-algoritme dat door de Relay-service wordt gebruikt om verkeer naar de HCM's te distribueren, is een willekeurige toewijzing.

Handmatig een hybride verbinding toevoegen

Als u wilt dat iemand buiten uw abonnement een HCM-exemplaar host voor een bepaalde hybride verbinding, deelt u de gateway verbindingsreeks voor de hybride verbinding met hen. U kunt de gateway zien verbindingsreeks in de eigenschappen voor hybride verbindingen in Azure Portal. Als u deze tekenreeks wilt gebruiken, selecteert u Handmatig invoeren in de HCM en plakt u de gateway verbindingsreeks.

Schermopname van het dialoogvenster waarin u handmatig een hybride verbinding toevoegt.

Upgraden

Er zijn periodieke updates voor de hybride Verbindingsbeheer om problemen op te lossen of verbeteringen te bieden. Wanneer er upgrades worden uitgebracht, wordt er een dialoogvenster weergegeven in de HCM-gebruikersinterface. Als u de upgrade toepast, worden de wijzigingen toegepast en wordt de HCM opnieuw opgestart.

Een hybride verbinding aan uw app programmatisch toevoegen

Er is Azure CLI-ondersteuning voor hybride verbindingen. De geboden opdrachten werken zowel op het niveau van de app als het App Service-plan. De opdrachten op app-niveau zijn:

Azure CLI
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.

Met de opdrachten van het App Service-plan kunt u instellen welke sleutel een bepaalde hybride verbinding gebruikt. Er zijn twee sleutels ingesteld voor elke hybride verbinding, een primaire en een secundaire. U kunt ervoor kiezen om de primaire of secundaire sleutel te gebruiken met de volgende opdrachten. Met deze optie kunt u schakelen tussen sleutels wanneer u uw sleutels periodiek opnieuw wilt genereren.

Azure CLI
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.

Uw hybride verbindingen beveiligen

Elke gebruiker met voldoende machtigingen voor een Azure Service Bus Relay kan een bestaande hybride verbinding voor die relay toevoegen aan andere App Service-web-apps. Als u wilt voorkomen dat anderen dezelfde hybride verbinding opnieuw gebruiken, vergrendelt u de toegang tot Azure Service Bus Relay. Deze situatie kan optreden wanneer de doelresource een service is die geen andere beveiligingsmaatregelen heeft om onbevoegde toegang te voorkomen.

Iedereen met Reader toegang tot relay kan de hybride verbinding zien als hij deze probeert toe te voegen aan de web-app in Azure Portal. Ze kunnen het niet toevoegen omdat ze niet beschikken over de machtigingen om de verbindingsreeks op te halen die wordt gebruikt om de relayverbinding tot stand te brengen. Als u de hybride verbinding wilt toevoegen, moet deze beschikken over de listKeys machtiging (Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action). Met Contributor de rol of een andere rol die deze machtiging voor Relay bevat, kunnen gebruikers de hybride verbinding gebruiken en deze toevoegen aan hun eigen web-apps.

Uw hybride verbindingen beheren

Als u de eindpunthost of poort voor een hybride verbinding wilt wijzigen, gebruikt u de volgende stappen:

  1. Selecteer in de hybride Verbindingsbeheer de verbinding om het detailvenster te bekijken. Selecteer vervolgens Verwijderen.
  2. Selecteer uw app in Azure Portal. Selecteer Instellingen>netwerken.
  3. Selecteer naast Hybride verbindingen de geconfigureerde koppeling.
  4. Klik in hybride verbindingen met de rechtermuisknop op de verbinding en selecteer Verbinding verbreken.
  5. Navigeer naar de Relay voor het eindpunt dat u moet bijwerken. Selecteer in het navigatiemenu onder Entiteiten hybride verbindingen onder Entiteiten.
  6. Selecteer de hybride verbinding. Selecteer Eigenschappen in het navigatiemenu onder Instellingen.
  7. Breng uw wijzigingen aan en selecteer Wijzigingen opslaan.
  8. Ga terug naar de instellingen voor hybride verbindingen voor uw App Service en voeg de hybride verbinding opnieuw toe. Zorg ervoor dat het eindpunt is bijgewerkt zoals bedoeld. Als u de hybride verbinding niet in de lijst ziet, vernieuwt u deze in 5-10 minuten.
  9. Ga terug naar de hybride Verbindingsbeheer op de lokale computer en voeg de verbinding opnieuw toe.

Probleemoplossing

De status Connected betekent dat ten minste één HCM is geconfigureerd met die hybride verbinding en Azure kan bereiken. Als de status voor uw hybride verbinding geen Verbonden zegt, is uw hybride verbinding niet geconfigureerd op een HCM die toegang heeft tot Azure. Wanneer uw HCM Not Connected weergeeft, moet u het volgende controleren:

  • Heeft uw host uitgaande toegang tot Azure op poort 443? U kunt testen vanaf uw HCM-host met behulp van de PowerShell-opdracht Test-NetConnection Destination -P Port.

  • Heeft uw HCM mogelijk een slechte status? Start de lokale service azure Hybrid Verbindingsbeheer Service opnieuw op.

  • Hebt u conflicterende software geïnstalleerd? Hybride Verbindingsbeheer kan niet naast Biztalk Hybrid Verbindingsbeheer of Service Bus voor Windows Server bestaan. Wanneer u de HCM installeert, moet u eerst alle versies van deze pakketten verwijderen.

  • Hebt u een firewall tussen uw HCM-host en Azure? Zo ja, dan moet u uitgaande toegang toestaan tot zowel de URL van het Service Bus-eindpunt als de Service Bus-gateways die uw hybride verbinding gebruiken.

    • U vindt de Service Bus-eindpunt-URL in de gebruikersinterface van hybride Verbindingsbeheer.

      Schermopname van service bus-eindpunt voor hybride verbindingen.

    • De Service Bus-gateways zijn de resources die de aanvraag accepteren in de hybride verbinding en deze doorgeven via Azure Relay. U moet alle 128 gateways toestaan. De gateways hebben de volgende indeling: G#-prod-[stamp]-sb.servicebus.windows.net. Het nummerteken , #is een getal tussen 0 en 127 en stamp is de naam van het exemplaar in uw Azure-datacenter waar uw Service Bus-eindpunt bestaat.

    • Als u een jokerteken kunt gebruiken, kunt u de acceptatielijst *.servicebus.windows.net.

    • Als u geen jokerteken kunt gebruiken, moet u alle 128 gateways toestaan.

      U vindt de stempel met nslookup op de URL van het Service Bus-eindpunt.

      Schermopname van terminal waarin wordt getoond waar u de stempelnaam voor de Service Bus kunt vinden.

      In dit voorbeeld is sn3-010de stempel . Als u de Service Bus-gateways wilt toestaan, hebt u de volgende vermeldingen nodig:

      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

Als uw status Verbonden zegt, maar uw app uw eindpunt niet kan bereiken, doet u het volgende:

  • Zorg ervoor dat u een DNS-naam in uw hybride verbinding gebruikt. Als u een IP-adres gebruikt, kan de vereiste DNS-zoekactie voor de client niet plaatsvinden. Als de client die wordt uitgevoerd in uw web-app geen DNS-zoekactie uitvoert, werkt de hybride verbinding niet.
  • Controleer of de DNS-naam die in uw hybride verbinding wordt gebruikt, kan worden omgezet vanuit de HCM-host. Controleer de oplossing met behulp van nslookup EndpointDNSname waarbij EndpointDNSname een exacte overeenkomst is met wat wordt gebruikt in de definitie van uw hybride verbinding.
  • Test de toegang van uw HCM-host naar uw eindpunt met behulp van de PowerShell-opdracht Test-NetConnection EndpointDNSname -P Port. Als u het eindpunt niet kunt bereiken vanaf uw HCM-host, controleert u de firewalls tussen de twee hosts, inclusief hostfirewalls op de doelhost.
  • Als u App Service op Linux gebruikt, moet u ervoor zorgen dat u niet als uw eindpunthost gebruiktlocalhost. Gebruik in plaats daarvan de computernaam als u een verbinding probeert te maken met een resource op uw lokale computer.

In App Service kan het tcpping-opdrachtregelprogramma worden aangeroepen vanuit de Kudu-console (Advanced Tools). Met dit hulpprogramma kunt u zien of u toegang hebt tot een TCP-eindpunt, maar u weet niet of u toegang hebt tot een eindpunt voor hybride verbindingen. Wanneer u het hulpprogramma in de console gebruikt voor een eindpunt voor hybride verbindingen, bevestigt u alleen dat er een combinatie van host:poort wordt gebruikt.

Als u een opdrachtregelclient voor uw eindpunt hebt, kunt u de connectiviteit testen vanuit de app-console. U kunt bijvoorbeeld de toegang tot webservereindpunten testen met behulp van curl.