Hybridanslutningar i Azure App Service

Hybrid Anslut ions är både en tjänst i Azure och en funktion i Azure App Service. Som en tjänst har den användningsområden och funktioner utöver de som används i App Service. Mer information om Hybrid Anslut ions och deras användning utanför App Service finns i Azure Relay Hybrid Anslut ions.

I App Service kan Hybrid Anslut ions användas för att komma åt programresurser i alla nätverk som kan göra utgående anrop till Azure via port 443. Hybrid-Anslut ions ger åtkomst från din app till en TCP-slutpunkt och aktiverar inte ett nytt sätt att komma åt din app. Som används i App Service korrelerar varje Hybrid-Anslut ion med en enda TCP-värd och portkombination. Med den här funktionen kan dina appar komma åt resurser i alla operativsystem, förutsatt att det är en TCP-slutpunkt. Funktionen Hybrid Anslut ions vet inte eller bryr sig inte om vad programprotokollet är eller vad du har åtkomst till. Det ger helt enkelt nätverksåtkomst.

Så här fungerar det

Hybrid Anslut ions kräver att en reläagent distribueras där den kan nå både önskad slutpunkt och Azure. Reläagenten, Hybridanslutningshanteraren (HCM), anropar Azure Relay via port 443. Från webbplatsen för webbappen ansluter App Service-infrastrukturen också till Azure Relay för programmets räkning. Via de anslutna anslutningarna kan din app komma åt önskad slutpunkt. Anslutningen använder TLS 1.2 för säkerhets- och signaturnycklar för delad åtkomst (SAS) för autentisering och auktorisering.

Diagram of Hybrid Connection high-level flow.

När din app gör en DNS-begäran som matchar en konfigurerad Hybrid Anslut ion-slutpunkt omdirigeras den utgående TCP-trafiken via Hybrid Anslut ion.

Kommentar

Det innebär att du alltid bör försöka använda ett DNS-namn för din Hybrid Anslut ion. Vissa klientprogram gör ingen DNS-sökning om slutpunkten använder en IP-adress i stället.

Fördelar med App Service Hybrid Anslut ion

Det finns många fördelar med hybrid-Anslut ions-funktionen, inklusive:

  • Appar kan komma åt lokala system och tjänster på ett säkert sätt.
  • Funktionen kräver ingen internettillgänglig slutpunkt.
  • Det är snabbt och enkelt att konfigurera. Inga gatewayer krävs.
  • Varje Hybrid-Anslut ion matchar en enda kombination av värd:port, vilket är användbart för säkerheten.
  • Det kräver normalt inte brandväggshål. Anslutningarna är alla utgående via standardwebbportar.
  • Eftersom funktionen är på nätverksnivå är den agnostisk för det språk som används av din app och den teknik som används av slutpunkten.
  • Den kan användas för att ge åtkomst i flera nätverk från en enda app.
  • Stöds i GA för Windows-appar och Linux-appar. Det stöds inte för anpassade Windows-containrar.

Saker du inte kan göra med Hybrid Anslut ions

Saker du inte kan göra med Hybrid Anslut ions är:

  • Montera en enhet.
  • Använd UDP.
  • Få åtkomst till TCP-baserade tjänster som använder dynamiska portar, till exempel FTP Passivt läge eller Utökat passivt läge.
  • Stöd för LDAP eftersom det kan kräva UDP.
  • Stöd för Active Directory eftersom du inte kan domänansluta en App Service-arbetare.

Lägga till och skapa hybrid Anslut ions i din app

Om du vill skapa en Hybrid-Anslut ion går du till Azure-portalen och väljer din app. Välj Nätverk>Konfigurera hybridslutpunkter för Anslut ion. Här kan du se Hybrid Anslut ions som har konfigurerats för din app.

Screenshot of Hybrid Connection list.

Om du vill lägga till en ny Hybrid Anslut ion väljer du [+] Lägg till hybridanslutning. Du ser en lista över hybrid-Anslut ioner som du redan har skapat. Om du vill lägga till en eller flera av dem i din app väljer du de du vill ha och väljer sedan Lägg till vald Hybrid-Anslut ion.

Screenshot of Hybrid Connection portal.

Om du vill skapa en ny Hybrid Anslut ion väljer du Skapa ny hybridanslutning. Ange:

  • Hybrid Anslut ionsnamn.
  • Slutpunktsvärdnamn.
  • Slutpunktsport.
  • Service Bus-namnområde som du vill använda.

Screenshot of Create new hybrid connection dialog box.

