Risolvere i problemi di rete del registro
Questo articolo illustra come risolvere i problemi che possono verificarsi quando si accede a un registro contenitori di Azure in una rete virtuale o dietro un firewall o un server proxy.
Sintomi
Può includere uno o più dei problemi seguenti:
- Impossibile eseguire il push o il pull delle immagini e viene visualizzato l'errore
dial tcp: lookup myregistry.azurecr.io
- Impossibile eseguire il push o il pull delle immagini e viene visualizzato l'errore
Client.Timeout exceeded while awaiting headers
- Non è possibile eseguire il push o il pull delle immagini e viene visualizzato l'errore dell'interfaccia della riga di comando di Azure
Could not connect to the registry login server
- Impossibile eseguire il pull delle immagini dal Registro di sistema al servizio Azure Kubernetes o a un altro servizio di Azure
- Non è possibile accedere a un registro dietro un proxy HTTPS e viene visualizzato un errore
Error response from daemon: login attempt failed with status: 403 Forbidden
oError response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed
- Non è possibile configurare le impostazioni della rete virtuale e viene visualizzato l'errore
Failed to save firewall and virtual network settings for container registry
- Impossibile accedere o visualizzare le impostazioni del Registro di sistema nel portale di Azure o gestire il Registro di sistema tramite l'interfaccia della riga di comando di Azure
- Impossibile aggiungere o modificare le impostazioni della rete virtuale o le regole di accesso pubblico
- Attività del Registro Azure Container non è in grado di eseguire il push o il pull delle immagini
- Microsoft Defender for Cloud non è in grado di analizzare le immagini nel Registro di sistema, o i risultati dell'analisi non vengono visualizzati in Microsoft Defender for Cloud
- Si riceve un errore
host is not reachable
quando si tenta di accedere a un registro configurato con un endpoint privato.
Cause
- Un firewall client o un proxy impedisce l'accesso - soluzione
- Regole di accesso alla rete pubblica nel Registro di sistema impediscono l'accesso - Soluzione
- La configurazione della rete virtuale o dell'endpoint privato impedisce l'accesso - soluzione
- Si tenta di integrare Microsoft Defender per il Cloud o alcuni altri servizi di Azure con un registro che ha un endpoint privato, un endpoint di servizio o regole di accesso IP pubblico - soluzione
Ulteriore diagnosi
Eseguire il comando az acr check-health per ottenere altre informazioni sull'integrità dell'ambiente del Registro di sistema e, facoltativamente, accedere a un registro di destinazione. Ad esempio, diagnosticare determinati problemi di connettività o configurazione di rete.
Per esempi di comandi, vedere Controllare l'integrità di un registro Azure Container. Se vengono segnalati errori, esaminare il riferimento all'errore e le sezioni seguenti per le soluzioni consigliate.
Se si verificano problemi durante l'uso di un servizio Azure Kubernetes con un registro integrato, eseguire il comando az aks check-acr per verificare che il cluster del servizio Azure Kubernetes possa raggiungere il Registro di sistema.
Nota
Alcuni sintomi di connettività di rete possono verificarsi anche quando si verificano problemi con l'autenticazione o l'autorizzazione del Registro di sistema. Vedere Risolvere i problemi di accesso al registro.
Possibili soluzioni
Configurare l'accesso al firewall client
Per accedere a un registro da dietro un firewall client o un server proxy, configurare le regole del firewall per accedere agli endpoint dati e REST pubblici del Registro di sistema. Se gli endpoint dati dedicati sono abilitati, sono necessarie regole per accedere:
- Endpoint REST:
<registryname>.azurecr.io
- Endpoint dati:
<registry-name>.<region>.data.azurecr.io
Per un registro con replica geografica, configurare l'accesso all'endpoint dati per ogni replica a livello di area.
Dietro un proxy HTTPS, assicurarsi che sia il client Docker che il daemon Docker siano configurati per il comportamento del proxy. Se si modificano le impostazioni proxy per il daemon Docker, assicurarsi di riavviare il daemon.
I log delle risorse del Registro di sistema nella tabella ContainerRegistryLoginEvents possono aiutare a diagnosticare un tentativo di connessione bloccato.
Collegamenti correlati:
- Configurare le regole per accedere a un registro contenitori di Azure dietro un firewall
- Configurazione del proxy HTTP/HTTPS
- Replica geografica nel servizio Registro Azure Container
- Monitorare il Registro Azure Container
Configurare l'accesso pubblico al Registro di sistema
Se si accede a un registro tramite Internet, verificare che il Registro di sistema consenta l'accesso alla rete pubblica dal client. Per impostazione predefinita, un registro Azure Container consente l'accesso agli endpoint del Registro di sistema pubblici da tutte le reti. Un Registro di sistema può limitare l'accesso alle reti selezionate o agli indirizzi IP selezionati.
Se il Registro di sistema è configurato per una rete virtuale con un endpoint di servizio, la disabilitazione dell'accesso alla rete pubblica disabilita anche l'accesso tramite l'endpoint di servizio. Se il Registro di sistema è configurato per una rete virtuale con collegamento privato, le regole di rete IP non si applicano agli endpoint privati del Registro di sistema.
Collegamenti correlati:
- Configurare le regole di rete per IP pubblico
- Connettersi privatamente a un registro contenitori di Azure usando il collegamento privato di Azure
- Limitare l'accesso a un registro contenitori usando un endpoint di servizio in una rete virtuale di Azure
Configurare l'accesso alla rete virtuale
Verificare che la rete virtuale sia configurata con un endpoint privato per collegamento privato o un endpoint di servizio (anteprima). Attualmente un endpoint Azure Bastion non è supportato.
Se è configurato un endpoint privato, verificare che DNS risolva l'FQDN pubblico del Registro di sistema, ad esempio myregistry.azurecr.io all'indirizzo IP privato del Registro di sistema.
- Eseguire il comando az acr check-health con il parametro
--vnet
per confermare il routing DNS all'endpoint privato nella rete virtuale. - Usare un'utilità di rete, ad esempio
dig
onslookup
per la ricerca DNS. - Assicurarsi che i record DNS siano configurati per il nome di dominio completo del Registro di sistema e per ogni FQDN dell'endpoint dati.
Esaminare le regole del gruppo di sicurezza di rete e i tag del servizio usati per limitare il traffico da altre risorse nella rete al Registro di sistema.
Se è configurato un endpoint di servizio nel Registro di sistema, verificare che al Registro di sistema venga aggiunta una regola di rete che consenta l'accesso da tale subnet di rete. L'endpoint di servizio supporta solo l'accesso da macchine virtuali e cluster del servizio Azure Kubernetes nella rete.
Se si vuole limitare l'accesso al Registro di sistema usando una rete virtuale in una sottoscrizione di Azure diversa, assicurarsi di registrare il provider di risorse Microsoft.ContainerRegistry
in tale sottoscrizione. Registrare il provider di risorse per Registro Azure Container usando il portale di Azure, l'interfaccia della riga di comando di Azure o altri strumenti di Azure.
Se Firewall di Azure o una soluzione simile è configurata nella rete, verificare che il traffico in uscita da altre risorse, ad esempio un cluster del servizio Azure Kubernetes, sia abilitato per raggiungere gli endpoint del Registro di sistema.
Collegamenti correlati:
- Connettersi privatamente a un registro contenitori di Azure usando il collegamento privato di Azure
- Risolvere i problemi di connettività all'endpoint privato di Azure
- Limitare l'accesso a un registro contenitori usando un endpoint di servizio in una rete virtuale di Azure
- Regole di rete e FQDN in uscita necessarie per i cluster del servizio Azure Kubernetes
- Kubernetes: debug della risoluzione DNS
- Tag del servizio di rete virtuale
Configurare l'accesso al servizio
Attualmente, l'accesso a un registro contenitori con restrizioni di rete non è consentito da diversi servizi di Azure:
- Microsoft Defender for Cloud non può eseguire l’analisi delle vulnerabilità delle immagini in un registro che limita l'accesso a endpoint privati, subnet selezionate o indirizzi IP.
- Le risorse di determinati servizi di Azure non sono in grado di accedere a un registro contenitori con restrizioni di rete, tra cui Servizio app di Azure e Istanze di Azure Container.
Se è necessario l'accesso o l'integrazione di questi servizi di Azure con il registro contenitori, rimuovere la restrizione di rete. Ad esempio, rimuovere gli endpoint privati del Registro di sistema o rimuovere o modificare le regole di accesso pubblico del Registro di sistema.
A partire da gennaio 2021, è possibile configurare un registro con restrizioni di rete per consentire l'accesso da servizi attendibili selezionati.
Collegamenti correlati:
- Analisi delle immagini del Registro Azure Container da Parte di Microsoft Defender per i registri contenitori
- Fornisci feedback
- Consentire ai servizi attendibili di accedere in modo sicuro a un registro contenitori con restrizioni di rete
Risoluzione avanzata dei problemi
Se la raccolta di log delle risorse è abilitata nel Registro di sistema, esaminare il log ContainterRegistryLoginEvents. Questo log archivia eventi e stato di autenticazione, tra cui l'identità in ingresso e l'indirizzo IP. Eseguire una query sul log per errori di autenticazione del Registro di sistema.
Collegamenti correlati:
- Log per la valutazione diagnostica e il controllo
- Domande frequenti sul Registro Contenitori
- Baseline di sicurezza di Azure per Registro Azure Container
- Procedure consigliate per Registro Azure Container
Passaggi successivi
Se il problema non viene risolto qui, vedere le opzioni seguenti.
- Altri argomenti relativi alla risoluzione dei problemi del Registro di sistema includono:
- Opzioni di supporto della community
- Microsoft Q&A
- Aprire un ticket di supporto