Connessioni ibride del servizio app di Azure

La funzionalità Connessioni ibride è sia un servizio di Azure che una funzionalità del servizio app di Azure. Come servizio, offre modalità d'uso e funzionalità oltre a quelli del servizio app. 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.

All'interno di servizio app, è possibile usare Connessione ibride per accedere alle risorse dell'applicazione in qualsiasi rete in grado di effettuare chiamate in uscita ad Azure sulla porta 443. Le Connessione ibride forniscono l'accesso dall'app a un endpoint TCP e non consentono un nuovo modo per accedere all'app. Usate nel servizio app, le connessioni ibride vengono correlate ognuna a una singola combinazione di host e porta TCP. Questa funzionalità consente alle app di accedere alle risorse in qualsiasi sistema operativo, purché si tratti di un endpoint TCP. La funzionalità hybrid Connessione ions non conosce o importa qual è il protocollo dell'applicazione o cosa si accede. Fornisce semplicemente l'accesso alla rete.

Funzionamento

Le Connessione ibride richiedono la distribuzione di un agente di inoltro in cui può raggiungere sia l'endpoint desiderato che Azure. L'agente di inoltro, Gestione connessione ibrida (HCM), chiama Inoltro di Azure sulla porta 443. Dal sito dell'app Web, l'infrastruttura servizio app si connette anche all'inoltro di Azure per conto dell'applicazione. Tramite le connessioni aggiunte, l'app è in grado di accedere all'endpoint desiderato. La connessione usa TLS 1.2 per la sicurezza e le chiavi di firma di accesso condiviso per l'autenticazione e l'autorizzazione.

Diagram of Hybrid Connection high-level flow.

Quando l'app effettua una richiesta DNS corrispondente a un endpoint di Connessione ion ibrido configurato, il traffico TCP in uscita viene reindirizzato attraverso l'Connessione ibrida.

Nota

Ciò significa che è consigliabile usare sempre un nome DNS per la connessione ibrida. Alcuni software client non eseguono una ricerca DNS se l'endpoint usa un indirizzo IP al posto del nome DNS.

Vantaggi della funzionalità Connessioni ibride di Servizio app di Azure

Esistono molti vantaggi per la funzionalità Connessione ions ibride, tra cui:

  • Le app possono accedere in modo sicuro ai sistemi e ai servizi locali.
  • La funzionalità non richiede un endpoint accessibile da Internet.
  • È facile e veloce da configurare. Nessun gateway necessario.
  • Ogni connessione ibrida corrisponde a una singola combinazione host:porta, utile per la sicurezza.
  • Normalmente non richiede fori del firewall. Le connessioni sono tutte in uscita su porte Web standard.
  • Poiché la funzionalità è a livello di rete, è indipendente dalla lingua usata dall'app e dalla tecnologia usata dall'endpoint.
  • Può essere usata per fornire l'accesso a più reti da una singola app.
  • Supportato in disponibilità generale per le app di Windows e le app Linux. Non è supportato per i contenitori personalizzati di Windows.

Le operazioni che non è possibile eseguire con le Connessione ibride

Le operazioni che non è possibile eseguire con le Connessione ibride includono:

  • Montare un'unità.
  • Usare UDP.
  • Accedere a servizi basati su TCP che usano porte dinamiche, ad esempio la modalità FTP passiva o la modalità passiva estesa.
  • Supportare LDAP, perché può richiedere UDP.
  • SupportaRe Active Directory perché non è possibile aggiungere un ruolo di lavoro servizio app a un dominio.

Aggiungere e creare connessioni ibride nell'app

Per creare una connessione ibrida, accedere al portale di Azure e selezionare l'app. Selezionare Rete>Configurare gli endpoint della connessione ibrida. Da qui è possibile visualizzare le connessioni ibride configurate per l'app.

Screenshot of Hybrid Connection list.

Per aggiungere una nuova connessione ibrida, selezionare [+] Aggiungi connessione ibrida. Viene visualizzato un elenco delle Connessione ibride già create. Per aggiungere una o più connessioni all'app, selezionare quelle desiderate e quindi selezionare Aggiungi connessione ibrida selezionata.

Screenshot of Hybrid Connection portal.

Se si intende creare una nuova connessione ibrida, selezionare Crea nuova connessione ibrida. Specificare le informazioni seguenti:

  • Nome connessione ibrida.
  • Nome host dell'endpoint.
  • Porta dell'endpoint.
  • Spazio dei nomi del bus di servizio che si vuole usare.

Screenshot of Create new hybrid connection dialog box.

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. È 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.

