Hybride verbindingen in Azure App Service

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

Binnen App Service kunnen hybride verbindingen worden gebruikt voor toegang tot toepassingsbronnen in elk netwerk dat uitgaande aanroepen naar Azure kan doen via poort 443. Hybride verbindingen bieden vanuit uw app toegang tot een TCP-eindpunt en bieden geen nieuwe manier om toegang te krijgen tot uw app. Zoals gebruikt in App Service, correleert elke hybride verbinding met één combinatie van TCP-host en poort. 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 wat u gebruikt. Het biedt gewoon netwerktoegang.

Uitleg

Voor hybride verbindingen moet een relay-agent worden geïmplementeerd waar zowel het gewenste eindpunt als Azure kan worden bereikt. De Relay-agent, Hybrid Connection Manager (HCM), roept naar Azure Relay via poort 443. Vanaf de website van de website maakt App Service-infrastructuur ook verbinding met Azure Relay namens uw toepassing. Via de verbonden 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 een stroom op hoog niveau voor hybride verbindingen

Wanneer uw app een DNS-aanvraag indient die overeenkomt met een geconfigureerd eindpunt voor een hybride verbinding, 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 doet geen DNS-zoekactie 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 via 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 nuttig is voor de beveiliging.
  • Normaal gesproken zijn er geen firewallgaten vereist. De verbindingen zijn allemaal uitgaand via standaardwebpoorten.
  • Omdat de functie netwerkniveau is, is deze onafhankelijk van de taal die wordt gebruikt door uw app en de technologie die wordt gebruikt door het eindpunt.
  • 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 Windows container-apps.

Dingen die u niet kunt doen met hybride verbindingen

U kunt onder andere het volgende doen met hybride verbindingen:

  • Een station te monteren.
  • UDP gebruiken.
  • Krijg toegang tot op TCP gebaseerde services die gebruikmaken van dynamische poorten, zoals de passieve FTP-modus of de uitgebreide passieve modus.
  • Ondersteuning voor LDAP, omdat UDP vereist kan zijn.
  • Ondersteuning voor Active Directory, omdat u geen domein kunt toevoegen aan 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 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 van deze wilt toevoegen aan uw app, selecteert u de want 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 Service Bus naamruimte en elke Service Bus zich in een Azure-regio. Het is belangrijk om te proberen een Service Bus-naamruimte te gebruiken in dezelfde regio als uw app, om door het netwerk veroorzaakte latentie 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 door een App Service worden gebruikt als:

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

Hybride verbindingen en App Service plannen

App Service hybride verbindingen zijn alleen beschikbaar in de prijs-SKU's Basic, Standard, Premium en Isolated. Er gelden limieten voor het prijsplan.

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

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

Schermopname van App Service planeigenschappen

Selecteer de hybride verbinding om details te bekijken. U ziet alle informatie 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 hybride verbindings eindpunten dat kan worden gebruikt in een App Service abonnement. Elke gebruikte hybride verbinding kan echter worden gebruikt voor een groot aantal apps in dat abonnement. Eén hybride verbinding die bijvoorbeeld wordt gebruikt in vijf afzonderlijke apps in een App Service-abonnement telt als één hybride verbinding.

Prijzen

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

Hybrid Connection Manager

Voor de functie Hybride verbindingen is een relay-agent in het netwerk vereist die als host voor uw hybride verbindings-eindpunt wordt gebruikt. Deze Relay-agent wordt de Hybrid Connection Manager (HCM) genoemd. Als u HCM wilt downloaden, selecteert u vanuit uw app in Azure Portalde optie Netwerken > Uw eindpunten voor hybride verbinding configureren.

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

Nadat u HCM hebt geïnstalleerd, kunt u een HybridConnectionManagerUi.exe de gebruikersinterface voor het hulpprogramma te gebruiken. Dit bestand staat in de Hybrid Connection Manager-installatiemap. In Windows 10 kunt u ook gewoon zoeken naar Hybrid Connection Manager gebruikersinterface in uw zoekvak.

