Dela via


Hybridanslutningar i Azure App Service

Hybridanslutningar ä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 hybridanslutningar och deras användning utanför App Service finns i Azure Relay Hybrid-anslutningar.

I App Service kan hybridanslutningar användas för att komma åt programresurser i alla nätverk som kan göra utgående anrop till Azure via port 443. Hybridanslutningar ger åtkomst från din app till en TCP-slutpunkt. Det aktiverar inte ett nytt sätt att komma åt din app. I App Service korrelerar varje hybridanslutning med en enda kombination av TCP-värd och port.

Med den här funktionen kan dina appar komma åt resurser i alla operativsystem, förutsatt att det är en TCP-slutpunkt. Funktionen Hybridanslutningar vet eller bryr sig inte om vad programprotokollet är eller vad du har åtkomst till. Det ger helt enkelt nätverksåtkomst.

Hur det fungerar

Hybridanslutningar 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 över högnivåflöde för hybridanslutning.

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

Anteckning

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

Fördelar med Hybridanslutning för App Service

Det finns många fördelar med hybridanslutningsfunktionen, bland annat:

  • 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 hybridanslutning 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 appen använder och den teknik som slutpunkten använder.
  • 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. Hybridanslutningar stöds inte för anpassade Windows-containrar.

Saker du inte kan göra med hybridanslutningar

Saker du inte kan göra med hybridanslutningar ä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-medarbetare.

Lägga till och skapa hybridanslutningar i din app

Så här skapar du en hybridanslutning i Azure-portalen:

  1. I Azure Portal väljer du din app. Välj Inställningar>Nätverk.

  2. Bredvid Hybridanslutningar väljer du länken Inte konfigurerad . Här kan du se de hybridanslutningar som har konfigurerats för din app.

    Skärmbild av hybridanslutningslistan där du kan lägga till och hantera anslutningar.

  3. Om du vill lägga till en ny hybridanslutning väljer du Lägg till hybridanslutning. Du ser en lista över hybridanslutningar som du redan har skapat. Om du vill lägga till en eller flera av dem i din app väljer du de som du vill använda och väljer sedan Lägg till vald hybridanslutning.

    Skärmbild av sidan Hybridanslutning där du kan lägga till en anslutning.

Om du vill skapa en ny hybridanslutning väljer du Skapa ny hybridanslutning. Ange följande värden.

  • Hybridanslutningsnamn.
  • Endpoint-värdnamn.
  • Endpoint-port.
  • Service Bus-namnområde som du vill använda.

Skärmbild av dialogrutan Skapa ny hybridanslutning.

Varje hybridanslutning är kopplad till ett Service Bus-namnområde. Varje Service Bus-namnområde finns i en Azure-region. Om du vill undvika svarstid i nätverket använder du ett Service Bus-namnområde i samma region som din app.

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

När en hybridanslutning läggs till i din app kan du se information om den genom att välja den.

Skärmbild av information om hybridanslutningar.

Skapa en hybridanslutning i ARM/Bicep

Om du vill skapa en hybridanslutning med hjälp av en ARM/Bicep-mall lägger du till följande resurs i din befintliga mall. Du måste inkludera userMetadata för att ha en giltig hybridanslutning. Om du inte inkluderar userMetadatafungerar inte hybridanslutningen. Om du skapar hybridanslutningen i Azure-portalen fylls den här egenskapen automatiskt i åt dig.

Egenskapen userMetadata ska vara en strängrepresentation av en JSON-matris i formatet [{/"key/": /"endpoint/", /"value/" : /"<HOST>:<PORT>/"}]. Mer information finns i Microsoft.Relay-namnrymder/hybridAnslutningar.

resource hybridConnection 'Microsoft.Relay/namespaces/hybridConnections@2024-01-01' = {
  parent: relayNamespace
  name: hybridConnectionName
  properties: {
    requiresClientAuthorization: true
    userMetadata: '[{/"key/": /"endpoint/", /"value/" : /"<HOST>:<PORT>/"}]'
  }
}

Skapa en hybridanslutning i Azure Relay-portalen

Förutom portalupplevelsen inifrån din app kan du skapa hybridanslutningar inifrån Azure Relay-portalen. För att en hybridanslutning 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.

Hybridanslutningar och App Service-planer

