Netwerkproblemen met register oplossen

Dit artikel helpt u bij het oplossen van problemen die kunnen optreden bij het openen van een Azure-containerregister in een virtueel netwerk of achter een firewall of proxyserver.

Symptomen

Dit kan een of meer van de volgende omvatten:

  • Kan geen installatiekopieën pushen of ophalen en u ontvangt een foutmelding dial tcp: lookup myregistry.azurecr.io
  • Kan geen installatiekopieën pushen of ophalen en u ontvangt een foutmelding Client.Timeout exceeded while awaiting headers
  • Kan installatiekopieën niet pushen of ophalen en u ontvangt een Azure CLI-fout Could not connect to the registry login server
  • Kan geen installatiekopieën ophalen uit het register naar Azure Kubernetes Service of een andere Azure-service
  • Kan geen toegang krijgen tot een register achter een HTTPS-proxy en u ontvangt een foutmelding Error response from daemon: login attempt failed with status: 403 Forbidden of Error response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed
  • Kan de instellingen van het virtuele netwerk niet configureren en u ontvangt een foutmelding Failed to save firewall and virtual network settings for container registry
  • Kan registerinstellingen niet openen of weergeven in Azure Portal of register beheren met behulp van de Azure CLI
  • Kan geen instellingen voor virtuele netwerken of regels voor openbare toegang toevoegen of wijzigen
  • ACR Tasks kan geen installatiekopieën pushen of ophalen
  • Microsoft Defender voor Cloud kan geen installatiekopieën in het register scannen of scanresultaten worden niet weergegeven in Microsoft Defender voor Cloud
  • Er wordt een foutbericht host is not reachable weergegeven wanneer u probeert toegang te krijgen tot een register dat is geconfigureerd met een privé-eindpunt.

Oorzaken

  • Een clientfirewall of proxy voorkomt toegang - oplossing
  • Openbare netwerktoegangsregels in het register verhinderen toegang - oplossing
  • Configuratie van virtueel netwerk of privé-eindpunt voorkomt toegang - oplossing
  • U probeert Microsoft Defender voor Cloud of bepaalde andere Azure-services te integreren met een register met een privé-eindpunt, service-eindpunt of openbare IP-toegangsregels - oplossing

Verdere diagnose

Voer de opdracht az acr check-health uit voor meer informatie over de status van de registeromgeving en optioneel toegang tot een doelregister. Stel bijvoorbeeld bepaalde problemen met de netwerkverbinding of configuratie vast.

Zie De status van een Azure-containerregister controleren voor voorbeelden van opdrachten. Als er fouten worden gerapporteerd, raadpleegt u de foutreferentie en de volgende secties voor aanbevolen oplossingen.

Als u problemen ondervindt met het gebruik van een Azure Kubernetes Service met een geïntegreerd register, voert u de opdracht az aks check-acr uit om te controleren of het AKS-cluster het register kan bereiken.

Notitie

Sommige symptomen van netwerkconnectiviteit kunnen ook optreden wanneer er problemen zijn met registerverificatie of autorisatie. Zie Problemen met registeraanmelding oplossen.

Mogelijke oplossingen

Clientfirewalltoegang configureren

Als u toegang wilt krijgen tot een register vanaf een clientfirewall of proxyserver, configureert u firewallregels voor toegang tot de openbare REST- en gegevenseindpunten van het register. Als toegewezen gegevenseindpunten zijn ingeschakeld, hebt u regels nodig voor toegang tot:

  • REST-eindpunt: <registryname>.azurecr.io
  • Gegevenseindpunt(en): <registry-name>.<region>.data.azurecr.io

Voor een geo-gerepliceerd register configureert u de toegang tot het gegevenseindpunt voor elke regionale replica.

Zorg er achter een HTTPS-proxy voor dat zowel uw Docker-client als docker-daemon zijn geconfigureerd voor proxygedrag. Als u de proxy-instellingen voor de Docker-daemon wijzigt, moet u de daemon opnieuw starten.

Registerresourcelogboeken in de tabel ContainerRegistryLoginEvents kunnen helpen bij het vaststellen van een poging tot verbinding die is geblokkeerd.

