Connessioni ibride del Servizio app di AzureAzure App Service Hybrid Connections

Connessioni ibride è un servizio disponibile in Azure e una funzionalità del Servizio app di Azure.Hybrid Connections is both a service in Azure and a feature in Azure App Service. Come servizio, fornisce modalità d'uso e funzionalità superiori rispetto a quelle usate nel Servizio app.As a service, it has uses and capabilities beyond those that are used in App Service. Per altre informazioni su Connessioni ibride e sul suo uso al di fuori del Servizio app, vedere Protocollo per le connessioni ibride di inoltro di Azure.To learn more about Hybrid Connections and their usage outside App Service, see Azure Relay Hybrid Connections.

Nel Servizio app la funzionalità Connessioni ibride può essere usata per accedere alle risorse di applicazione presenti in altre reti.Within App Service, Hybrid Connections can be used to access application resources in other networks. Fornisce l'accesso dalla propria app a un endpoint applicazione.It provides access from your app to an application endpoint. Non abilita una funzionalità alternativa per accedere all'applicazione.It does not enable an alternate capability to access your application. Quando usata in Servizio app, ogni connessione ibrida è correlata a una singola combinazione di host e porta TCP.As used in App Service, each Hybrid Connection correlates to a single TCP host and port combination. Ciò significa che l'endpoint della connessione ibrida può trovarsi in qualsiasi sistema operativo e in qualsiasi applicazione, a condizione che si acceda a una porta TCP in ascolto.This means that the Hybrid Connection endpoint can be on any operating system and any application, provided you are accessing a TCP listening port. La funzionalità Connessioni ibride non conosce né deve conoscere quale sia il protocollo dell'applicazione o a quale risorsa l'utente stia accedendo,The Hybrid Connections feature does not know or care what the application protocol is, or what you are accessing. in quanto si limita a fornire l'accesso alla rete.It is simply providing network access.

FunzionamentoHow it works

La funzionalità Connessioni ibride è costituita da due chiamate in uscita a Inoltro del bus di servizio di Azure.The Hybrid Connections feature consists of two outbound calls to Azure Service Bus Relay. Esistono una connessione da una libreria nell'host in cui l'app è in esecuzione nel Servizio appThere is a connection from a library on the host where your app is running in App Service. e una connessione da Gestione connessione ibrida a Inoltro del bus di servizio.There is also a connection from the Hybrid Connection Manager (HCM) to Service Bus Relay. Gestione connessione ibrida è un servizio di inoltro che viene distribuito nell'ambito della rete che ospita la risorsa a cui si prova ad accedere.The HCM is a relay service that you deploy within the network hosting the resource you are trying to access.

Grazie alle due connessioni congiunte, l'app dispone di un tunnel TCP a una combinazione host:porta fissa sull'altro lato di Gestione connessione ibrida.Through the two joined connections, your app has a TCP tunnel to a fixed host:port combination on the other side of the HCM. La connessione usa TLS 1.2 per la sicurezza e le chiavi di firma di accesso condiviso per l'autenticazione e l'autorizzazione.The connection uses TLS 1.2 for security and shared access signature (SAS) keys for authentication and authorization.

Diagramma del flusso di livello generale delle connessioni ibride

Quando l'app esegue una richiesta DNS che corrisponde a un endpoint di Connessione ibrida configurato, il traffico TCP in uscita viene reindirizzato lungo la connessione ibrida.When your app makes a DNS request that matches a configured Hybrid Connection endpoint, the outbound TCP traffic will be redirected through the Hybrid Connection.

Nota

Ciò significa che è consigliabile usare sempre un nome DNS per la connessione ibrida.This means that you should try to always use a DNS name for your Hybrid Connection. Alcuni software client non eseguono una ricerca DNS se l'endpoint usa un indirizzo IP al posto del nome DNS.Some client software does not do a DNS lookup if the endpoint uses an IP address instead.

Vantaggi della funzionalità Connessioni ibride di Servizio app di AzureApp Service Hybrid Connection benefits

