Comprendere i connettori del proxy applicazione Azure ADUnderstand Azure AD Application Proxy connectors

I connettori sono ciò che rende possibile il proxy di applicazione di Azure AD.Connectors are what make Azure AD Application Proxy possible. Sono semplici, estremamente potenti e facile da distribuire e gestire.They are simple, easy to deploy and maintain, and super powerful. Questo articolo illustra i connettori, il loro funzionamento e alcune procedure consigliate per ottimizzare al meglio la distribuzione.This article discusses what connectors are, how they work, and some suggestions for how to optimize your deployment.

Informazioni su un connettore proxy di applicazioneWhat is an Application Proxy connector?

I connettori sono agenti semplici che si trovano a livello locale e facilitano la connessione in uscita al servizio proxy di applicazione.Connectors are lightweight agents that sit on-premises and facilitate the outbound connection to the Application Proxy service. I connettori devono essere installati su un server Windows dotato di accesso all'applicazione back-end.Connectors must be installed on a Windows Server that has access to the backend application. È possibile organizzare i connettori in gruppi di connettori, con ogni gruppo che gestisce il traffico per applicazioni specifiche.You can organize connectors into connector groups, with each group handling traffic to specific applications. I connettori eseguono automaticamente il bilanciamento del carico e consentono di ottimizzare la struttura di rete.Connectors load-balance automatically, and can help to optimize your network structure.

Requisiti e distribuzioneRequirements and deployment

Per distribuire correttamente il proxy di applicazione, è necessario almeno un connettore, ma sono consigliati due o più connettori per assicurare maggiore resilienza.To deploy Application Proxy successfully, you need at least one connector, but we recommend two or more for greater resiliency. Installare il connettore in computer con Windows Server 2012 R2 o 2016.Install the connector on a Windows Server 2012 R2 or 2016 machine. Il connettore deve poter comunicare con il servizio proxy di applicazione e con le applicazioni locali che vengono pubblicate.The connector needs to be able to communicate with the Application Proxy service as well as the on-premises applications that you publish.

Per ulteriori informazioni sui requisiti di rete per il server del connettore, vedere Introduzione al proxy dell'applicazione e installazione di un connettore.For more information about the network requirements for the connector server, see Get started with Application Proxy and install a connector.

Manutenzione Maintenance

I connettori e il servizio si occupano di tutte le attività che richiedono disponibilità elevata.The connectors and the service take care of all the high availability tasks. Possono essere aggiunti o rimossi in modo dinamico.They can be added or removed dynamically. Ogni volta che arriva una nuova richiesta, questa viene indirizzata a uno dei connettori attualmente disponibili.Each time a new request arrives it is routed to one of the connectors that is currently available. Se un connettore è temporaneamente non disponibile, non risponde a questo traffico.If a connector is temporarily not available, it doesn't respond to this traffic.

I connettori sono senza stato e senza dati di configurazione nel computer.The connectors are stateless and have no configuration data on the machine. Gli unici dati che archiviano sono le impostazioni per la connessione del servizio e il relativo certificato di autenticazione.The only data they store is the settings for connecting the service and its authentication certificate. Quando si connettono al servizio, eseguono il pull di tutti i dati di configurazione necessari e li aggiornano ogni due minuti.When they connect to the service, they pull all the required configuration data and refresh it every couple of minutes.

I connettori eseguono inoltre il polling del server per verificare se è disponibile una versione più recente del connettore.Connectors also poll the server to find out whether there is a newer version of the connector. Se ne viene individuata una, i connettori vengono aggiornati.If one is found, the connectors update themselves.

È possibile monitorare i connettori dal computer in cui vengono eseguiti usando il registro eventi e i contatori delle prestazioni.You can monitor your connectors from the machine they are running on, using either the event log and performance counters. In alternativa è possibile vedere lo stato dalla pagina del proxy di applicazione del portale di Azure:Or you can view their status from the Application Proxy page of the Azure portal:

Connettori del proxy applicazione AzureAD

Non è necessario eliminare manualmente i connettori che non vengono usati.You don't have to manually delete connectors that are unused. Quando un connettore è in esecuzione, rimane attivo quando si connette al servizio.When a connector is running, it remains active as it connects to the service. I connettori inutilizzati vengono contrassegnati come inattivi e vengono rimossi dopo 10 giorni di inattività.Unused connectors are tagged as inactive and are removed after 10 days of inactivity. Per disinstallare un connettore, disinstallare sia il servizio connettore che il servizio di aggiornamento dal server.If you do want to uninstall a connector, though, uninstall both the Connector service and the Updater service from the server. Riavviare il computer per rimuovere completamente il servizio.Restart your computer to fully remove the service.