Varje Hybrid-Anslut är kopplad till ett Service Bus-namnområde och varje Service Bus-namnområde finns i en Azure-region. Det är viktigt att försöka använda ett Service Bus-namnområde i samma region som din app för att undvika nätverksinducerad svarstid.

Om du vill ta bort din Hybrid-Anslut ion från din app högerklickar du på den och väljer Koppla från.

När en Hybrid-Anslut ion läggs till i din app kan du se information om den helt enkelt genom att välja den.

Screenshot of Hybrid connections details.

Skapa en Hybrid-Anslut ion i Azure Relay-portalen

Förutom portalupplevelsen inifrån din app kan du skapa Hybrid Anslut ions inifrån Azure Relay-portalen. För att en Hybrid-Anslut ion ska användas av App Service måste den:

  • Kräv klientauktorisering.
  • Ha ett metadataobjekt och en namngiven slutpunkt som innehåller en kombination av värd:port som värde.

Hybrid-Anslut ioner och App Service-planer

App Service Hybrid-Anslut joner är endast tillgängliga i SKU:er för Basic-, Standard-, Premium- och Isolerad-priser. Hybrid-Anslut ioner är inte tillgängliga för funktionsappar i förbrukningsplaner. Det finns gränser som är knutna till prisplanen.

Prisplan Antal hybrid Anslut ions som kan användas i planen
Grundläggande 5 per plan
Standard 25 per plan
Premium (v1-v3) 220 per app
Isolerad (v1-v2) 220 per app

Användargränssnittet för App Service-planen visar hur många Hybrid Anslut ions som används och av vilka appar.

Screenshot of App Service plan properties.

Välj Hybrid Anslut ion för att se information. Du kan se all information som du såg i appvyn. Du kan också se hur många andra appar i samma plan som använder hybrid-Anslut ion.

Det finns en gräns för antalet hybridslutpunkter för Anslut ion som kan användas i en App Service-plan. Varje Hybrid-Anslut som används kan dock användas i valfritt antal appar i planen. Till exempel räknas en enda Hybrid-Anslut ion som används i fem separata appar i en App Service-plan som en Hybrid-Anslut ion.

Prissättning

Förutom att det finns ett SKU-krav för App Service-plan finns det en extra kostnad för att använda Hybrid Anslut ions. Det debiteras för varje lyssnare som används av en Hybrid Anslut ion. Lyssnaren är Hybridanslutningshanteraren. Om du hade fem Hybrid Anslut ions som stöds av två Hybridanslutningshanteraren skulle det vara 10 lyssnare. Mer information finns i Service Bus-priser.

Hybridanslutningshanteraren

Funktionen Hybrid Anslut ions kräver en reläagent i nätverket som är värd för din Hybrid Anslut ion-slutpunkt. Den reläagenten kallas Hybridanslutningshanteraren (HCM). Om du vill ladda ned HCM går du till din app i Azure-portalen och väljer Konfigurera nätverk>Konfigurera hybridslutpunkter för Anslut ion.

Det här verktyget körs på Windows Server 2012 och senare. HCM körs som en tjänst och ansluter utgående till Azure Relay på port 443.

När du har installerat HCM kan du köra Hybrid Anslut ionManagerUi.exe för att använda användargränssnittet för verktyget. Den här filen finns i installationskatalogen för Hybridanslutningshanteraren. I Windows 10 kan du också bara söka efter Hybridanslutningshanteraren användargränssnitt i sökrutan.

Screenshot of Hybrid Connection Manager.

När du startar HCM-användargränssnittet är det första du ser en tabell som visar alla Hybrid Anslut ions som har konfigurerats med den här instansen av HCM. Om du vill göra några ändringar autentiserar du först med Azure.

Så här lägger du till en eller flera Hybrid Anslut ions i din HCM:

  1. Starta HCM-användargränssnittet.

  2. Välj Lägg till en ny Hybrid Anslut ion. Screenshot of Configure New Hybrid Connections.

  3. Logga in med ditt Azure-konto för att få dina Hybrid Anslut ions tillgängliga med dina prenumerationer. HCM fortsätter inte att använda ditt Azure-konto utöver det här steget.

  4. Välj en prenumeration.

  5. Välj den Hybrid Anslut ions som du vill att HCM ska vidarebefordra. Screenshot of Hybrid Connections.

  6. Välj Spara.

Nu kan du se hybrid-Anslut ions som du har lagt till. Du kan också välja den konfigurerade Hybrid Anslut ion för att se information.

Screenshot of Hybrid Connection Details.