La funzionalità Connessioni ibride offre numerosi vantaggi tra cui:There are a number of benefits to the Hybrid Connections capability, including:

  • Le app possono accedere in modo sicuro a servizi e sistemi locali.Apps can access on-premises systems and services securely.
  • La funzionalità non richiede un endpoint accessibile tramite Internet.The feature does not require an internet-accessible endpoint.
  • È facile e rapida da configurare.It is quick and easy to set up.
  • Ogni connessione ibrida corrisponde a una singola combinazione host:porta, utile per la sicurezza.Each Hybrid Connection matches to a single host:port combination, helpful for security.
  • In genere non richiede varchi nei firewall,It normally does not require firewall holes. in quanto le connessioni sono tutte in uscita su porte Web standard.The connections are all outbound over standard web ports.
  • Dal momento che si tratta di una funzionalità a livello di rete, è indipendente dalla lingua usata dall'app e dalla tecnologia usata dall'endpoint.Because the feature is network level, it is agnostic to the language used by your app and the technology used by the endpoint.
  • Può essere usata per fornire l'accesso a più reti da una singola app.It can be used to provide access in multiple networks from a single app.

Operazioni che non è possibile eseguire con la funzionalità Connessioni ibrideThings you cannot do with Hybrid Connections

Le operazioni che non è possibile eseguire con connessioni ibride includono le seguenti:Things you cannot do with Hybrid Connections include:

  • Montare un'unità.Mount a drive.
  • Usare UDP.Use UDP.
  • Accedere a servizi basati su TCP che usano porte dinamiche, ad esempio la modalità FTP passiva o la modalità passiva estesa.Access TCP-based services that use dynamic ports, such as FTP Passive Mode or Extended Passive Mode.
  • Supportare LDAP, perché può richiedere UDP.Support LDAP, because it can require UDP.
  • Supportare Active Directory, perché non è possibile aggiungere a un dominio un ruolo di lavoro del servizio app.Support Active Directory, because you cannot domain join an App Service worker.

Aggiungere e creare connessioni ibride nell'appAdd and Create Hybrid Connections in your app

Per creare una connessione ibrida, accedere al portale di Azure e selezionare l'app.To create a Hybrid Connection, go to the Azure portal and select your app. Selezionare Rete > Configurare gli endpoint della connessione ibrida.Select Networking > Configure your Hybrid Connection endpoints. Da qui è possibile visualizzare le connessioni ibride configurate per l'app.Here you can see the Hybrid Connections that are configured for your app.

Schermata dell'elenco delle connessioni ibride

Per aggiungere una nuova connessione ibrida, selezionare [+] Aggiungi connessione ibrida.To add a new Hybrid Connection, select [+] Add hybrid connection. Verrà visualizzato un elenco delle connessioni ibride che sono già state create.You'll see a list of the Hybrid Connections that you already created. Per aggiungere una o più connessioni all'app, selezionare quelle desiderate e quindi selezionare Aggiungi connessione ibrida selezionata.To add one or more of them to your app, select the ones you want, and then select Add selected Hybrid Connection.

Schermata del portale delle connessioni ibride

Se si intende creare una nuova connessione ibrida, selezionare Crea nuova connessione ibrida.If you want to create a new Hybrid Connection, select Create new hybrid connection. Specificare le informazioni seguenti:Specify the:

  • Nome connessione ibrida.Hybrid Connection name.
  • Nome host dell'endpoint.Endpoint hostname.
  • Porta dell'endpoint.Endpoint port.
  • Spazio dei nomi del bus di servizio che si vuole usare.Service Bus namespace you want to use.

Schermata della finestra di dialogo Crea nuova connessione ibrida

Ogni connessione ibrida è associata a uno spazio dei nomi del bus di servizio e ogni spazio dei nomi del bus di servizio si trova in un'area di Azure.Every Hybrid Connection is tied to a Service Bus namespace, and each Service Bus namespace is in an Azure region. È importante provare a usare uno spazio dei nomi del bus di servizio nella stessa area dell'app, in modo da evitare la latenza indotta dalla rete.It's important to try to use a Service Bus namespace in the same region as your app, to avoid network induced latency.

Se si vuole rimuovere la connessione ibrida dall'app, fare clic con il pulsante destro del mouse sulla connessione e selezionare Disconnetti.If you want to remove your Hybrid Connection from your app, right-click it and select Disconnect.

È possibile visualizzare i dettagli di una connessione ibrida aggiunta all'app semplicemente selezionandola.When a Hybrid Connection is added to your app, you can see details on it simply by selecting it.

