Risolvere i problemi di connettività delle applicazioni nelle macchine virtuali in Azure

Esistono vari motivi per cui non è possibile avviare o connettersi a un'applicazione in esecuzione in una macchina virtuale (VM) di Azure. I motivi includono l'applicazione non in esecuzione o in ascolto sulle porte previste, la porta in ascolto bloccata o le regole di rete che non trasferiscono correttamente il traffico all'applicazione. In questo articolo viene descritto un approccio metodico per individuare e correggere il problema.

Se riscontri problemi di connessione alla tua VM tramite RDP o SSH, consulta prima uno dei seguenti articoli:

Se si ha bisogno di ulteriore aiuto in qualsiasi punto di questo articolo, è possibile contattare gli esperti di Azure sui forum MSDN Azure e Stack Overflow. In alternativa, è possibile anche inviare un caso di supporto Azure. Vai al sito di supporto di Azure e seleziona Ottieni supporto.

Passaggi rapidi per la risoluzione dei problemi

In caso di problemi di connessione a un'applicazione, provare i seguenti passaggi generali per la risoluzione dei problemi. Dopo ogni passaggio, prova a connetterti nuovamente alla tua applicazione:

Per ulteriori informazioni, vedere Risoluzione dei problemi di connettività degli endpoint (errori RDP/SSH/HTTP, ecc.).

Panoramica dettagliata della risoluzione dei problemi

Esistono quattro aree principali per la risoluzione dei problemi di accesso di un'applicazione in esecuzione in una macchina virtuale di Azure.

                             Il diagramma mostra due dispositivi client connessi all'applicazione su una macchina virtuale rispettivamente tramite Internet e VPN. Sono evidenziate 4 aree principali per la risoluzione dei problemi di accesso.                                           

  1. L'applicazione in esecuzione nella macchina virtuale di Azure.
    • L'applicazione stessa funziona correttamente?
  2. La macchina virtuale di Azure.
    • La VM stessa funziona correttamente e risponde alle richieste?
  3. Endpoint di rete di Azure.
    • Endpoint del servizio cloud per macchine virtuali nel modello di distribuzione classico.
    • Gruppi di sicurezza di rete e regole NAT in ingresso per le macchine virtuali nel modello di distribuzione di Resource Manager.
    • Il traffico può fluire dagli utenti alla VM/applicazione sulle porte previste?
  4. Il tuo dispositivo perimetrale Internet.
    • Le regole del firewall impediscono il corretto flusso del traffico?

Per i computer client che accedono all'applicazione tramite una connessione VPN o ExpressRoute da sito a sito, le aree principali che possono causare problemi sono l'applicazione e la macchina virtuale di Azure.

Per determinare l'origine del problema e la sua correzione, attenersi alla seguente procedura.

Passaggio 1: accedere all'applicazione dalla macchina virtuale di destinazione

Prova ad accedere all'applicazione con il programma client appropriato dalla VM su cui è in esecuzione. Utilizzare il nome host locale, l'indirizzo IP locale o l'indirizzo di loopback (127.0.0.1).

                             Diagramma dell'accesso all'applicazione direttamente dalla VM in Azure VNet.                                           

Ad esempio, se l'applicazione è un server web, apri un browser sulla VM e prova ad accedere a una pagina web ospitata sulla VM.

Se riesci ad accedere all'applicazione, vai al Passaggio 2.

Se non riesci ad accedere all'applicazione, verifica le seguenti impostazioni:

  • L'applicazione è in esecuzione sulla macchina virtuale di destinazione.
  • L'applicazione è in ascolto sulle porte TCP e UDP previste.

Su entrambe le macchine virtuali basate su Windows e Linux, utilizzare il comando netstat -a per visualizzare le porte di ascolto attive. Esamina l'output per le porte previste su cui l'applicazione dovrebbe essere in ascolto. Riavviare l'applicazione o configurarla per utilizzare le porte previste in base alle esigenze e provare ad accedere nuovamente all'applicazione in locale.

Passaggio 2: accedere all'applicazione da un'altra macchina virtuale nella stessa rete virtuale

Provare ad accedere all'applicazione da una macchina virtuale diversa ma nella stessa rete virtuale, usando il nome host della macchina virtuale o l'indirizzo IP pubblico, privato o del provider assegnato da Azure. Per le macchine virtuali create utilizzando il modello di distribuzione classico, non utilizzare l'indirizzo IP pubblico del servizio cloud.

                             Diagramma dell'accesso all'applicazione direttamente da un'altra macchina virtuale nella stessa rete virtuale in Azure VNet.                                           