För att stödja hybrid-Anslut ioner som den har konfigurerats med kräver HCM:

  • TCP-åtkomst till Azure via port 443.
  • TCP-åtkomst till hybridslutpunkten för Anslut ion.
  • Möjligheten att göra DNS-sökningar på slutpunktsvärden och Service Bus-namnområdet. Med andra ord bör värdnamnet i Azure Relay-anslutningen matchas från den dator som är värd för HCM.

Kommentar

Azure Relay förlitar sig på Web Sockets för anslutning. Den här funktionen är endast tillgänglig på Windows Server 2012 eller senare. Därför stöds inte HCM på något tidigare än Windows Server 2012.

Redundans

Varje HCM har stöd för flera Hybrid-Anslut ioner. Dessutom kan alla angivna Hybrid Anslut ion stödjas av flera HCM:er. Standardbeteendet är att dirigera trafik över de konfigurerade HCM:erna för en viss slutpunkt. Om du vill ha hög tillgänglighet på hybrid-Anslut ions från nätverket kör du flera HCM:er på separata datorer. Den belastningsfördelningsalgoritm som används av Relay-tjänsten för att distribuera trafik till de virtuella datorerna är slumpmässig tilldelning.

Lägg till en Hybrid-Anslut ion manuellt

Om du vill att någon utanför din prenumeration ska vara värd för en HCM-instans för en viss Hybrid-Anslut ion delar du gateway-anslutningssträng för Hybrid Anslut ion med dem. Du kan se gatewayens anslutningssträng i egenskaperna för Hybrid Anslut ion i Azure-portalen. Om du vill använda strängen väljer du Ange manuellt i HCM och klistrar in gatewayen anslutningssträng.

Manually add a Hybrid Connection.

Uppgradering

Det finns regelbundna uppdateringar av Hybridanslutningshanteraren för att åtgärda problem eller tillhandahålla förbättringar. När uppgraderingar släpps visas ett popup-fönster i HCM-användargränssnittet. När du tillämpar uppgraderingen tillämpas ändringarna och HCM startas om.

Lägga till en Hybrid-Anslut ion i din app programmatiskt

Det finns Azure CLI-stöd för Hybrid Anslut ions. Kommandona som tillhandahålls fungerar både på app- och App Service-plannivå. Kommandona på appnivå är:

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.

Med App Service-plankommandona kan du ange vilken nyckel en viss hybridanslutning använder. Det finns två nycklar inställda på varje Hybrid-Anslut ion, en primär och en sekundär. Du kan välja att använda den primära eller sekundära nyckeln med kommandona nedan. Med det här alternativet kan du växla nycklar för när du regelbundet vill återskapa dina nycklar.

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.

Skydda dina Hybrid Anslut ions

En befintlig Hybrid-Anslut ion kan läggas till i andra App Service Web Apps av alla användare som har tillräcklig behörighet för det underliggande Azure Service Bus Relay. Det innebär att om du måste hindra andra från att återanvända samma Hybrid-Anslut ion (till exempel när målresursen är en tjänst som inte har några andra säkerhetsåtgärder på plats för att förhindra obehörig åtkomst), måste du låsa åtkomsten till Azure Service Bus Relay.

Alla som har Reader åtkomst till Relay kan se Hybrid Anslut ion när de försöker lägga till den i sin webbapp i Azure-portalen, men de kan inte lägga till den eftersom de saknar behörighet att hämta den anslutningssträng som används för att upprätta reläanslutningen. För att kunna lägga till Hybrid Anslut ion måste de ha behörigheten listKeys (Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action). Rollen Contributor eller någon annan roll som innehåller den här behörigheten på Relay tillåter användare att använda Hybrid Anslut ion och lägga till den i sina egna webbappar.

Hantera hybrid Anslut ions

Om du behöver ändra slutpunktsvärden eller porten för en Hybrid-Anslut ion följer du följande steg:

  1. Ta bort Hybrid-Anslut ion från Hybridanslutningshanteraren på den lokala datorn genom att välja anslutningen och välja Ta bort längst upp till vänster i fönstret Hybrid Anslut ion Details (Hybrid Anslut ion Details).
  2. Koppla från Hybrid-Anslut ionen från Din App Service genom att navigera till Hybrid Anslut ions på sidan App Service-nätverk.
  3. Gå till Relay för den slutpunkt som du behöver uppdatera och välj Hybrid Anslut ions under Entiteter i den vänstra navigeringsmenyn.
  4. Välj den Hybrid-Anslut ion som du vill uppdatera och välj Egenskaper under Inställningar i den vänstra navigeringsmenyn.
  5. Gör dina ändringar och tryck på Spara ändringar överst.
  6. Gå tillbaka till inställningarna för Hybrid Anslut ions för Din App Service och lägg till Hybrid Anslut ion igen. Se till att slutpunkten uppdateras som avsett. Om du inte ser Hybrid Anslut ion i listan uppdaterar du om 5–10 minuter.
  7. Gå tillbaka till Hybridanslutningshanteraren på den lokala datorn och lägg till anslutningen igen.