Hybridanslutningar för App Service är endast tillgängliga i SKU:er för Grundläggande, Standard, Premium och Isolerade priser. Hybridanslutningar är inte möjliga för funktionappar i förbrukningsplaner. Det finns gränser som är knutna till prisplanen.

Prisplan Antal hybridanslutningar som kan användas i planen
Grundläggande 5 per våning
Norm 25 per våning
Premiumversion (v1-v3) 220 per applikation
IsoleradV2 220 per applikation

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

Skärmbild av App Service-planens egenskaper.

Om du vill se information väljer du Hybridanslutning. 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 den hybridanslutningen.

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

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 hybridanslutningar. Det debiteras för varje lyssnare som en hybridanslutning använder. Lyssnaren är Hybridanslutningshanteraren. Om du hade fem hybridanslutningar som stöds av två Hybridanslutningshanterare vilket skulle ge 10 lyssnare. Mer information finns i Service Bus-priser.

Hybridanslutningshanteraren

Funktionen Hybridanslutningar kräver en reläagent i nätverket som är värd för din hybridanslutningsslutpunkt. Den reläagenten kallas Hybridanslutningshanteraren (HCM). Om du vill ladda ned Hybrid Connection Manager följer du anvisningarna för klienten.

Det här verktyget körs på både Windows och Linux. I Windows kräver hybridanslutningshanteraren Windows Server 2012 och senare. HybridAnslutningshanteraren körs som en tjänst och ansluter utgående till Azure Relay på port 443.

Installationsanvisningar

Om du vill installera Hybrid Connection Manager i Windows laddar du ned MSI-paketet och följer installationsanvisningarna.

Anteckning

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. På grund av detta krav stöds inte Hybrid Connection Manager på system som är tidigare än Windows Server 2012.

För att stödja de hybridanslutningar som den har konfigurerats med kräver Hybrid Connection Manager:

  • TCP-åtkomst till Azure via port 443.
  • TCP-åtkomst till hybridanslutningsslutpunkten.
  • Windows-klienter måste ha portarna 4999-5001 tillgängliga.
  • Linux-klienter måste ha port 5001 tillgänglig.
  • Möjligheten att göra DNS-sökningar på slutpunktens värddator och Service Bus-namnområde. Med andra ord bör värdnamnet i Azure Relay-anslutningen kunna lösas upp från den dator som är värd för Hybrid Connection Manager.

Komma igång med hybridanslutningshanterarens GUI

När du har installerat Hybrid Connection Manager i Windows söker du efter hybridanslutningshanterarens GUI i sökrutan.

Skärmbild av Hybridanslutningshanteraren.

När du startar hybridanslutningshanterarens GUI är det första du ser en tabell som visar alla hybridanslutningar som har konfigurerats med den här instansen av Hybrid Connection Manager.

Så här lägger du till en eller flera hybridanslutningar i hybridanslutningshanterarens GUI:

  1. Starta hybridanslutningshanterarens GUI.
  2. Välj + Ny.
  3. Välj Välj med Azure.
  4. Logga in med ditt Azure-konto för att få dina hybridanslutningar tillgängliga med dina prenumerationer. HybridAnslutningshanteraren fortsätter inte att använda ditt Azure-konto utöver det här steget.
  5. Välj en prenumeration.
  6. Välj de hybridanslutningar som du vill att hybridanslutningshanteraren ska vidarebefordra.
  7. Välj Skapa.

Nu kan du se de hybridanslutningar som du har lagt till.

Skärmbild av hybridanslutningen som lagts till i Hybrid Connection Manager.

Du kan också välja den konfigurerade hybridanslutningen för att se information.

Skärmbild av hybridanslutningsinformation.

Komma igång med Hybrid Connection Manager CLI

I Windows kan du använda Hybrid Connection Manager CLI genom att söka efter och öppna Hybrid Connection Manager CLI.

Om du vill använda det interaktiva läget med Hybrid Connection Manager CLI, som gör att du kan visa din Azure-prenumeration och hybridanslutningsinformation, måste du installera och logga in på Azure CLI. Installationsinstruktioner finns i Installera Azure CLI och välj lämpligt alternativ för klienten. När du har installerat kör az login och följer du anvisningarna för att slutföra inloggningen.

När du startar Hybrid Connection Manager CLI kan du köra hcm list för att se de hybridanslutningar som redan har lagts till.