Ad esempio, se l'applicazione è un server Web, provare ad accedere a una pagina Web da un browser in una macchina virtuale diversa nella stessa rete virtuale.

Se riesci ad accedere all'applicazione, vai al Passaggio 3.

Se non riesci ad accedere all'applicazione, verifica le seguenti impostazioni:

  • Il firewall host nella macchina virtuale di destinazione consente il traffico di richiesta in ingresso e di risposta in uscita.
  • Il rilevamento delle intrusioni o il software di monitoraggio della rete in esecuzione sulla VM di destinazione sta consentendo il traffico.
  • Gli endpoint dei servizi cloud o i gruppi di sicurezza di rete consentono il traffico:
  • Un componente separato in esecuzione nella macchina virtuale nel percorso tra la macchina virtuale di test e la macchina virtuale, ad esempio un bilanciamento del carico o un firewall, consente il traffico.

In una macchina virtuale basata su Windows usare Windows Firewall con sicurezza avanzata per determinare se le regole del firewall escludono il traffico in entrata e in uscita dell'applicazione.

Passaggio 3: accedere all'applicazione dall'esterno della rete virtuale

Provare ad accedere all'applicazione da un computer esterno alla rete virtuale come la VM su cui è in esecuzione l'applicazione. Utilizzare una rete diversa come computer client originale.

                             Diagramma dell'accesso all'applicazione da un computer esterno alla rete virtuale.                                           

Ad esempio, se l'applicazione è un server Web, provare ad accedere alla pagina Web da un browser in esecuzione su un computer che non si trova nella rete virtuale.

Se non riesci ad accedere all'applicazione, verifica le seguenti impostazioni:

  • Per le macchine virtuali create utilizzando il modello di distribuzione classico:

    • Verificare che la configurazione dell'endpoint per la macchina virtuale consenta il traffico in entrata, in particolare il protocollo (TCP o UDP) e i numeri di porta pubblica e privata.
    • Verificare che gli elenchi di controllo di accesso (ACL) sull'endpoint non impediscano il traffico in entrata da Internet.
    • Per ulteriori informazioni, vedere Come configurare gli endpoint su una macchina virtuale.
  • Per le macchine virtuali create utilizzando il modello di distribuzione di Resource Manager:

    • Verificare che la configurazione della regola NAT in entrata per la macchina virtuale consenta il traffico in entrata, in particolare il protocollo (TCP o UDP) e i numeri di porta pubblica e privata.
    • Verificare che i gruppi di sicurezza di rete consentano la richiesta in ingresso e il traffico di risposta in uscita.
    • Per ulteriori informazioni, vedere Che cos'è un gruppo di sicurezza di rete?

Se la macchina virtuale o l'endpoint è un membro di un set con bilanciamento del carico:

  • Verificare che il protocollo della sonda (TCP o UDP) e il numero di porta siano corretti.
  • Se il protocollo e la porta probe sono diversi dal protocollo e dalla porta impostati per il bilanciamento del carico:
    • Verificare che l'applicazione sia in ascolto sul protocollo del probe (TCP o UDP) e sul numero di porta (utilizzare netstat –a sulla macchina virtuale di destinazione).
    • Verificare che il firewall dell'host sulla macchina virtuale di destinazione consenta il traffico della richiesta di probe in entrata e della risposta di probe in uscita.

Se si riesce ad accedere all'applicazione, verificare che il dispositivo Internet edge lo consenta:

  • L'applicazione in uscita richiede il traffico dal computer client alla macchina virtuale di Azure.
  • Il traffico di risposta dell'applicazione in ingresso dalla macchina virtuale di Azure.

Passaggio 4 Se non è possibile accedere all'applicazione, utilizzare Verifica IP per verificare le impostazioni

Per ulteriori informazioni, vedere Panoramica del monitoraggio della rete di Azure.

Risorse aggiuntive

              Risolvere i problemi delle connessioni Desktop remoto a una macchina virtuale di Azure basata su Windows

Risolvere i problemi relativi alle connessioni Secure Shell (SSH) a una macchina virtuale di Azure basata su Linux

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.