Schermopname van Hybrid Connection Manager

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 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 ziet nu de hybride verbindingen 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 die hiermee zijn geconfigureerd, vereist HCM het volgende:

  • TCP-toegang tot Azure via poort 443.
  • TCP-toegang tot het eindpunt van de hybride verbinding.
  • De mogelijkheid om DNS-look-ups uit te kunnen doen op de eindpunthost en de Service Bus naamruimte.

Notitie

Azure Relay is voor connectiviteit afhankelijk van Web Sockets. Deze mogelijkheid is alleen beschikbaar op Windows Server 2012 of hoger. Daarom wordt HCM niet ondersteund op een eerdere 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 routeer naar de geconfigureerde HCM's voor een bepaald eindpunt. Als u hoge beschikbaarheid voor uw hybride verbindingen vanuit uw netwerk wilt, moet u meerdere HCM's uitvoeren op afzonderlijke machines. Het algoritme voor taakverdeling 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 host, deelt u de gateway-connection string voor de hybride verbinding met hem of haar. U kunt de gateway-connection string zien in de eigenschappen van de hybride verbindingin Azure Portal . Als u deze tekenreeks wilt gebruiken, selecteert u Handmatig invoeren in de HCM en plakt u in 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 upgrades worden uitgebracht, wordt er een pop-up in de HCM-gebruikersinterface weergeven. Als u de upgrade toe passen, 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 geboden opdrachten werken zowel op app- als App Service niveau van het abonnement. 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 App Service kunt u instellen welke sleutel door een bepaalde hybride verbinding wordt 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. Hiermee kunt u van sleutel wisselen wanneer u uw sleutels periodiek opnieuw wilt maken.

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 Azure Service Bus Relay moet vergrendelen.

Iedereen met 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 de machtigingen hebben om de connection string op te halen die wordt gebruikt om de relayverbinding tot stand te Reader brengen. Als ze de hybride verbinding willen toevoegen, moeten ze de machtiging listKeys hebben ( Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action ). Met de rol of een andere rol die deze machtiging op de Relay bevat, kunnen gebruikers de hybride verbinding gebruiken en deze toevoegen aan Contributor 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 verwijderen te selecteren linksboven in het venster Details hybride verbinding.
  2. Verbreed de verbinding met uw App Service door te navigeren naar Hybride verbindingen op App Service pagina Netwerken.
  3. Navigeer naar de 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 navigatiemenu aan de linkerkant.
  5. Maak uw wijzigingen en druk 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 is bijgewerkt zoals bedoeld. Als u de hybride verbinding niet in de lijst ziet staan, vernieuwt u deze binnen 5-10 minuten.
  7. Ga terug naar Hybrid Connection Manager 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 staat, is uw hybride verbinding niet geconfigureerd op een HCM die toegang heeft tot Azure. Wanneer uw HCM Niet verbonden toont, 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 Connection Manager Service' opnieuw.

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

Als uw status Verbonden is, maar uw app uw eindpunt niet kan bereiken, gebeurt het volgende:

  • Zorg ervoor dat u een DNS-naam gebruikt in uw hybride verbinding. Als u een IP-adres gebruikt, kan de vereiste DNS-zoekactie voor de client mogelijk niet plaatsvinden. Als de client die wordt uitgevoerd in uw web-app geen DNS-zoekactie heeft, werkt de hybride verbinding niet
  • controleer of de DNS-naam die in uw hybride verbinding wordt gebruikt, kan worden opgelost vanaf 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-poort Als u het eindpunt niet kunt bereiken vanaf uw HCM-host, controleert u de firewalls tussen de twee hosts, inclusief eventuele hostfirewalls op de doelhost.
  • Als u een App Service op Linux, moet u ervoor zorgen dat u 'localhost' niet gebruikt als uw eindpunthost. 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 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 er wordt niet aangegeven of u toegang hebt tot een eindpunt voor een hybride verbinding. Wanneer u het hulpprogramma in de console gebruikt voor een eindpunt voor een hybride verbinding, 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 webserver-eindpunten testen met behulp van curl.