Så här lägger du till en hybridanslutning till hybridanslutningshanterarens CLI:

  1. Starta Hybrid Connection Manager CLI.

  2. Kör hcm add och vänta tills autentiseringen till Azure har slutförts. Om du inte har installerat och loggat in på Azure CLI måste du slutföra det här steget först för att kunna använda interaktivt läge. Om du inte vill installera Azure CLI följer du anvisningarna för att manuellt lägga till en hybridanslutning med CLI.

    Skärmbild av att lägga till en hybridanslutning med CLI.

  3. Välj en prenumeration. Hybridanslutningshanteraren hämtar alla hybridanslutningar i den prenumerationen. Det här steget kan ta upp till en minut att slutföra.

  4. Välj den hybridanslutning som du vill att hybridanslutningshanteraren ska vidarebefordra.

Kör hcm list för att se hybridanslutningar som du har lagt till.

Du kan också visa information om en specifik hybridanslutning med hcm show kommandot .

Skärmbild av hybridanslutningsinformation i CLI.

Redundans

Varje hybridanslutningshanterare har stöd för flera hybridanslutningar. Flera hybridanslutningshanterare har stöd för alla hybridanslutningar. Standardbeteendet är att dirigera trafik över de konfigurerade hybridanslutningshanterare för en viss slutpunkt. Om du vill ha hög tillgänglighet på dina hybridanslutningar från nätverket kör du flera hybridanslutningshanterare på separata datorer. Den belastningsfördelningsalgoritm som används av Relay-tjänsten för att distribuera trafik till hybridanslutningshanterare är slumpmässig tilldelning.

Lägga till en hybridanslutning manuellt

Om du vill att någon utanför din prenumeration ska vara värd för en Hybrid Connection Manager-instans för en viss hybridanslutning delar du gatewayanslutningssträngen för hybridanslutningen med dem. Du kan se gatewayanslutningssträngen i hybridanslutningsegenskaperna för din App Service i Azure-portalen. Gatewayanslutningssträngen är i formatet Endpoint=sb://[NAMESPACE].servicebus.windows.net/;SharedAccessKeyName=defaultListener;SharedAccessKey=[KEY];EntityPath=[HYBRID-CONNECTION-NAME].

Skärmbild av anslutningssträngen för hybridanslutningsgatewayen i Azure-portalen.

Om du vill använda strängen i hybridanslutningshanterarens GUI väljer du + Ny och Använder anslutningssträng och klistrar in gatewayanslutningssträngen.

Skärmbild av dialogrutan där du lägger till en hybridanslutning manuellt.

Använd strängen i Hybrid Connection Manager CLI genom att köra hcm add med antingen anslutningssträngen eller resursinformationen för Hybridanslutning.

Skärmbild av Hybrid Connection Manager CLI som visar hur du lägger till en hybridanslutning manuellt.

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 en dialogruta i gränssnittet för hybridanslutningshanteraren vid start. Om du vill söka efter tillgängliga uppgraderingar med Hybrid Connection Manager CLI kör du hcm version. Uppgraderingar måste göras med msi-installationsprogrammet och kan inte utföras med hjälp av CLI. Om du tillämpar uppgraderingen tillämpas ändringarna och hybridanslutningshanteraren startas om.

Lägga till en hybridanslutning till din app programmatiskt

Det finns Azure CLI-stöd för hybridanslutningar. 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 hybridanslutning, en primär och en sekundär. Du kan välja att använda den primära eller sekundära nyckeln med följande kommandon. 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 hybridanslutningar

Alla användare som har tillräcklig behörighet för en Azure Service Bus Relay kan lägga till en befintlig hybridanslutning för det reläet till andra App Service-webbappar. Om du vill förhindra att andra återanvänder samma hybridanslutning låser du åtkomsten till Azure Service Bus Relay. Den här situationen kan inträffa 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.

Alla som har Reader åtkomst till Relay kan se hybridanslutningen om de försöker lägga till den i sin webbapp i Azure Portal. De kan inte lägga till den eftersom de saknar behörighet att hämta anslutningssträng som används för att upprätta reläanslutningen. För att kunna lägga till hybridanslutningen 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 hybridanslutningen och lägga till den i sina egna Webbappar.

Hantera dina hybridanslutningar