Gerelateerde links:

Openbare toegang tot register configureren

Als u via internet toegang verleent tot een register, controleert u of het register openbare netwerktoegang vanaf uw client toestaat. Standaard biedt een Azure-containerregister toegang tot de openbare registereindpunten vanuit alle netwerken. Een register kan de toegang tot geselecteerde netwerken of geselecteerde IP-adressen beperken.

Als het register is geconfigureerd voor een virtueel netwerk met een service-eindpunt, wordt de toegang via het service-eindpunt ook uitgeschakeld door openbare netwerktoegang uit te schakelen. Als uw register is geconfigureerd voor een virtueel netwerk met Private Link, zijn IP-netwerkregels niet van toepassing op de privé-eindpunten van het register.

Gerelateerde links:

VNet-toegang configureren

Controleer of het virtuele netwerk is geconfigureerd met een privé-eindpunt voor Private Link of een service-eindpunt (preview). Momenteel wordt een Azure Bastion-eindpunt niet ondersteund.

Als een privé-eindpunt is geconfigureerd, controleert u of DNS de openbare FQDN van het register, zoals myregistry.azurecr.io , naar het privé-IP-adres van het register oplost.

  • Voer de opdracht az acr check-health uit met de --vnet parameter om de DNS-routering naar het privé-eindpunt in het virtuele netwerk te bevestigen.
  • Gebruik een netwerkhulpprogramma zoals dig of nslookup voor DNS-zoekactie.
  • Zorg ervoor dat DNS-records zijn geconfigureerd voor de register-FQDN en voor elk van de FQDN's van het gegevenseindpunt.

Controleer de NSG-regels en servicetags die worden gebruikt om verkeer van andere resources in het netwerk te beperken tot het register.

Als een service-eindpunt voor het register is geconfigureerd, controleert u of er een netwerkregel wordt toegevoegd aan het register waarmee toegang vanaf dat netwerksubnet mogelijk is. Het service-eindpunt biedt alleen ondersteuning voor toegang vanaf virtuele machines en AKS-clusters in het netwerk.

Als u registertoegang wilt beperken met behulp van een virtueel netwerk in een ander Azure-abonnement, moet u ervoor zorgen dat u de Microsoft.ContainerRegistry resourceprovider in dat abonnement registreert. Registreer de resourceprovider voor Azure Container Registry met behulp van Azure Portal, Azure CLI of andere Azure-hulpprogramma's.

Als Azure Firewall of een vergelijkbare oplossing is geconfigureerd in het netwerk, controleert u of uitgaand verkeer van andere resources, zoals een AKS-cluster, is ingeschakeld om de registereindpunten te bereiken.

Gerelateerde links:

Servicetoegang configureren

Op dit moment is toegang tot een containerregister met netwerkbeperkingen niet toegestaan vanuit verschillende Azure-services:

  • Microsoft Defender voor Cloud kan geen scannen op beveiligingsproblemen uitvoeren in een register waarmee de toegang tot privé-eindpunten, geselecteerde subnetten of IP-adressen wordt beperkt.
  • Resources van bepaalde Azure-services hebben geen toegang tot een containerregister met netwerkbeperkingen, waaronder Azure-app Service en Azure Container Instances.

Als toegang of integratie van deze Azure-services met uw containerregister is vereist, verwijdert u de netwerkbeperking. Verwijder bijvoorbeeld de privé-eindpunten van het register of verwijder of wijzig de openbare toegangsregels van het register.

Vanaf januari 2021 kunt u een register met netwerkbeperking configureren om toegang toe te staan van bepaalde vertrouwde services.

Gerelateerde links:

Geavanceerde probleemoplossing

Als het verzamelen van resourcelogboeken is ingeschakeld in het register, raadpleegt u het logboek ContainterRegistryLoginEvents. In dit logboek worden verificatie-gebeurtenissen en -status opgeslagen, inclusief de binnenkomende identiteit en het IP-adres. Voer een query uit op het logboek voor mislukte registerverificatie.

Gerelateerde links:

Volgende stappen

Als u het probleem hier niet oplost, raadpleegt u de volgende opties.