Aggiornamenti automaticiAutomatic updates

Azure AD offre aggiornamenti automatici per tutti i connettori da distribuire.Azure AD provides automatic updates for all the connectors that you deploy. Fino a quando il servizio di aggiornamento del connettore proxy di applicazione è in esecuzione, i connettori vengono aggiornati automaticamente.As long as the Application Proxy Connector Updater service is running, your connectors update automatically. Se non viene visualizzato il servizio di aggiornamento del connettore nel server, è necessario reinstallare il connettore per ottenere gli aggiornamenti.If you don’t see the Connector Updater service on your server, you need to reinstall your connector to get any updates.

Se non si vuole attendere l'aggiornamento automatico del connettore, è possibile eseguire un aggiornamento manuale.If you don't want to wait for an automatic update to come to your connector, you can perform a manual upgrade. Passare alla pagina di download del connettore nel server in cui si trova il connettore e selezionare Download.Go to the connector download page on the server where your connector is located and select Download. Grazie a questo processo viene avviato un aggiornamento del connettore locale.This process kicks off an upgrade for the local connector.

In caso di tenant con più connettori, gli aggiornamenti automatici vengono applicati a un connettore per volta in ogni gruppo, al fine di evitare tempo di inattività nell'ambiente in uso.For tenants with multiple connectors, the automatic updates target one connector at a time in each group to prevent downtime in your environment.

Potrebbero verificarsi tempi di inattività quando viene aggiornato il connettore se:You may experience downtime when your connector updates if:

  • Si ha un solo connettore.You only have one connector. Per evitare questo periodo di inattività e migliorare la disponibilità elevata, è consigliabile installare un altro connettore e creare un gruppo di connettori.To avoid this downtime and improve high availability, we recommend you install a second connector and create a connector group.
  • Un connettore si trovava nel mezzo di una transazione quando è iniziato l'aggiornamento.A connector was in the middle of a transaction when the update began. Anche se la transazione iniziale viene persa, il browser dovrebbe ripetere automaticamente l'operazione. In caso contrario, è possibile aggiornare la pagina.Although the initial transaction is lost, your browser should automatically retry the operation or you can refresh your page. Quando la richiesta viene inviata di nuovo, il traffico viene indirizzato a un connettore di backup.When the request is resent, the traffic is routed to a backup connector.

Creazione di gruppi di connettoriCreating connector groups

I gruppi di connettori consentono di assegnare connettori specifici per gestire applicazioni specifiche.Connector groups enable you to assign specific connectors to serve specific applications. È possibile raggruppare una serie di connettori e quindi assegnare ogni applicazione a un gruppo.You can group a number of connectors together, and then assign each application to a group.

I gruppi di connettori rendono più semplice gestire le distribuzioni di grandi dimensioni.Connector groups make it easier to manage large deployments. Migliorano inoltre la latenza per i tenant che dispongono di applicazioni ospitate in diverse aree geografiche, poiché è possibile creare gruppi di connettori basati sulla posizione per gestire solo le applicazioni in locale.They also improve latency for tenants that have applications hosted in different regions, because you can create location-based connector groups to serve only local applications.

Per altre informazioni sui gruppi di connettori, vedere Pubblicare applicazioni in reti e posizioni separate tramite i gruppi di connettori.To learn more about connector groups, see Publish applications on separate networks and locations using connector groups.

Capacity PlanningCapacity Planning

Sebbene i connettori bilanceranno automaticamente il carico all'interno di un gruppo di connettori, è anche importante assicurarsi di aver pianificato la capacità sufficiente tra i connettori per gestire il volume di traffico previsto.While connectors will automatically load balance within a connector group, it is also important to make sure you have planned enough capacity between connectors to handle the expected traffic volume. In generale, più utenti si hanno, più sarà grande il computer necessario.In general, the more users you have, the larger a machine you will need. La tabella qui di seguito fornisce una descrizione dei volumi che possono gestire diversi computer.Below is a table giving an outline of the volume different machines can handle. Si noti che tutto è basato sulle transazioni al secondo (TPS) previste e non sugli utenti poiché i modelli di utilizzo variano e non possono essere usati per stimare il carico.Please note it is all based on expected Transactions Per Second (TPS) rather than by user since usage patterns vary and cannot be used to predict load. Si noti inoltre che vi sono alcune differenze in base alla dimensione delle risposte e al tempo di risposta dell'applicazione back-end. Dimensioni di risposta più grandi e tempi di risposta più lenti comporteranno un numero massimo di TPS inferiore.Also note that there will be some differences based on the size of the responses and the backend application response time - larger response sizes and slower response times will result in a lower Max TPS.

