Condividi tramite


Risolvere i problemi di connettività - Griglia di eventi di Azure

Sono diversi i motivi per cui le applicazioni client non riescono a connettersi a dominio o argomento di Griglia di eventi. I problemi di connettività che si verificano possono essere permanenti o temporanei. Se il problema si verifica sempre (permanente), è possibile controllare le impostazioni del firewall dell'organizzazione, le impostazioni del firewall IP, i tag del servizio, gli endpoint privati e altro ancora. Per i problemi temporanei, l'esecuzione di comandi per controllare i pacchetti eliminati e l'acquisizione di tracce di rete possono essere utili per la risoluzione dei problemi.

Questo articolo fornisce suggerimenti per la risoluzione dei problemi di connettività con Griglia di eventi di Azure.

Risolvere i problemi di connettività permanenti

Se l'applicazione non è in grado di connettersi alla griglia di eventi, seguire la procedura descritta in questa sezione per risolvere il problema.

Controllare se è presente un'interruzione del servizio

Verificare la presenza dell'interruzione del servizio Griglia di eventi di Azure nel sito di stato del servizio di Azure.

Controllare se le porte necessarie per comunicare con Griglia di eventi non sono bloccate dal firewall dell'organizzazione

Verificare che le porte usate per comunicare con Griglia di eventi di Azure non siano bloccate nel firewall dell'organizzazione. Vedere la tabella seguente per le porte in uscita che è necessario aprire per comunicare con Griglia di eventi di Azure.

Protocollo Porte
HTTPS 443

Ecco un comando di esempio che controlla se la porta 443 è bloccata.

.\psping.exe -n 25 -i 1 -q {sampletopicname}.{region}-{suffix}.eventgrid.azure.net:443 -nobanner

In Linux:

telnet {sampletopicname}.{region}-{suffix}.eventgrid.azure.net 443

Verificare che gli indirizzi IP siano consentiti nel firewall aziendale

Quando si usa Azure, talvolta occorre consentire URL o intervalli di indirizzi IP specifici nel firewall o nel proxy aziendale per accedere a tutti i servizi di Azure in uso o che si sta provando a usare. Verificare che il traffico sia consentito negli indirizzi IP usati da Griglia di eventi. Per gli indirizzi IP usati da Griglia di eventi di Azure: vedere Azure IP Ranges and Service Tags - Public Cloud and Service tag - AzureEventGrid.

Il documento Azure IP Ranges and Service Tags - Public Cloud (Intervalli IP e tag di servizio di Azure - Cloud pubblico) elenca anche gli indirizzi IP per area. È possibile consentire intervalli di indirizzi per l'area dell'argomento e l'area abbinata nel firewall aziendale o nel proxy. Per un'area abbinata per un'area, vedere Replica tra aree in Azure: Continuità aziendale e ripristino di emergenza.

Nota

È possibile aggiungere nuovi indirizzi IP al tag del servizio AzureEventGrid, anche se non è consueto. Quindi è consigliabile eseguire un controllo settimanale sui tag del servizio.

Verificare che il tag del servizio AzureEventGrid sia consentito nei gruppi di sicurezza di rete

Se l'applicazione è in esecuzione all'interno di una subnet e se è presente un gruppo di sicurezza di rete associato, verificare se è consentito un tag di servizio Internet in uscita o AzureEventGrid. Vedere Tag del servizio

Controllare le impostazioni del firewall IP per l'argomento o il dominio

Verificare che l'indirizzo IP pubblico del computer in cui è in esecuzione l'applicazione non sia bloccato dal firewall IP dell'argomento o del dominio EventGrid.

Per impostazione predefinita, gli argomenti o i domini di Griglia di eventi sono accessibili da Internet, purché la richiesta venga fornita con autenticazione e autorizzazione valide. Con un firewall per gli indirizzi IP, è possibile limitare ulteriormente l'accesso a un set di indirizzi IPv4 o a intervalli di indirizzi IPv4 in notazione CIDR (Classless Inter-Domain Routing).

Le regole del firewall IP vengono applicate a livello di argomento/dominio di Griglia di eventi. Vengono pertanto applicate a tutte le connessioni provenienti dai client con qualsiasi protocollo supportato. Qualsiasi tentativo di connessione da un indirizzo IP che non corrisponde a una regola IP consentita nell'argomento/dominio di Griglia di eventi viene rifiutato come non consentito. Nella risposta non viene fatto riferimento alla regola IP.

Per altre informazioni, vedere Configurare le regole del firewall IP per un argomento o un dominio Griglia di eventi di Azure.

Trovare gli indirizzi IP bloccati dal firewall IP