Felsökning

Statusen "Anslut ed" innebär att minst en HCM har konfigurerats med den Hybrid-Anslut ionen och kan nå Azure. Om statusen för din Hybrid Anslut ion inte säger Anslut har din Hybrid Anslut ion inte konfigurerats på någon HCM som har åtkomst till Azure. När din HCM visar Inte Anslut finns det några saker att kontrollera:

  • Har värden utgående åtkomst till Azure på port 443? Du kan testa från HCM-värden med powershell-kommandot Test-Net Anslut ion Destination -P Port

  • Är din HCM potentiellt i ett dåligt tillstånd? Prova att starta om den lokala tjänsten Azure Hybridanslutningshanteraren Service.

  • Har du programvara i konflikt installerad? Hybridanslutningshanteraren kan inte samexistera med Biztalk Hybridanslutningshanteraren eller Service Bus för Windows Server. När du installerar HCM bör alla versioner av dessa paket tas bort först.

  • Har du en brandvägg mellan HCM-värden och Azure? I så fall måste du tillåta utgående åtkomst till både Service Bus-slutpunkts-URL:en och Service Bus-gatewayerna som betjänar din Hybrid-Anslut ion.

    • Du hittar Service Bus-slutpunkts-URL:en i Hybridanslutningshanteraren användargränssnittet.

    Screenshot of Hybrid Connection Service Bus endpoint.

    • Service Bus-gatewayerna är de resurser som accepterar begäran till Hybrid Anslut ion och skickar den via Azure Relay. Du måste tillåtalistning av alla 128 gatewayer. Gatewayerna är i formatet G#-prod-[stamp]-sb.servicebus.windows.net där "#" är ett tal mellan 0 och 127 och "stamp" är namnet på instansen i ditt Azure-datacenter där Service Bus-slutpunkten finns.
      • Om du kan använda ett jokertecken kan du tillåta listan "*.servicebus.windows.net".

      • Om du inte kan använda ett jokertecken måste du tillåta alla 128 gatewayer.

        Du kan ta reda på stämpeln med hjälp av "nslookup" på Service Bus-slutpunktens URL.

        Screenshot of terminal showing where to find the stamp name for the Service Bus.

        I det här exemplet är stämpeln "sn3-010". Om du vill tillåta listan över Service Bus-gatewayer behöver du följande poster:

        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

Om statusen säger Anslut men appen inte kan nå slutpunkten:

  • Kontrollera att du använder ett DNS-namn i hybrid-Anslut ion. Om du använder en IP-adress kanske den nödvändiga DNS-sökningen för klienten inte sker. Om klienten som körs i webbappen inte gör en DNS-sökning fungerar inte Hybrid Anslut ion.
  • Kontrollera att DNS-namnet som används i hybrid-Anslut ion kan matchas från HCM-värden. Kontrollera upplösningen med hjälp av nslookup EndpointDNSname där EndpointDNSname är en exakt matchning till vad som används i din Hybrid Anslut ion-definition.
  • Testa åtkomsten från HCM-värden till slutpunkten med powershell-kommandot Test-Net Anslut ion EndpointDNSname -P Port Om du inte kan nå slutpunkten från HCM-värden kontrollerar du brandväggarna mellan de två värdarna, inklusive eventuella värdbaserade brandväggar på målvärden.
  • Om du använder App Service på Linux kontrollerar du att du inte använder "localhost" som slutpunktsvärd. Använd i stället datornamnet om du försöker skapa en anslutning till en resurs på den lokala datorn.

I App Service kan kommandoradsverktyget tcpping anropas från Kudu-konsolen (Advanced Tools). Det här verktyget kan tala om för dig om du har åtkomst till en TCP-slutpunkt, men det anger inte om du har åtkomst till en Hybrid Anslut ion-slutpunkt. När du använder verktyget i -konsolen mot en Hybrid Anslut ion-slutpunkt bekräftar du bara att det använder en kombination av värd:port.

Om du har en kommandoradsklient för slutpunkten kan du testa anslutningen från appkonsolen. Du kan till exempel testa åtkomsten till webbserverslutpunkter med hjälp av curl.