Beheben von Netzwerkproblemen mit der Registrierung

Dieser Artikel hilft Ihnen bei der Fehlerbehebung von Problemen, die beim Zugriff auf eine Azure-Container-Registrierung in einem virtuellen Netzwerk oder hinter einer Firewall oder einem Proxy-Server auftreten können.

Symptome

Beispiele für Symptome sind:

  • Images können nicht gepusht oder gepullt werden, und Sie erhalten den Fehler dial tcp: lookup myregistry.azurecr.io.
  • Images können nicht gepusht oder gepullt werden, und Sie erhalten den Fehler Client.Timeout exceeded while awaiting headers.
  • Images können nicht gepusht oder gepullt werden, und Sie erhalten den Azure CLI-Fehler Could not connect to the registry login server.
  • Images können nicht aus der Registrierung in Azure Kubernetes Service oder einen anderen Azure-Dienst gepullt werden.
  • Auf eine Registrierung hinter einem HTTPS-Proxy kann nicht zugegriffen werden, und Sie erhalten den Fehler Error response from daemon: login attempt failed with status: 403 Forbidden oder Error response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed
  • Die Einstellungen für das virtuelle Netzwerk können nicht konfiguriert werden, und die Fehlermeldung Failed to save firewall and virtual network settings for container registry wird angezeigt.
  • Das Zugreifen auf oder das Anzeigen von Registrierungseinstellungen im Azure-Portal oder das Verwalten der Registrierung mithilfe der Azure CLI ist nicht möglich.
  • Einstellungen für das virtuelle Netzwerk oder Regeln für den öffentlichen Zugriff können nicht hinzugefügt oder geändert werden.
  • Mit ACR Tasks können keine Images gepusht oder gepullt werden.
  • Microsoft Defender für Cloud kann keine Images in der Registrierung überprüfen oder Überprüfungsergebnisse werden in Microsoft Defender für Cloud nicht angezeigt.
  • Sie erhalten einen host is not reachable-Fehler, wenn Sie versuchen, auf eine Registrierung zuzugreifen, die mit einem privaten Endpunkt konfiguriert ist.

Ursachen

  • Eine Clientfirewall oder ein Proxy verhindert den Zugriff (Lösung).
  • Regeln für den Zugriff auf das öffentliche Netzwerk in der Registrierung verhindern den Zugriff (Lösung).
  • Die Konfiguration des virtuellen Netzwerks oder privaten Endpunkts verhindert den Zugriff (Lösung).
  • Sie versuchen, Microsoft Defender für Cloud oder bestimmte andere Azure-Dienste in eine Registrierung zu integrieren, die über einen privaten Endpunkt, Dienstendpunkte oder Zugriffsregeln für öffentliche IP-Adressen verfügt - Lösung.

Weitere Diagnose

Führen Sie den Befehl az acr check-health aus, um weitere Informationen zur Integrität der Registrierungsumgebung abzurufen und optional Zugriff auf eine Zielregistrierung zu erhalten. Diagnostizieren Sie beispielsweise bestimmte Probleme mit der Netzwerkkonnektivität oder -konfiguration.

Befehlsbeispiele finden Sie unter Überprüfen der Integrität einer Azure-Containerregistrierung. Wenn Fehler gemeldet werden, überprüfen Sie die Fehlerreferenz und die folgenden Abschnitte für empfohlene Lösungen.

Wenn Sie Probleme bei der Verwendung eines Azure-Kubernetes-Dienstes mit integrierter Registry haben, führen Sie den Befehl az aks check-acrr aus, um zu überprüfen, ob der AKS-Cluster die Registry erreichen kann.

Hinweis

Einige Symptome in Bezug auf die Netzwerkkonnektivität können auch auftreten, wenn es Probleme mit der Authentifizierung oder Autorisierung der Registrierung gibt. Weitere Informationen finden Sie unter Beheben von Problemen mit der Registrierungsanmeldung.

Mögliche Lösungen

Konfigurieren des Zugriffs über die Clientfirewall

Sie müssen die Firewallregeln für den Zugriff auf die öffentlichen REST- und Datenendpunkte der Registrierung konfigurieren, um den Zugriff auf eine Registrierung von einem Ort hinter einer Clientfirewall oder einem Proxyserver zu ermöglichen. Wenn dedizierte Datenendpunkte aktiviert sind, benötigen Sie Regeln für den Zugriff auf die folgenden Komponenten:

  • REST-Endpunkt: <registryname>.azurecr.io
  • Datenendpunkt(e): <registry-name>.<region>.data.azurecr.io

Konfigurieren Sie für eine Registrierung mit Georeplikation den Zugriff auf den Datenendpunkt für jedes regionale Replikat.

Stellen Sie hinter einem HTTPS-Proxy sicher, dass sowohl Ihr Docker-Client als auch Ihr Docker-Daemon für das Proxyverhalten konfiguriert sind. Wenn Sie die Proxy Einstellungen für den Locker-Daemon ändern, stellen Sie sicher, dass Sie den Daemon neu starten.

Registrierungsressourcenprotokolle in der Tabelle „ContainerRegistryLoginEvents“ können als Hilfe beim Diagnostizieren einer blockierten Verbindungsherstellung dienen.

Verwandte Links:

Konfigurieren des öffentlichen Zugriffs auf die Registrierung

Wenn Sie über das Internet auf eine Registrierung zugreifen, sollten Sie sich vergewissern, dass für die Registrierung der Zugriff auf das öffentliche Netzwerk über Ihren Client zulässig ist. Standardmäßig ist für eine Azure Container Registry-Instanz der Zugriff auf die öffentlichen Registrierungsendpunkte aus allen Netzwerken zugelassen. Eine Registrierung kann den Zugriff auf ausgewählte Netzwerke oder IP-Adressen beschränken.

Falls die Registrierung für ein virtuelles Netzwerk mit einem Dienstendpunkt konfiguriert ist, wird mit dem Deaktivieren des öffentlichen Netzwerkzugriffs auch der Zugriff über den Dienstendpunkt deaktiviert. Wenn Ihre Registrierung für ein virtuelles Netzwerk mit Private Link konfiguriert ist, gelten IP-Netzwerkregeln nicht für die privaten Endpunkte der Registrierung.

Verwandte Links:

Konfigurieren des VNET-Zugriffs

Vergewissern Sie sich, dass für das virtuelle Netzwerk entweder ein privater Endpunkt für Private Link oder ein Dienstendpunkt (Vorschau) konfiguriert ist. Ein Azure Bastion-Endpunkt wird derzeit nicht unterstützt.

Wenn ein privater Endpunkt konfiguriert ist, vergewissern Sie sich, dass das DNS den öffentlichen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) der Registrierung (z. B. myregistry.azurecr.io) in die private IP-Adresse der Registrierung auflöst.

  • Führen Sie den Befehl az acr check-health mit dem Parameter --vnet aus, um das DNS-Routing an den privaten Endpunkt im virtuellen Netzwerk sicherzustellen.
  • Verwenden Sie für das DNS-Lookup ein Netzwerkhilfsprogramm, z. B. dig oder nslookup.
  • Stellen Sie sicher, dass DNS-Einträge für den Registrierungs-FQDN und für jeden der Datenendpunkt-FQDNs konfiguriert sind.

Überprüfen Sie die NSG-Regeln und die Diensttags, mit denen der Datenverkehr von anderen Ressourcen im Netzwerk zur Registrierung eingeschränkt wird.

Wenn ein Dienstendpunkt für die Registrierung konfiguriert ist, sollten Sie sich vergewissern, dass der Registrierung eine Netzwerkregel hinzugefügt wird, die den Zugriff über dieses Netzwerksubnetz zulässt. Der Dienstendpunkt unterstützt nur den Zugriff über virtuelle Computer und AKS-Cluster im Netzwerk.

Wenn Sie den Registrierungszugriff mithilfe eines virtuellen Netzwerks in einem anderen Azure-Abonnement einschränken möchten, stellen Sie sicher, dass Sie den Ressourcenanbieter Microsoft.ContainerRegistry in diesem Abonnement registrieren. Registrieren Sie den Ressourcenanbieter für Azure Container Registry über das Azure-Portal, die Azure CLI oder andere Azure-Tools.

Wenn im Netzwerk Azure Firewall oder eine ähnliche Lösung konfiguriert ist, sollten Sie überprüfen, ob der ausgehende Datenverkehr von anderen Ressourcen, z. B. einem AKS-Cluster, möglich ist, damit die Registrierungsendpunkte erreicht werden können.

Verwandte Links:

Konfigurieren des Dienstzugriffs

Derzeit ist der Zugriff auf eine Containerregistrierung mit Netzwerkeinschränkungen von mehreren Azure-Diensten aus nicht zulässig:

  • Microsoft Defender für Cloud kann keine Überprüfung von Images auf Sicherheitsrisiken in einer Registrierung durchführen, die den Zugriff auf private Endpunkte, ausgewählte Subnetze oder IP-Adressen beschränkt.
  • Ressourcen bestimmter Azure-Dienste, einschließlich Azure App Service und Azure Container Instances, können nicht auf eine Containerregistrierung mit Netzwerkeinschränkungen zugreifen.

Wenn Zugriff oder eine Integration dieser Azure-Dienste mit Ihrer Containerregistrierung erforderlich ist, entfernen Sie die Netzwerkbeschränkung. Entfernen Sie z. B. die privaten Endpunkte der Registrierung, oder entfernen oder ändern Sie die Regeln der Registrierung für öffentlichen Zugriff.

Seit Januar 2021 können Sie eine Registrierung mit Netzwerkeinschränkung so konfigurieren, dass der Zugriff von ausgewählten vertrauenswürdigen Diensten zugelassen wird.

Verwandte Links:

Erweiterte Problembehandlung

Wenn Sammlung von Ressourcenprotokollen in der Registrierung aktiviert ist, überprüfen Sie das Protokoll „ContainterRegistryLoginEvents“. In diesem Protokoll werden Registrierungauthentifizierungsereignisse und der -status gespeichert, einschließlich der eingehenden Identität und IP-Adresse. Fragen Sie das Protokoll nach Authentifizierungsfehlern für die Registrierung ab.

Verwandte Links:

Nächste Schritte

Wenn Sie Ihr Problem hier nicht lösen können, sehen Sie sich die folgenden Optionen an.