CoreCores RAMRAM Latenza prevista (MS)-P99Expected Latency (MS)-P99 Numero massimo di TPSMax TPS
22 88 325325 586586
44 1616 320320 11501150
88 3232 270270 11901190
1616 6464 245245 12001200

* Questo computer ha un limite di connessione di 800.* This machine had a connection limit of 800. Per tutti gli altri computer è stato usato il limite di connessione predefinito di 200.For all other machines we used the default 200 connection limit.

Nota

Non c'è molta differenza nel numero massimo di TPS tra computer Core 4, 8 e 16.There is not much difference in the maximum TPS between 4, 8, and 16 core machines. La differenza principale è la latenza prevista.The main difference between those is in the expected latency.

Sicurezza e reteSecurity and networking

I connettori possono essere installati in qualsiasi punto della rete che consenta loro di inviare richieste al servizio proxy dell'applicazione.Connectors can be installed anywhere on the network that allows them to send requests to the Application Proxy service. È importante che il computer che esegue il connettore abbia anche accesso alle app.What's important is that the computer running the connector also has access to your apps. È possibile installare i connettori all'interno della rete aziendale o in una macchina virtuale che viene eseguita nel cloud.You can install connectors inside of your corporate network or on a virtual machine that runs in the cloud. I connettori possono essere eseguiti in una zona demilitarizzata (DMZ), ma non è necessario poiché tutto il traffico è in uscita, in modo che la rete è protetta.Connectors can run within a demilitarized zone (DMZ), but it's not necessary because all traffic is outbound so your network stays secure.

I connettori inviano le richieste soltanto in uscita.Connectors only send outbound requests. Il traffico in uscita viene inviato al servizio proxy applicazione e alle applicazioni pubblicate.The outbound traffic is sent to the Application Proxy service and to the published applications. Non è necessario aprire porte in ingresso perché il traffico scorre in entrambe le direzioni, dopo aver stabilito una sessione.You don't have to open inbound ports because traffic flows both ways once a session is established. Non è necessario configurare il bilanciamento del carico tra i connettori o configurare l'accesso in ingresso attraverso firewall.You don't have to set up load balancing between the connectors or configure inbound access through your firewalls.

Per maggiori informazioni sulla configurazione delle regole del firewall in uscita, vedere Usare server proxy locali esistenti.For more information about configuring outbound firewall rules, see Work with existing on-premises proxy servers.

Usare lo strumento per il test delle porte del connettore Proxy di applicazione Azure AD per verificare che il connettore possa raggiungere il servizio Proxy di applicazione.Use the Azure AD Application Proxy Connector Ports Test Tool to verify that your connector can reach the Application Proxy service. Assicurarsi almeno che l'area Stati Uniti centrali e l'area più vicina all'utente abbiano segni di spunta verdi.At a minimum, make sure that the Central US region and the region closest to you have all green checkmarks. Tuttavia, la presenza di più segni di spunta verde indica una maggiore resilienza.Beyond that, more green checkmarks means greater resiliency.

Prestazioni e scalabilitàPerformance and scalability

Anche se la scalabilità per il servizio proxy di applicazione è trasparente, è comunque un fattore per i connettori.Scale for the Application Proxy service is transparent, but scale is a factor for connectors. È necessario disporre di connettori sufficienti per gestire il traffico di picco.You need to have enough connectors to handle peak traffic. Tuttavia, non è necessario configurare il bilanciamento del carico perché tutti i connettori all'interno di un gruppo di connettori eseguono automaticamente il bilanciamento del carico.However, you don't need to configure load balancing because all connectors within a connector group automatically load balance.

Poiché i connettori sono senza stato, non vengono influenzati dal numero di utenti o sessioni.Since connectors are stateless, they are not affected by the number of users or sessions. Dipendono invece dal numero di richieste e dalle dimensioni del payload.Instead, they respond to the number of requests and their payload size. In un traffico Web standard, un computer medio può gestire circa duemila richieste al secondo.With standard web traffic, an average machine can handle a couple thousand requests per second. La capacità specifica dipende dalle esatte caratteristiche del computer.The specific capacity depends on the exact machine characteristics.

Le prestazioni del connettore sono legate alla CPU e alla rete.The connector performance is bound by CPU and networking. Le prestazioni della CPU sono necessarie per la crittografia SSL e la decrittografia, mentre la rete è fondamentale per una connettività veloce alle applicazioni e al servizio online in Azure.CPU performance is needed for SSL encryption and decryption, while networking is important to get fast connectivity to the applications and the online service in Azure.

