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 toepassingen en mogelijkheden die verder gaan dan de functies die worden gebruikt in App Service. Zie Hybride verbindingen van Azure Relay voor meer informatie over hybride verbindingen en het gebruik ervan buiten App Service.

Binnen App Service kunnen hybride verbindingen worden gebruikt voor toegang tot toepassingsresources in elk netwerk dat uitgaande aanroepen naar Azure kan doen via poort 443. Hybride verbindingen biedt vanuit uw app toegang tot een TCP-eindpunt en biedt geen nieuwe manier om toegang te krijgen tot uw app. Zoals gebruikt in App Service, correleert elke hybride verbinding met één TCP-host en poortcombinatie. Hierdoor hebben uw apps toegang tot resources op elk besturingssysteem, mits het een TCP-eindpunt is. De functie Hybride verbindingen weet niet wat het toepassingsprotocol is of waartoe u toegang hebt. Het biedt eenvoudigweg netwerktoegang.

Uitleg

Voor hybride verbindingen moet een relayagent worden geïmplementeerd, waar deze zowel het gewenste eindpunt als Azure kan bereiken. De relayagent, Hybrid Connection Manager (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 beveiliging en SAS-sleutels (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.

App Service voordelen van hybride verbindingen

De mogelijkheid voor hybride verbindingen heeft een aantal voordelen, 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 de beveiliging.
  • Normaal gesproken zijn er geen firewallgaten nodig. De verbindingen zijn allemaal uitgaand via standaardwebpoorten.
  • Omdat de functie op netwerkniveau is, is deze agnostisch voor de taal die door uw app wordt gebruikt en de technologie die door het eindpunt wordt gebruikt.
  • Het kan worden gebruikt om toegang te bieden in meerdere netwerken vanuit één app.
  • Het wordt ondersteund in ga voor Windows-apps en Linux-apps. Het wordt niet ondersteund voor aangepaste Windows-containers.

Dingen die u niet kunt doen met hybride verbindingen

Wat u niet kunt doen met hybride verbindingen, zijn onder andere:

  • Koppel een station.
  • UDP gebruiken.
  • 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 zijn vereist.
  • Ondersteuning voor Active Directory, omdat u geen lid kunt worden van een App Service worker.

Hybride verbindingen toevoegen en maken in uw app

Als u een hybride verbinding wilt maken, gaat u naar de Azure Portal en selecteert u uw app. Selecteer Netwerken>Uw eindpunten voor hybride verbindingen configureren. Hier ziet u de hybride verbindingen die zijn geconfigureerd voor uw app.

Schermopname van de lijst met hybride verbindingen

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 hiervan aan uw app wilt toevoegen, selecteert u de gewenste verbindingen en selecteert u vervolgens Geselecteerde hybride verbinding toevoegen.

Schermopname van de portal voor hybride verbindingen

Als u een nieuwe hybride verbinding wilt maken, selecteert u Nieuwe hybride verbinding maken. Geef het volgende 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 en elke Service Bus-naamruimte bevindt zich in een Azure-regio. Het is belangrijk om te proberen een Service Bus-naamruimte te gebruiken 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 wordt toegevoegd aan uw app, kunt u de details ervan bekijken door deze te selecteren.

Schermopname van details van hybride verbindingen

Een hybride verbinding maken in de Azure Relay-portal

Naast de portalervaring vanuit uw app kunt u hybride verbindingen maken vanuit de Azure Relay-portal. Een hybride verbinding kan alleen worden gebruikt door App Service als deze:

  • Clientautorisatie vereisen.
  • Een metagegevensitem met de naam eindpunt hebben dat een combinatie van host:poort als waarde bevat.

Hybride verbindingen en App Service-abonnementen

App Service hybride verbindingen zijn alleen beschikbaar in prijscategorieën Basic, Standard, Premium en Isolated. Hybride verbindingen zijn niet beschikbaar voor functie-apps in verbruiksabonnementen. Er zijn limieten die zijn gekoppeld aan het prijsplan.

Prijsplan Aantal hybride verbindingen dat kan worden gebruikt in het plan
Basic 5 per abonnement
Standard 25 per abonnement
Premium (v1-v3) 220 per app
Isolated (v1-v2) 220 per app

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

Schermopname van App Service-planeigenschappen

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

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

Prijzen

Naast een SKU-vereiste voor een App Service-abonnement, zijn er extra kosten verbonden aan het gebruik van hybride verbindingen. Er worden kosten in rekening gebracht voor elke listener die wordt gebruikt door een hybride verbinding. De listener is de Hybrid Connection Manager. Als u vijf hybride verbindingen had die worden ondersteund door twee hybride verbindingsmanagers, zou dat 10 listeners zijn. Zie Service Bus-prijzen voor meer informatie.

Hybrid Connection Manager

Voor de functie Hybride verbindingen is een relayagent in het netwerk vereist die als host fungeert voor het eindpunt van de hybride verbinding. Deze relayagent wordt de Hybrid Connection Manager (HCM) genoemd. Als u HCM wilt downloaden, selecteert u in uw app in de Azure PortalDe>eindpunten voor uw hybride verbinding configureren.

Dit hulpprogramma wordt uitgevoerd op Windows Server 2012 en hoger. De HCM wordt uitgevoerd als een service en maakt verbinding met uitgaand verkeer 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 Hybrid Connection Manager installatiemap. In Windows 10 kunt u ook gewoon zoeken naar Hybrid Connection Manager gebruikersinterface in het zoekvak.

Schermopname van Hybrid Connection Manager

Wanneer u de HCM-gebruikersinterface start, ziet u als eerste 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 verder niet gebruiken.

  4. Kies een abonnement.

  5. Selecteer de hybride verbindingen die door de HCM moeten worden doorgegeven. Schermopname van hybride verbindingen

  6. Selecteer Opslaan.

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

Schermopname van details van hybride verbinding

HCM vereist het volgende om de hybride verbindingen te ondersteunen waarmee deze is geconfigureerd:

  • TCP-toegang tot Azure via poort 443.
  • TCP-toegang tot het eindpunt van de hybride verbinding.
  • De mogelijkheid om DNS-zoekacties 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 die als host fungeert voor de HCM.

Notitie

Azure Relay is afhankelijk van Web Sockets voor connectiviteit. Deze mogelijkheid is alleen beschikbaar op Windows Server 2012 of hoger. Daarom wordt HCM niet ondersteund op iets eerder dan Windows Server 2012.

Redundantie

Elke HCM kan meerdere hybride verbindingen ondersteunen. Bovendien kan elke hybride verbinding worden ondersteund door meerdere HCM's. Het standaardgedrag is om verkeer te routeren tussen de geconfigureerde HCM's voor een bepaald eindpunt. Als u hoge beschikbaarheid van uw hybride verbindingen vanuit uw netwerk wilt, voert u meerdere HCM's uit op afzonderlijke machines. Het algoritme voor belastingsdistributie 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 voor een bepaalde hybride verbinding kan hosten, deelt u de gateway connection string voor de hybride verbinding met die persoon. U ziet de gateway-connection string in de eigenschappen van de hybride verbinding in de Azure Portal. Als u deze tekenreeks wilt gebruiken, selecteert u Handmatig invoeren in de HCM en plakt u de gateway connection string.

Handmatig een hybride verbinding toevoegen

Upgraden

Er zijn periodieke updates voor de Hybrid Connection Manager om problemen op te lossen of verbeteringen te bieden. Wanneer er upgrades worden uitgebracht, wordt er een pop-up weergegeven in de HCM-gebruikersinterface. Als u de upgrade toepast, worden de wijzigingen toegepast en wordt de HCM opnieuw gestart.

Programmatisch een hybride verbinding toevoegen aan uw app

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

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 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 onderstaande opdrachten. Hierdoor kunt u schakelen tussen sleutels wanneer u uw sleutels periodiek opnieuw wilt genereren.

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

Een bestaande hybride verbinding kan worden toegevoegd aan andere App Service Web Apps door elke gebruiker die voldoende machtigingen heeft voor de onderliggende Azure Service Bus Relay. Dit betekent dat als u moet voorkomen dat anderen dezelfde hybride verbinding opnieuw gebruiken (bijvoorbeeld wanneer de doelresource een service is die geen aanvullende beveiligingsmaatregelen heeft om onbevoegde toegang te voorkomen), u de toegang tot de Azure Service Bus Relay moet vergrendelen.

Iedereen met Reader toegang tot de Relay kan de hybride verbinding zien wanneer wordt geprobeerd deze toe te voegen aan hun web-app in de Azure Portal, maar ze kunnen deze niet toevoegen omdat ze niet over de machtigingen beschikken om de connection string op te halen die wordt gebruikt om de relayverbinding tot stand te brengen. Om de hybride verbinding toe te voegen, moeten ze de listKeys machtiging () hebben.Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action Met Contributor de rol of een andere rol die deze machtiging op de 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, volgt u de onderstaande stappen:

  1. Verwijder de hybride verbinding uit de Hybrid Connection Manager op de lokale computer door de verbinding te selecteren en Linksboven in het venster Details van hybride verbinding verwijderen te selecteren.
  2. Verbreek de verbinding met uw App Service door te navigeren naar Hybride verbindingen op de pagina App Service Netwerken.
  3. Navigeer naar relay voor het eindpunt dat u moet bijwerken en selecteer Hybride verbindingen onder Entiteiten in het navigatiemenu aan de linkerkant.
  4. Selecteer de hybride verbinding die u wilt bijwerken en selecteer Eigenschappen onder Instellingen in het linkernavigatiemenu.
  5. Breng uw wijzigingen aan en klik bovenaan op Wijzigingen opslaan .
  6. Ga terug naar de instellingen voor hybride verbindingen voor uw App Service en voeg de hybride verbinding opnieuw toe. Zorg ervoor dat het eindpunt wordt bijgewerkt zoals bedoeld. Als u de hybride verbinding niet in de lijst ziet, vernieuwt u over 5-10 minuten.
  7. Ga terug naar de Hybrid Connection Manager op de lokale computer en voeg de verbinding opnieuw toe.

Problemen oplossen

De status 'Verbonden' betekent dat ten minste één HCM is geconfigureerd met die hybride verbinding en Azure kan bereiken. Als de status voor uw hybride verbinding niet Verbonden is, wordt uw hybride verbinding niet geconfigureerd op een HCM die toegang heeft tot Azure. Wanneer uw HCM Niet verbonden weergeeft, moet u een aantal dingen 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

  • Is uw HCM mogelijk in een slechte staat? Start de lokale service Azure Hybrid Connection Manager Service opnieuw.

  • Is er conflicterende software geïnstalleerd? Hybrid Connection Manager kan niet naast Biztalk Hybrid Connection Manager of Service Bus voor Windows Server bestaan. Daarom moeten bij het installeren van HCM eerst alle versies van deze pakketten worden verwijderd.

Als uw status Verbonden is, maar uw app uw eindpunt niet kan bereiken, gaat u als volgende te werk:

  • zorg ervoor dat u een DNS-naam gebruikt in uw hybride verbinding. Als u een IP-adres gebruikt, wordt de vereiste CLIENT-DNS-zoekopdracht mogelijk niet uitgevoerd. Als de client die wordt uitgevoerd in uw web-app geen DNS-zoekopdracht uitvoert, werkt de hybride verbinding niet
  • controleer of de DNS-naam die in uw hybride verbinding wordt gebruikt, kan worden omgezet vanaf de HCM-host. Controleer de oplossing met nslookup EndpointDNSname , waarbij EndpointDNSname exact overeenkomt met wat wordt gebruikt in uw definitie van de hybride verbinding.
  • test de toegang van uw HCM-host tot 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 firewalls tussen de twee hosts, inclusief eventuele hostfirewalls op de doelhost.
  • Als u App Service op Linux gebruikt, moet u ervoor zorgen dat u niet 'localhost' als eindpunthost gebruikt. Gebruik in plaats daarvan de naam van uw computer als u een verbinding probeert te maken met een resource op uw lokale computer.

In App Service kan het opdrachtregelprogramma tcpping 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 een hybride verbinding. Wanneer u het hulpprogramma in de console gebruikt voor een eindpunt van een hybride verbinding, bevestigt u alleen dat het een combinatie van host:poort 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.