Se si vuole rimuovere la connessione ibrida dall'app, fare clic con il pulsante destro del mouse sulla connessione e selezionare Disconnetti.

È possibile visualizzare i dettagli di una connessione ibrida aggiunta all'app semplicemente selezionandola.

Screenshot of Hybrid connections details.

Creare una connessione ibrida nel portale del Servizio di inoltro di Azure

Oltre all'esperienza del portale offerta all'interno dell'app, è possibile creare connessioni ibride all'interno del portale del Servizio di inoltro di Azure. Affinché una connessione ibrida possa essere usata dal Servizio app, deve:

  • Richiedere l'autorizzazione client.
  • Avere un elemento di metadati e un endpoint denominato che contiene una combinazione host:port come valore.

Connessioni ibride e piani di servizio app

Le connessioni ibride del servizio app sono disponibili solo per gli SKU con piano tariffario Basic, Standard, Premium e Isolato. Le Connessione ibride non sono disponibili per le app per le funzioni nei piani a consumo. Esistono limiti legati al piano tariffario.

Piano tariffario Numero di connessioni ibride a disposizione nel piano
Di base 5 per piano
Standard 25 per piano
Premium (v1-v3) 220 per app
Isolato (v1-v2) 220 per app

L'interfaccia utente del piano di servizio app mostra quante connessioni ibride sono in uso e da parte di quali app.

Screenshot of App Service plan properties.

Selezionare la connessione ibrida per visualizzarne i dettagli. È possibile vedere tutte le informazioni disponibili nella visualizzazione dell'app, oltre al numero di app nello stesso piano che usano la connessione ibrida selezionata.

Esiste un limite per il numero di endpoint di Connessione ibrida che possono essere usati in un piano di servizio app. Tuttavia, ogni connessione ibrida usata può essere associata a un numero qualsiasi di app nel piano di servizio app specifico. Ad esempio, una singola connessione ibrida usata in cinque app distinte in un piano di servizio app viene conteggiata come una connessione ibrida.

Prezzi

Oltre a un requisito di SKU del piano servizio app, è previsto un costo aggiuntivo per l'uso di Connessione ibride. È previsto un addebito per ogni listener usato da un Connessione ibrido. Il listener è l'agente Gestione connessione ibrida. Cinque connessioni ibride supportate da due agenti Gestione connessione ibrida equivalgono a dieci listener. Per altre informazioni, vedere Prezzi del bus di servizio.

Gestione connessione ibrida

La funzionalità Connessioni ibride richiede un agente di inoltro nella rete che ospita l'endpoint della connessione ibrida. L'agente di inoltro viene chiamato Gestione connessione ibrida. Per scaricare Gestione connessione ibrida, dall'app nel portale di Azure selezionare Rete>Configurare gli endpoint della connessione ibrida.

Questo strumento viene eseguito in Windows Server 2012 e versioni successive. Gestione connessione ibrida viene eseguito come servizio e si connette in uscita a Inoltro di Azure sulla porta 443.

Dopo avere installato Gestione connessione ibrida, è possibile eseguire HybridConnectionManagerUi.exe per usare l'interfaccia utente per lo strumento. Questo file è contenuto nella directory di installazione di Gestione connessione ibrida. In Windows 10 è sufficiente digitare interfaccia utente Gestione connessione ibrida nella casella di ricerca.

Screenshot of Hybrid Connection Manager.

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. Per apportare eventuali modifiche, eseguire prima l'autenticazione con Azure.

Per aggiungere una o più connessioni ibride a Gestione connessione ibrida:

  1. Avviare l'interfaccia utente di Gestione connessione ibrida.

  2. Selezionare Aggiungi una nuova Connessione ibrida. Screenshot of Configure New Hybrid Connections.

  3. Accedere con l'account Azure per ottenere le Connessione ibride disponibili con le sottoscrizioni. Gestione connessione ibrida non continua a usare l'account Azure oltre questo passaggio.

  4. Scegliere una sottoscrizione.

  5. Selezionare le connessioni ibride che si vuole vengano inoltrate tramite Gestione connessione ibrida. Screenshot of Hybrid Connections.

  6. Seleziona Salva.

Ora è possibile visualizzare le connessioni ibride che sono state aggiunte. È anche possibile selezionare la connessione ibrida configurata per visualizzarne i dettagli.

Screenshot of Hybrid Connection Details.