La memoria, al contrario, ha meno importanza per i connettori.In contrast, memory is less of an issue for connectors. Il servizio online si occupa di gran parte dell'elaborazione e di tutto il traffico non autenticato.The online service takes care of much of the processing and all unauthenticated traffic. Tutto ciò che può essere fatto nel cloud viene fatto nel cloud.Everything that can be done in the cloud is done in the cloud.

Il bilanciamento del carico si verifica tra i connettori di un determinato gruppo di connettori.The load balancing happens between connectors of a given connector group. Viene fatta una variazione round-robin per determinare il connettore del gruppo che serve una particolare richiesta.We do a variation of a round-robin to determine which connector in the group serves a particular request. Dopo aver scelto un connettore, si mantiene un'affinità di sessione tra l'utente e l'applicazione per la durata della sessione.After choosing a the connector, we maintain a session affinity between that user and application for the duration of the session. Se per qualsiasi motivo il connettore o il computer non sono più disponibili, il traffico inizierà ad andare su un altro connettore del gruppo.If for any reason that connector or machine become unavailable, the traffic will start going to another connector in the group. Questa resilienza esiste anche perché si consiglia di avere più connettori.This resiliency is also why we recommend having multiple connectors.

Un altro fattore che influenza le prestazioni è la qualità della connessione di rete tra i connettori, inclusi:Another factor that affects performance is the quality of the networking between the connectors, including:

  • Il servizio online: connessioni lente o a elevata latenza al servizio proxy di applicazione in Azure influenzano le prestazioni del connettore.The online service: Slow or high-latency connections to the Application Proxy service in Azure influence the connector performance. Per ottenere prestazioni ottimali, connettere l'organizzazione ad Azure con Express Route.For the best performance, connect your organization to Azure with Express Route. In caso contrario, assicurarsi che il team di rete garantisca una gestione il più possibile efficiente delle connessioni ad Azure.Otherwise, have your networking team ensure that connections to Azure are handled as efficiently as possible.
  • Applicazioni back-end: in alcuni casi ci sono altri proxy tra il connettore e le applicazioni back-end che possono rallentare o impedire la connessione.The backend applications: In some cases, there are additional proxies between the connector and the backend applications that can slow or prevent connections. Per risolvere questo scenario, aprire un browser dal server del connettore e tentare di accedere all'applicazione.To troubleshoot this scenario, open a browser from the connector server and try to access the application. Se si eseguono i connettori in Azure, ma le applicazioni sono locali, l'esperienza degli utenti potrebbe essere diversa da quella prevista.If you run the connectors in Azure but the applications are on-premises, the experience might not be what your users expect.
  • I controller di dominio: se i connettori eseguono l'accesso SSO mediante la delega vincolata Kerberos, essi contattano i controller di dominio prima di inviare la richiesta al back-end.The domain controllers: If the connectors perform SSO using Kerberos Constrained Delegation, they contact the domain controllers before sending the request to the backend. I connettori hanno una cache dei ticket Kerberos, ma in ambienti affollati la velocità di risposta dei controller di dominio può influenzare le prestazioni.The connectors have a cache of Kerberos tickets, but in a busy environment the responsiveness of the domain controllers can affect performance. Questa situazione è più comune per i connettori eseguiti in Azure, ma che comunicano con i controller di dominio locali.This issue is more common for connectors that run in Azure but communicate with domain controllers that are on-premises.

Per maggiori informazioni sull'ottimizzazione della rete, vedere Considerazioni relative alla topologia di rete quando si usa il proxy di applicazione di Azure Active Directory.For more information about optimizing your network, see Network topology considerations when using Azure Active Directory Application Proxy.

Aggiunta al dominioDomain joining

I connettori possono essere eseguiti in un computer che non fa parte del dominio.Connectors can run on a machine that is not domain-joined. È necessario tuttavia un computer appartenente al dominio se si sceglie di implementare un accesso Single Sign-On (SSO) per le applicazioni che usano l'autenticazione integrata di Windows (IWA).However, if you want single sign-on (SSO) to applications that use Integrated Windows Authentication (IWA), you need a domain-joined machine. In questo caso i computer di connessione devono appartenere a un dominio che può eseguire la delega vincolata Kerberos per conto degli utenti per le applicazioni pubblicate.In this case, the connector machines must be joined to a domain that can perform Kerberos Constrained Delegation on behalf of the users for the published applications.