Schermata dei dettagli delle connessioni ibride

Creare una connessione ibrida nel portale del Servizio di inoltro di AzureCreate a Hybrid Connection in the Azure Relay portal

Oltre all'esperienza del portale offerta all'interno dell'app, è possibile creare connessioni ibride all'interno del portale del Servizio di inoltro di Azure.In addition to the portal experience from within your app, you can create Hybrid Connections from within the Azure Relay portal. Affinché una connessione ibrida possa essere usata dal Servizio app, deve:For a Hybrid Connection to be used by App Service, it must:

  • Richiedere l'autorizzazione client.Require client authorization.
  • Includere un elemento di metadati, denominato endpoint, che contenga una combinazione host:porta come valore.Have a metadata item, named endpoint, that contains a host:port combination as the value.

Connessioni ibride e piani di servizio appHybrid Connections and App Service plans

Le connessioni ibride del servizio app sono disponibili solo per gli SKU con piano tariffario Basic, Standard, Premium e Isolato.App Service Hybrid Connections are only available in Basic, Standard, Premium, and Isolated pricing SKUs. Esistono limiti legati al piano tariffario.There are limits tied to the pricing plan.

Piano tariffarioPricing plan Numero di connessioni ibride a disposizione nel pianoNumber of Hybrid Connections usable in the plan
BasicBasic 55
StandardStandard 2525
PremiumPremium 200200
IsolatoIsolated 200200

L'interfaccia utente del piano di servizio app mostra quante connessioni ibride sono in uso e da parte di quali app.The App Service plan UI shows you how many Hybrid Connections are being used and by what apps.

Schermata delle proprietà del piano di servizio app

Selezionare la connessione ibrida per visualizzarne i dettagli.Select the Hybrid Connection to see details. È possibile vedere tutte le informazioni disponibili nella visualizzazione dell'app,You can see all the information that you saw at the app view. oltre al numero di app nello stesso piano che usano la connessione ibrida selezionata.You can also see how many other apps in the same plan are using that Hybrid Connection.

È previsto un limite al numero di endpoint della connessione ibrida che possono essere usati in un piano di servizio app.There is a limit on the number of Hybrid Connection endpoints that can be used in an App Service plan. Tuttavia, ogni connessione ibrida usata può essere associata a un numero qualsiasi di app nel piano di servizio app specifico.Each Hybrid Connection used, however, can be used across any number of apps in that plan. Ad esempio, una singola connessione ibrida usata in cinque app distinte in un piano di servizio app viene conteggiata come una connessione ibrida.For example, a single Hybrid Connection that is used in five separate apps in an App Service plan counts as one Hybrid Connection.

PrezziPricing

Oltre a un requisito per lo SKU del piano di servizio app, sono previsti costi aggiuntivi per l'uso di connessioni ibride.In addition to there being an App Service plan SKU requirement, there is an additional cost to using Hybrid Connections. Viene addebitato anche ogni listener usato da una connessione ibrida.There is a charge for each listener used by a Hybrid Connection. Il listener è l'agente Gestione connessione ibrida.The listener is the Hybrid Connection Manager. Cinque connessioni ibride supportate da due agenti Gestione connessione ibrida equivalgono a dieci listener.If you had five Hybrid Connections supported by two Hybrid Connection Managers, that would be 10 listeners. Per altre informazioni, vedere Prezzi del bus di servizio.For more information, see Service Bus pricing.

Gestione connessione ibridaHybrid Connection Manager

La funzionalità Connessioni ibride richiede un agente di inoltro nella rete che ospita l'endpoint della connessione ibrida.The Hybrid Connections feature requires a relay agent in the network that hosts your Hybrid Connection endpoint. L'agente di inoltro viene chiamato Gestione connessione ibrida.That relay agent is called the Hybrid Connection Manager (HCM). Per scaricare Gestione connessione ibrida, dall'app nel portale di Azure selezionare Rete > Configurare gli endpoint della connessione ibrida.To download HCM, from your app in the Azure portal, select Networking > Configure your Hybrid Connection endpoints.

Questo strumento viene eseguito in Windows Server 2012 e versioni successive.This tool runs on Windows Server 2012 and later. Gestione connessione ibrida viene eseguito come servizio e si connette in uscita a Inoltro di Azure sulla porta 443.The HCM runs as a service and connects outbound to Azure Relay on port 443.