Per supportare le Connessione ibride con cui è configurato, HCM richiede:

  • Accesso TCP ad Azure sulla porta 443.
  • Accesso TCP all'endpoint della connessione ibrida.
  • Possibilità di eseguire ricerche DNS nell'host endpoint e nello spazio dei nomi del bus di servizio. In altre parole, il nome host nella connessione di inoltro di Azure deve essere risolvibile dal computer che ospita HCM.

Nota

Il servizio di inoltro di Azure si affida a WebSocket per la connettività. Questa funzionalità è disponibile solo in Windows Server 2012 e versioni successive. Per questo motivo, Gestione connessione ibrida non è supportato nelle versioni precedenti a Windows Server 2012.

Ridondanza

Ogni istanza di Gestione connessione ibrida può supportare più connessioni ibride. Ogni connessione ibrida specificata può anche essere supportata da più istanze di Gestione connessione ibrida. Il comportamento predefinito consiste nell'indirizzare il traffico tra le istanze configurate di Gestione connessione ibrida per un endpoint specificato. Se si intende usufruire della disponibilità elevata nelle connessioni ibride dalla rete, eseguire più istanze di Gestione connessione ibrida in computer separati. L'algoritmo di distribuzione del carico usato dal servizio Inoltro per distribuire il traffico agli agenti Gestione connessione ibrida prevede un'assegnazione casuale.

Aggiungere manualmente una connessione ibrida

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. La stringa di connessione gateway è visibile nelle proprietà della connessione ibrida nel portale di Azure. Per usare tale stringa, selezionare Immetti manualmente in Gestione connessione ibrida e incollare la stringa di connessione gateway.

Manually add a Hybrid Connection.

Aggiornamento

A Gestione connessione ibrida vengono apportati aggiornamenti periodici per correggere errori o aggiungere miglioramenti. Quando vengono rilasciati gli aggiornamenti, viene visualizzato un popup nell'interfaccia utente di HCM. L'applicazione dell'aggiornamento applica le modifiche e riavvia gestione connessione ibrida.

Aggiunta di una connessione ibrida all'app a livello di codice

È disponibile il supporto dell'interfaccia della riga di comando di Azure per le Connessione ibride. I comandi forniti operano sia a livello di app che di piano servizio app. I comandi a livello di app sono:

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.

I comandi di piano servizio app consentono di impostare la chiave usata da una determinata connessione ibrida. In ogni Connessione ibrida sono impostate due chiavi, una primaria e una secondaria. È possibile scegliere di usare la chiave primaria o secondaria con i comandi seguenti. Questa opzione consente di cambiare i tasti per quando si desidera rigenerare periodicamente le chiavi.

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.

Proteggere le Connessione ibride

Un Connessione ibrido esistente può essere aggiunto ad altri servizio app App Web da qualsiasi utente che dispone di autorizzazioni sufficienti per l'inoltro bus di servizio di Azure sottostante. Ciò significa che se è necessario impedire ad altri utenti di riutilizzare lo stesso Connessione ibrido ,ad esempio quando la risorsa di destinazione è un servizio che non dispone di altre misure di sicurezza per impedire l'accesso non autorizzato, è necessario bloccare l'accesso all'inoltro bus di servizio di Azure.

Chiunque abbia Reader accesso all'inoltro è in grado di visualizzare l'Connessione ibrida quando tenta di aggiungerlo all'app Web nella portale di Azure, ma non può aggiungerlo perché non dispone delle autorizzazioni per recuperare il stringa di connessione usato per stabilire la connessione di inoltro. Per aggiungere correttamente il Connessione ibrido, è necessario disporre dell'autorizzazione listKeys (Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action). Il Contributor ruolo o qualsiasi altro ruolo che include questa autorizzazione per l'inoltro consente agli utenti di usare il Connessione ibrido e aggiungerlo al proprio App Web.

Gestire le Connessione ibride

Se è necessario modificare l'host o la porta dell'endpoint per un Connessione ibrido, seguire questa procedura:

  1. Rimuovere il Connessione ibrido dal Gestione connessione ibrida nel computer locale selezionando la connessione e selezionando Rimuovi nella parte superiore sinistra della finestra Dettagli Connessione ion ibrido.
  2. Disconnettere il Connessione ibrido dal servizio app passando a Connessione ibride nella pagina Rete di servizio app.
  3. Passare all'inoltro per l'endpoint che è necessario aggiornare e selezionare Connessione ibride in Entità nel menu di spostamento a sinistra.
  4. Selezionare la Connessione ibrida da aggiornare e selezionare Proprietà in Impostazioni nel menu di spostamento a sinistra.
  5. Apportare le modifiche e premere Salva modifiche nella parte superiore.
  6. Tornare alle impostazioni Connessione ibride per il servizio app e aggiungere di nuovo il Connessione ibrido. Verificare che l'endpoint venga aggiornato come previsto. Se l'Connessione ibrida non viene visualizzata nell'elenco, aggiornare in 5-10 minuti.
  7. Tornare al Gestione connessione ibrida nel computer locale e aggiungere di nuovo la connessione.