I connettori possono anche essere aggiunti a domini o foreste con attendibilità parziale o a controller di dominio di sola lettura.Connectors can also be joined to domains or forests that have a partial trust, or to read-only domain controllers.

Distribuzione dei connettori in ambienti protettiConnector deployments on hardened environments

Nella maggior parte dei casi la distribuzione dei connettori è molto semplice e non richiede una configurazione speciale.Usually, connector deployment is straightforward and requires no special configuration. Esistono tuttavia alcune condizioni specifiche che devono essere considerate:However, there are some unique conditions that should be considered:

  • Le organizzazioni che limitano il traffico in uscita devono aprire le porte necessarie.Organizations that limit the outbound traffic must open required ports.
  • Per i computer conformi FIPS potrebbe essere necessario modificare la configurazione per consentire ai processi connettore di generare e archiviare un certificato.FIPS-compliant machines might be required to change their configuration to allow the connector processes to generate and store a certificate.
  • Le organizzazioni, che bloccano il proprio ambiente in base ai processi che inviano le richieste di rete, devono assicurarsi che siano abilitati entrambi i servizi connettore per accedere a tutte le porte e agli indirizzi IP necessari.Organizations that lock down their environment based on the processes that issue the networking requests have to make sure that both connector services are enabled to access all required ports and IPs.
  • In alcuni casi il proxy di inoltro in uscita può interrompere l'autenticazione bidirezionale con certificato e non consentire la comunicazione.In some cases, outbound forward proxies may break the two-way certificate authentication and cause the communication to fail.

Autenticazione del connettoreConnector authentication

Per garantire un servizio sicuro, i connettori devono eseguire l'autenticazione verso il servizio e il servizio deve eseguire l'autenticazione verso il connettore.To provide a secure service, connectors have to authenticate toward the service, and the service has to authenticate toward the connector. Questa autenticazione viene eseguita usando i certificati client e server quando i connettori avviano la connessione.This authentication is done using client and server certificates when the connectors initiate the connection. In questo modo il nome utente e la password dell'amministratore non sono archiviati sul computer di connessione.This way the administrator’s username and password are not stored on the connector machine.

I certificati utilizzati sono specifici per il servizio proxy applicazione.The certificates used are specific to the Application Proxy service. Vengono creati durante la registrazione iniziale e rinnovati automaticamente dai connettori ogni due mesi.They get created during the initial registration and are automatically renewed by the connectors every couple of months.

Se un connettore non viene connesso al servizio per molti mesi, i relativi certificati potrebbero non essere più aggiornati.If a connector is not connected to the service for several months, its certificates may be outdated. In questo caso, disinstallare e reinstallare il connettore per attivare la registrazione.In this case, uninstall and reinstall the connector to trigger registration. È possibile eseguire i seguenti comandi di PowerShell:You can run the following PowerShell commands:

Import-module AppProxyPSModule
Register-AppProxyConnector

Dietro le quinteUnder the hood

I connettori sono basati su proxy di applicazione Web di Windows Server, per cui condividono la maggior parte degli strumenti di gestione, inclusi i registri eventi di WindowsConnectors are based on Windows Server Web Application Proxy, so they have most of the same management tools including Windows Event Logs

Gestire i registri eventi con il Visualizzatore eventi

e con i contatori delle prestazioni di Windows.and Windows performance counters.

Aggiungere contatori al connettore con Performance Monitor

I connettori hanno sia log di amministrazione che log di sessione.The connectors have both admin and session logs. I log di amministrazione includono gli eventi principali e i relativi errori.The admin logs include key events and their errors. I log di sessione includono tutte le transazioni e i relativi dettagli di elaborazione.The session logs include all the transactions and their processing details.

Per visualizzare i registri, passare al Visualizzatore eventi, aprire il menu Visualizza e abilitare Visualizza registri analitici e di debug.To see the logs, go to the Event Viewer, open the View menu, and enable Show analytic and debug logs. È necessario abilitarli per avviare la raccolta degli eventi.Then, enable them to start collecting events. Questi log non appaiono nel proxy applicazione Web in Windows Server 2012 R2, in quanto i connettori sono basati su una versione più recente.These logs do not appear in Web Application Proxy in Windows Server 2012 R2, as the connectors are based on a more recent version.

È possibile esaminare lo stato del servizio nella finestra Servizi.You can examine the state of the service in the Services window. Il connettore è costituito da due servizi di Windows, ovvero il connettore stesso e il programma di aggiornamento.The connector comprises two Windows Services: the actual connector, and the updater. Entrambi devono essere eseguiti costantemente.Both of them must run all the time.

Servizi Azure AD locali

Passaggi successiviNext steps