Dopo avere installato Gestione connessione ibrida, è possibile eseguire HybridConnectionManagerUi.exe per usare l'interfaccia utente per lo strumento.After installing HCM, you can run HybridConnectionManagerUi.exe to use the UI for the tool. Questo file è contenuto nella directory di installazione di Gestione connessione ibrida.This file is in the Hybrid Connection Manager installation directory. In Windows 10 è sufficiente digitare interfaccia utente Gestione connessione ibrida nella casella di ricerca.In Windows 10, you can also just search for Hybrid Connection Manager UI in your search box.

Schermata di Gestione connessione ibrida

Quando si avvia l'interfaccia utente di Gestione connessione ibrida, la prima cosa che si vede è una tabella nella quale sono elencate tutte le connessioni ibride configurate con questa istanza di Gestione connessione ibrida.When you start the HCM UI, the first thing you see is a table that lists all the Hybrid Connections that are configured with this instance of the HCM. Per apportare eventuali modifiche, eseguire prima l'autenticazione con Azure.If you want to make any changes, first authenticate with Azure.

Per aggiungere una o più connessioni ibride a Gestione connessione ibrida:To add one or more Hybrid Connections to your HCM:

  1. Avviare l'interfaccia utente di Gestione connessione ibrida.Start the HCM UI.

  2. Selezionare Configure another Hybrid Connection (Configura un'altra connessione ibrida).Select Configure another Hybrid Connection. Schermata Configure New Hybrid Connections (Configura nuove connessioni ibride)Screenshot of Configure New Hybrid Connections

  3. Accedere con l'account Azure per ottenere le connessioni ibride disponibile con le sottoscrizioni.Sign in with your Azure account to get your Hybrid Connections available with your subscriptions. Gestione connessione ibrida non continuare a usare l'account di Azure oltre a quelle.The HCM does not continue to use your Azure account beyond that.

  4. Scegliere una sottoscrizione.Choose a subscription.

  5. Selezionare le connessioni ibride che si vuole vengano inoltrate tramite Gestione connessione ibrida.Select the Hybrid Connections that you want the HCM to relay. Schermata delle connessioni ibrideScreenshot of Hybrid Connections

  6. Selezionare Salva.Select Save.

Ora è possibile visualizzare le connessioni ibride che sono state aggiunte.You can now see the Hybrid Connections you added. È anche possibile selezionare la connessione ibrida configurata per visualizzarne i dettagli.You can also select the configured Hybrid Connection to see details.

Schermata Hybrid Connection Details (Dettagli connessioni ibride)

Per supportare le connessioni ibride con cui è configurato, Gestione connessione ibrida richiede quanto segue:To support the Hybrid Connections it is configured with, HCM requires:

  • Accesso TCP ad Azure sulla porta 443.TCP access to Azure over port 443.
  • Accesso TCP all'endpoint della connessione ibrida.TCP access to the Hybrid Connection endpoint.
  • Possibilità di eseguire ricerche DNS nell'host endpoint e nello spazio dei nomi del bus di servizio.The ability to do DNS look-ups on the endpoint host and the Service Bus namespace.

Nota

Il servizio di inoltro di Azure si affida a WebSocket per la connettività.Azure Relay relies on Web Sockets for connectivity. Questa funzionalità è disponibile solo in Windows Server 2012 e versioni successive.This capability is only available on Windows Server 2012 or later. Per questo motivo, Gestione connessione ibrida non è supportato nelle versioni precedenti a Windows Server 2012.Because of that, HCM is not supported on anything earlier than Windows Server 2012.

RidondanzaRedundancy

Ogni istanza di Gestione connessione ibrida può supportare più connessioni ibride.Each HCM can support multiple Hybrid Connections. Ogni connessione ibrida specificata può anche essere supportata da più istanze di Gestione connessione ibrida.Also, any given Hybrid Connection can be supported by multiple HCMs. Il comportamento predefinito consiste nell'indirizzare il traffico tra le istanze configurate di Gestione connessione ibrida per un endpoint specificato.The default behavior is to route traffic across the configured HCMs for any given endpoint. Se si intende usufruire della disponibilità elevata nelle connessioni ibride dalla rete, eseguire più istanze di Gestione connessione ibrida in computer separati.If you want high availability on your Hybrid Connections from your network, run multiple HCMs on separate machines. L'algoritmo di distribuzione del carico usato dal servizio Inoltro per distribuire il traffico agli agenti Gestione connessione ibrida prevede un'assegnazione casuale.The load distribution algorithm used by the Relay service to distribute traffic to the HCMs is random assignment.

Aggiungere manualmente una connessione ibridaManually add a Hybrid Connection

Per consentire a un'entità esterna alla propria sottoscrizione di ospitare un'istanza di Gestione connessione ibrida per una connessione ibrida specificata, condividere con tale entità la stringa di connessione gateway per la connessione ibrida.To enable someone outside your subscription to host an HCM instance for a given Hybrid Connection, share the gateway connection string for the Hybrid Connection with them. La stringa di connessione gateway è visibile nelle proprietà della connessione ibrida nel portale di Azure.You can see the gateway connection string in the Hybrid Connection properties in the Azure portal. Per usare tale stringa, selezionare Immetti manualmente in Gestione connessione ibrida e incollare la stringa di connessione gateway.To use that string, select Enter Manually in the HCM, and paste in the gateway connection string.

Aggiungere manualmente una connessione ibrida

AggiornamentoUpgrade

A Gestione connessione ibrida vengono apportati aggiornamenti periodici per correggere errori o aggiungere miglioramenti.There are periodic updates to the Hybrid Connection Manager to fix issues or provide improvements. Quando gli aggiornamenti vengono resi disponibili, viene visualizzata una finestra popup nell'interfaccia utente di Gestione connessione ibrida.When upgrades are released, a popup will show up in the HCM UI. L'aggiornamento applica le modifiche e riavvia Gestione connessione ibrida.Applying the upgrade will apply the changes and restart the HCM.

Aggiunta di una connessione ibrida all'app a livello di codiceAdding a Hybrid Connection to your app programmatically

Le API seguenti possono essere usate direttamente per gestire le connessioni ibride connesse alle app.The APIs noted below can be used directly to manage the Hybrid Connections connected to your apps.

/subscriptions/[subscription name]/resourceGroups/[resource group name]/providers/Microsoft.Web/sites/[app name]/hybridConnectionNamespaces/[relay namespace name]/relays/[hybrid connection name]?api-version=2016-08-01

L'oggetto JSON associato a una connessione ibrida ha un aspetto simile al seguente:The JSON object associated with a Hybrid Connection looks like:

{
  "name": "[hybrid connection name]",
  "type": "Microsoft.Relay/Namespaces/HybridConnections",
  "location": "[location]",
  "properties": {
    "serviceBusNamespace": "[namespace name]",
    "relayName": "[hybrid connection name]",
    "relayArmUri": "/subscriptions/[subscription id]/resourceGroups/[resource group name]/providers/Microsoft.Relay/namespaces/[namespace name]/hybridconnections/[hybrid connection name]",
    "hostName": "[endpoint host name]",
    "port": [port],
    "sendKeyName": "defaultSender",
    "sendKeyValue": "[send key]"
  }
}

Queste informazioni possono essere usate con armclient, che è possibile ottenere dal progetto GitHub ARMClient.One way to use this information is with the armclient, which you can get from the ARMClient GitHub project. Ecco un esempio di collegamento di una connessione ibrida preesistente all'app.Here is an example on attaching a pre-existing Hybrid Connection to your app. Creare un file JSON in base allo schema sopra, simile al seguente:Create a JSON file per the above schema like:

{
  "name": "relay-demo-hc",
  "type": "Microsoft.Relay/Namespaces/HybridConnections",
  "location": "North Central US",
  "properties": {
    "serviceBusNamespace": "demo-relay",
    "relayName": "relay-demo-hc",
    "relayArmUri": "/subscriptions/ebcidic-asci-anna-nath-rak1111111/resourceGroups/myrelay-rg/providers/Microsoft.Relay/namespaces/demo-relay/hybridconnections/relay-demo-hc",
    "hostName": "my-wkstn.home",
    "port": 1433,
    "sendKeyName": "defaultSender",
    "sendKeyValue": "Th9is3is8a82lot93of3774stu887ff122235="
  }
}

Per usare questa API, sono necessari la chiave di invio e l'ID risorsa di inoltro. Se le informazioni sono state salvate con il nome di file hctest.json, immettere questo comando per collegare la connessione ibrida all'app:If you saved your information with the filename hctest.json, issue this command to attach your Hybrid Connection to your app:

armclient login
armclient put /subscriptions/ebcidic-asci-anna-nath-rak1111111/resourceGroups/myapp-rg/providers/Microsoft.Web/sites/myhcdemoapp/hybridConnectionNamespaces/demo-relay/relays/relay-demo-hc?api-version=2016-08-01 @hctest.json

risoluzione dei problemiTroubleshooting

Lo stato "Connesso" indica che almeno un'istanza di Gestione connessione ibrida è configurata con quella specifica connessione ed è in grado di raggiungere Azure.The status of "Connected" means that at least one HCM is configured with that Hybrid Connection, and is able to reach Azure. Se lo stato della connessione ibrida non è Connesso, la connessione ibrida non è configurata in alcuna istanza di Gestione connessione ibrida con accesso ad Azure.If the status for your Hybrid Connection does not say Connected, your Hybrid Connection is not configured on any HCM that has access to Azure.

Il motivo principale per cui i client non riescono a connettersi al relativo endpoint è perché l'endpoint è stato specificato usando un indirizzo IP anziché un nome DNS.The primary reason that clients cannot connect to their endpoint is because the endpoint was specified by using an IP address instead of a DNS name. Se l'app non riesce a raggiungere l'endpoint desiderato ed è stato specificato un indirizzo IP, usare un nome DNS valido nell'host in cui Gestione connessione ibrida è in esecuzione.If your app cannot reach the desired endpoint and you used an IP address, switch to using a DNS name that is valid on the host where the HCM is running. È necessario controllare anche che il nome DNS venga risolto correttamente nell'host in cui Gestione connessione ibrida è in esecuzioneAlso check that the DNS name resolves properly on the host where the HCM is running. e che vi sia connettività tra l'host in cui Gestione connessione ibrida è in esecuzione e l'endpoint della connessione ibrida.Confirm that there is connectivity from the host where the HCM is running to the Hybrid Connection endpoint.

Nel servizio App, il tcpping strumento da riga di comando può essere richiamato dalla console strumenti avanzati (Kudu).In App Service, the tcpping command line tool can be invoked from the Advanced Tools (Kudu) console. Questo strumento indica se si dispone dell'accesso a un endpoint TCP, ma non se si dispone dell'accesso all'endpoint di una connessione ibrida.This tool can tell you if you have access to a TCP endpoint, but it does not tell you if you have access to a Hybrid Connection endpoint. Quando lo strumento viene usato nella console per rilevare l'endpoint di una connessione ibrida, viene confermato solo che usa una combinazione host:porta.When you use the tool in the console against a Hybrid Connection endpoint, you are only confirming that it uses a host:port combination.

Se si dispone di un client della riga di comando per l'endpoint, è possibile testare la connettività dalla console dell'app.If you have a command line client for your endpoint, you can test connectivity from the app console. Ad esempio, è possibile testare l'accesso agli endpoint server web mediante curl.For example, you can test access to web server endpoints by using curl.

Connessioni ibride BizTalkBizTalk Hybrid Connections

La forma precedente di questa funzionalità è nota come Connessioni ibride BizTalk.The early form of this feature was called BizTalk Hybrid Connections. Questa funzionalità ha raggiunto la fine del ciclo di vita il 31 maggio 2018 e ha smesso di funzionare.This capability went End of Life on May 31, 2018 and ceased operations. Le connessioni ibride BizTalk sono state rimosse da tutte le app e non sono più accessibili tramite il portale o l'API.BizTalk hybrid connections have been removed from all apps and are not accessible through the portal or API. Se queste connessioni obsolete sono ancora configurate in Gestione connessione ibrida, continuerà a essere indicato lo stato Sospeso e verrà visualizzata una nota sulla fine del ciclo di vita nella parte inferiore.If you still have these older connections configured in the Hybrid Connection Manager, then you will see a status of Discontinued and display an End of Life statement at the bottom.

Connessioni ibride BizTalk in Gestione connessione ibrida