Risoluzione dei problemi

Lo stato "Connesso" indica che almeno un'istanza di Gestione connessione ibrida è configurata con quella specifica connessione ed è in grado di raggiungere Azure. Se lo stato dell'Connessione ibrida non è Connessione ed, l'Connessione ibrida non è configurata in qualsiasi HCM che abbia accesso ad Azure. Quando gestione connessione ibrida mostra Non Connessione ed, è necessario controllare alcuni aspetti:

  • L'host ha accesso in uscita ad Azure sulla porta 443? È possibile eseguire il test dall'host HCM usando il comando PowerShell Test-Net Connessione ion Destination -P Port

  • HCM è potenzialmente in uno stato non valido? Provare a riavviare il servizio locale "Servizio azure Gestione connessione ibrida".

  • Il software in conflitto è installato? Gestione connessione ibrida non possono coesistere con Gestione connessione ibrida Biztalk o bus di servizio per Windows Server. Quando si installa HCM, tutte le versioni di questi pacchetti devono essere rimosse per prime.

  • È disponibile un firewall tra l'host HCM e Azure? In tal caso, è necessario consentire l'accesso in uscita sia all'URL dell'endpoint bus di servizio che ai gateway bus di servizio che servono il Connessione ibrido.

    • È possibile trovare l'URL dell'endpoint bus di servizio nell'interfaccia utente di Gestione connessione ibrida.

    Screenshot of Hybrid Connection Service Bus endpoint.

    • I gateway bus di servizio sono le risorse che accettano la richiesta nell'Connessione ibrida e passano attraverso l'inoltro di Azure. È necessario consentire l'elenco di tutti i 128 gateway. I gateway sono nel formato G#-prod-[stamp]-sb.servicebus.windows.net dove "#" è un numero compreso tra 0 e 127 e "stamp" è il nome dell'istanza all'interno del data center di Azure in cui esiste l'endpoint bus di servizio.
      • Se è possibile usare un carattere jolly, è possibile consentire l'elenco "*.servicebus.windows.net".

      • Se non è possibile usare un carattere jolly, è necessario consentire tutti i 128 gateway.

        È possibile trovare il timbro usando "nslookup" nell'URL dell'endpoint bus di servizio.

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

        In questo esempio il timbro è "sn3-010". Per consentire l'elenco dei gateway bus di servizio, sono necessarie le voci seguenti:

        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

Se lo stato indica Connessione ma l'app non riesce a raggiungere l'endpoint, allora:

  • Assicurarsi di usare un nome DNS nella Connessione ibrida. Se si usa un indirizzo IP, la ricerca DNS client richiesta potrebbe non verificarsi. Se il client in esecuzione nell'app Web non esegue una ricerca DNS, la Connessione ibrida non funziona.
  • Verificare che il nome DNS usato nell'Connessione ibrida possa essere risolto dall'host HCM. Controllare la risoluzione usando nslookup EndpointDNSname dove EndpointDNSname è una corrispondenza esatta a ciò che viene usato nella definizione di Connessione ion ibrido.
  • Testare l'accesso dall'host HCM all'endpoint usando il comando PowerShell Test-Net Connessione ion EndpointDNSname -P Port Se non è possibile raggiungere l'endpoint dall'host HCM, controllare i firewall tra i due host, inclusi tutti i firewall basati su host nell'host di destinazione.
  • Se si usa servizio app in Linux, assicurarsi di non usare "localhost" come host endpoint. Usare invece il nome del computer se si sta provando a creare una connessione con una risorsa nel computer locale.

In servizio app, lo strumento da riga di comando tcpping può essere richiamato dalla console strumenti avanzati (Kudu). Questo strumento può indicare se si ha accesso a un endpoint TCP, ma non indica se si ha accesso a un endpoint di Connessione ion ibrido. Quando si usa lo strumento nella console per un endpoint ibrido Connessione ion, si sta solo confermando che usa una combinazione host:port.

Se si dispone di un client da riga di comando per l'endpoint, è possibile testare la connettività dalla console dell'app. Ad esempio, è possibile testare l'accesso agli endpoint server Web usando curl.