Abilitare i log di diagnostica per l'argomento o il dominio di Griglia di eventi Abilitare i log di diagnostica. Verrà visualizzato l'indirizzo IP per la connessione negata.

{
  "time": "2019-11-01T00:17:13.4389048Z",
  "resourceId": "/SUBSCRIPTIONS/SAMPLE-SUBSCRIPTION-ID/RESOURCEGROUPS/SAMPLE-RESOURCEGROUP-NAME/PROVIDERS/MICROSOFT.EVENTGRID/TOPICS/SAMPLE-TOPIC-NAME",
  "category": "PublishFailures",
  "operationName": "Post",
  "message": "inputEventsCount=null, requestUri=https://SAMPLE-TOPIC-NAME.region-suffix.eventgrid.azure.net/api/events, publisherInfo=PublisherInfo(category=User, inputSchema=EventGridEvent, armResourceId=/SUBSCRIPTIONS/SAMPLE-SUBSCRIPTION-ID/RESOURCEGROUPS/SAMPLE-RESOURCEGROUP-NAME/PROVIDERS/MICROSOFT.EVENTGRID/TOPICS/SAMPLE-TOPIC-NAME), httpStatusCode=Forbidden, errorType=ClientIPRejected, errorMessage=Publishing to SAMPLE-TOPIC-NAME.{region}-{suffix}.EVENTGRID.AZURE.NET by client {clientIp} is rejected due to IpAddress filtering rules."
}

Controllare se è possibile accedere all'argomento o al dominio EventGrid usando solo un endpoint privato

Se l'argomento o il dominio di Griglia di eventi è configurato per essere accessibile solo tramite endpoint privato, verificare che l'applicazione client acceda all'argomento/dominio tramite l'endpoint privato. Per verificarlo, verificare se l'applicazione client è in esecuzione all'interno di una subnet e c'è un endpoint privato per l'argomento/dominio di Griglia di eventi in tale subnet.

collegamento privato di Azure servizio consente di accedere Griglia di eventi di Azure tramite un endpoint privato nella rete virtuale. Un endpoint privato è un'interfaccia di rete che connette privatamente e in modo sicuro a un servizio basato su Collegamento privato di Azure. L'endpoint privato usa un indirizzo IP privato della rete virtuale, introducendo efficacemente il servizio nella rete virtuale. Tutto il traffico verso il servizio può essere instradato tramite l'endpoint privato, quindi non sono necessari gateway, dispositivi NAT, ExpressRoute o connessioni VPN oppure indirizzi IP pubblici. Il traffico tra la rete virtuale e il servizio attraversa la rete backbone Microsoft, impedendone l'esposizione alla rete Internet pubblica. È possibile connettersi a un'istanza di una risorsa di Azure, garantendo il massimo livello di granularità nel controllo di accesso.

Per altre informazioni, vedere Configurare gli endpoint privati.

Risolvere i problemi di connettività temporanei

Se si verificano problemi di connettività intermittenti, vedere le sezioni seguenti per suggerimenti per la risoluzione dei problemi.

Eseguire il comando per controllare i pacchetti rimossi

Quando si verificano problemi di connettività intermittenti, eseguire il comando seguente per verificare se sono presenti pacchetti rimossi. Questo comando tenterà di stabilire 25 connessioni TCP diverse ogni 1 secondo al servizio. Sarà quindi possibile verificare quanti di essi hanno avuto esito positivo/negativo e vedere anche la latenza della connessione TCP. È possibile scaricare lo strumento psping da qui.

.\psping.exe -n 25 -i 1 -q {sampletopicname}.{region}-{suffix}.eventgrid.azure.net:443 -nobanner

È possibile usare comandi equivalenti se si usano altri strumenti, tcpping ad esempio tcpping.exe.

Ottenere una traccia di rete se i passaggi precedenti non sono utili e analizzarla usando strumenti come Wireshark. Contattare il Supporto tecnico Microsoft, se necessario.

Aggiornamenti o riavvii del servizio

I problemi di connettività temporanei possono verificarsi a causa degli aggiornamenti e dei riavvii del servizio back-end. Quando si verificano, è possibile che si verifichino i sintomi seguenti:

  • Potrebbe verificarsi un calo nei messaggi/richieste in ingresso.
  • Il file di log può contenere messaggi di errore.
  • Le applicazioni possono essere disconnesse dal servizio per alcuni secondi.
  • Le richieste possono essere momentaneamente limitate.

Intercettare questi errori temporanei, eseguire il back-off e quindi ripetere la chiamata garantisce che il codice sia resiliente a questi problemi temporanei.

Passaggi successivi

Per altre informazioni, pubblicare il problema nel Forum Stack Overflow oppure aprire un ticket di supporto.