Om du behöver ändra slutpunktsvärden eller porten för en hybridanslutning använder du följande steg:

  1. I Hybridanslutningshanteraren väljer du anslutningen för att se dess informationsfönster. Välj sedan Ta bort.
  2. I Azure Portal väljer du din app. Välj Inställningar>Nätverk.
  3. Bredvid Hybridanslutningar väljer du länken Konfigurerad .
  4. Högerklicka på anslutningen i Hybridanslutningar och välj Koppla från.
  5. Gå till Relay för att uppdatera den slutpunkt du behöver. I navigeringsmenyn under Entiteter väljer du Hybridanslutningar under Entiteter.
  6. Välj Hybridanslutning. I navigeringsmenyn går du till Inställningar och väljer Egenskaper.
  7. Gör dina ändringar och välj Spara ändringar.
  8. Gå tillbaka till inställningarna för hybridanslutningar för Din App Service och lägg till hybridanslutningen igen. Se till att slutpunkten uppdateras som avsett. Om du inte ser hybridanslutningen i listan uppdaterar du om 5–10 minuter.
  9. Gå tillbaka till Hybridanslutningshanteraren på den lokala datorn och lägg till anslutningen igen.

Felsökning

Statusen ansluten innebär att minst en hybridanslutningshanterare har konfigurerats med den hybridanslutningen och kan nå Azure. Om statusen för hybridanslutningen inte säger Ansluten konfigureras inte hybridanslutningen på någon hybridanslutningshanterare som har åtkomst till Azure. När hybridanslutningshanteraren visar Inte ansluten finns det några saker att kontrollera:

  • Har din värd utgående åtkomst till Azure på port 443? Du kan testa från din Hybrid Connection Manager-värd med hjälp av PowerShell-kommandot Test-NetConnection Destination -P Port.

  • Är hybridanslutningshanteraren potentiellt i ett felaktigt tillstånd? Prova att starta om den lokala tjänsten Azure Hybrid Connection Manager.

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

  • Har du en brandvägg mellan hybridanslutningshanterarens värd 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 hybridanslutningen.

    • Du hittar Service Bus-slutpunkts-URL:en i hybridanslutningshanterarens GUI.

      Skärmbild av Service Bus-slutpunkten för hybridanslutning.

    • Du hittar även Service Bus-slutpunkts-URL:en i Hybrid Connection Manager CLI.

      Skärmbild av Service Bus-slutpunkten för hybridanslutning i CLI.

    • Service Bus-gatewayerna är de resurser som accepterar begäran till hybridanslutningen och skickar den via Azure Relay. Du måste tillåtalistning av alla gatewayer. Gatewayerna är i formatet: G#-prod-[stamp]-sb.servicebus.windows.net och GV#-prod-[stamp]-sb.servicebus.windows.net. Nummertecknet , #ä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åtalista *.servicebus.windows.net.

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

      Du kan ta reda på stämpelinformationen genom att använda nslookup på Service Bus-slutpunktens URL.

      Skärmbild av terminalen som visar var du hittar stämpelnamnet för Service Bus.

      I det här exemplet är stämpeln sn3-010. För att vitlista 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
      GV0-prod-sn3-010-sb.servicebus.windows.net
      GV1-prod-sn3-010-sb.servicebus.windows.net
      GV2-prod-sn3-010-sb.servicebus.windows.net
      GV3-prod-sn3-010-sb.servicebus.windows.net
      ...
      GV126-prod-sn3-010-sb.servicebus.windows.net
      GV127-prod-sn3-010-sb.servicebus.windows.net

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

  • Kontrollera att du använder ett DNS-namn i hybridanslutningen. 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 hybridanslutningen.
  • Kontrollera att DNS-namnet som används i hybridanslutningen kan lösas upp från värddatorn för Hybrid Connection Manager. Kontrollera upplösningen med nslookup EndpointDNSname där EndpointDNSname är en exakt matchning till vad som används i hybridanslutningsdefinitionen.
  • Testa åtkomsten från hybridanslutningshanterarens värd till slutpunkten med hjälp av PowerShell-kommandot Test-NetConnection EndpointDNSname -P Port. Om du inte kan nå slutpunkten från hybridanslutningshanterarens värd 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 bör du kontrollera att du inte använder localhost som endpunktsvä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 hybridanslutningsslutpunkt. När du använder verktyget i konsolen mot en hybridanslutningsslutpunkt 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.

Anteckning

Kontakta hcmsupport@service.microsoft.com för frågor och support som är specifika för App Service Hybrid-anslutningar och App Service Hybrid Connection Manager.