Řešení potíží se sítí s registrem

Tento článek vám pomůže vyřešit problémy, se kterými se můžete setkat při přístupu k registru kontejneru Azure ve virtuální síti nebo za bránou firewall nebo proxy serverem.

Příznaky

Může obsahovat jednu nebo více z následujících možností:

  • Nejde nasdílit nebo vyžádat image a zobrazí se chyba dial tcp: lookup myregistry.azurecr.io
  • Nejde nasdílit nebo vyžádat image a zobrazí se chyba Client.Timeout exceeded while awaiting headers
  • Nejde nasdílit nebo vyžádat image a zobrazí se chyba Azure CLI Could not connect to the registry login server
  • Nejde načíst image z registru do služby Azure Kubernetes Service nebo jiné služby Azure
  • Nejde získat přístup k registru za proxy serverem HTTPS a zobrazí se chyba Error response from daemon: login attempt failed with status: 403 Forbidden nebo Error response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed
  • Nejde nakonfigurovat nastavení virtuální sítě a zobrazí se chyba Failed to save firewall and virtual network settings for container registry
  • Nejde získat přístup k nastavením registru nebo zobrazit na webu Azure Portal nebo spravovat registr pomocí Azure CLI
  • Nejde přidat nebo upravit nastavení virtuální sítě nebo pravidla veřejného přístupu
  • Úlohy ACR nemůžou nasdílit nebo vyžádat image
  • Microsoft Defender for Cloud nemůže prohledávat obrázky v registru nebo výsledky kontroly se nezobrazují v programu Microsoft Defender for Cloud.
  • Při pokusu o přístup k registru nakonfigurovaného pomocí privátního koncového bodu se zobrazí chyba host is not reachable .

Příčiny

  • Klientská brána firewall nebo proxy server brání přístupu – řešení
  • Pravidla přístupu k veřejné síti v registru brání přístupu – řešení
  • Konfigurace virtuální sítě nebo privátního koncového bodu brání přístupu – řešení
  • Pokusíte se integrovat Microsoft Defender for Cloud nebo některé jiné služby Azure s registrem, který má privátní koncový bod, koncový bod služby nebo pravidla přístupu k veřejným IP adresům – řešení.

Další diagnostika

Spuštěním příkazu az acr check-health získejte další informace o stavu prostředí registru a volitelně přístup k cílovému registru. Můžete například diagnostikovat určité problémy s připojením k síti nebo konfigurací.

Příklady příkazů najdete v tématu Kontrola stavu registru kontejnerů Azure. Pokud jsou nahlášeny chyby, projděte si referenční informace o chybách a v následujících částech se podívejte na doporučená řešení.

Pokud máte problémy s používáním služby Azure Kubernetes Service s integrovaným registrem, spuštěním příkazu az aks check-acr ověřte, že se cluster AKS může spojit s registrem.

Poznámka:

K některým příznakům připojení k síti může dojít také v případě, že dochází k problémům s ověřováním nebo autorizací registru. Viz Řešení potíží s přihlášením k registru.

Potenciální řešení

Konfigurace přístupu k bráně firewall klienta

Pokud chcete získat přístup k registru za klientskou bránou firewall nebo proxy serverem, nakonfigurujte pravidla brány firewall pro přístup k veřejným koncovým bodům REST a dat registru. Pokud jsou povolené vyhrazené datové koncové body , potřebujete pravidla pro přístup:

  • Koncový bod REST: <registryname>.azurecr.io
  • Koncové body dat: <registry-name>.<region>.data.azurecr.io

Pro geograficky replikovaný registr nakonfigurujte přístup ke koncovému bodu dat pro každou regionální repliku.

Za proxy serverem HTTPS se ujistěte, že váš klient Dockeru i démon Dockeru jsou nakonfigurované pro chování proxy serveru. Pokud změníte nastavení proxy serveru pro démona Dockeru, nezapomeňte démona restartovat.

Protokoly prostředků registru v tabulce ContainerRegistryLoginEvents můžou pomoct diagnostikovat pokus o zablokované připojení.

Související odkazy:

Konfigurace veřejného přístupu k registru

Pokud přistupujete k registru přes internet, ověřte, že registr umožňuje přístup k veřejné síti z vašeho klienta. Registr kontejnerů Azure ve výchozím nastavení umožňuje přístup ke koncovým bodům veřejného registru ze všech sítí. Registr může omezit přístup k vybraným sítím nebo vybraným IP adresům.

Pokud je registr nakonfigurovaný pro virtuální síť s koncovým bodem služby, zakázání přístupu k veřejné síti také zakáže přístup přes koncový bod služby. Pokud je váš registr nakonfigurovaný pro virtuální síť se službou Private Link, pravidla sítě IP se nevztahují na privátní koncové body registru.

Související odkazy:

Konfigurace přístupu k virtuální síti

Ověřte, že je virtuální síť nakonfigurovaná buď s privátním koncovým bodem pro Private Link, nebo koncovým bodem služby (Preview). V současné době se koncový bod služby Azure Bastion nepodporuje.

Pokud je nakonfigurovaný privátní koncový bod, ověřte, že DNS přeloží veřejný plně kvalifikovaný název domény registru, například myregistry.azurecr.io na privátní IP adresu registru.

Zkontrolujte pravidla skupiny zabezpečení sítě a značky služeb používané k omezení provozu z jiných prostředků v síti do registru.

Pokud je koncový bod služby do registru nakonfigurovaný, ověřte, že je do registru přidáno pravidlo sítě, které umožňuje přístup z této síťové podsítě. Koncový bod služby podporuje přístup pouze z virtuálních počítačů a clusterů AKS v síti.

Pokud chcete omezit přístup k registru pomocí virtuální sítě v jiném předplatném Azure, ujistěte se, že v daném předplatném Microsoft.ContainerRegistry zaregistrujete poskytovatele prostředků. Zaregistrujte poskytovatele prostředků pro Azure Container Registry pomocí webu Azure Portal, Azure CLI nebo jiných nástrojů Azure.

Pokud je v síti nakonfigurované Azure Firewall nebo podobné řešení, zkontrolujte, jestli je povolený výchozí přenos dat z jiných prostředků, jako je cluster AKS, aby se dostal ke koncovým bodům registru.

Související odkazy:

Konfigurace přístupu ke službě

Přístup k registru kontejneru s omezeními sítě v současné době není povolený z několika služeb Azure:

  • Microsoft Defender for Cloud nemůže v registru provádět kontrolu ohrožení zabezpečení image, která omezuje přístup k privátním koncovým bodům, vybraným podsítím nebo IP adresám.
  • Prostředky některých služeb Azure nemají přístup k registru kontejneru s omezeními sítě, včetně služby Aplikace Azure Service a služby Azure Container Instances.

Pokud se vyžaduje přístup nebo integrace těchto služeb Azure s registrem kontejneru, odeberte omezení sítě. Odeberte například privátní koncové body registru nebo odeberte nebo upravte pravidla veřejného přístupu registru.

Od ledna 2021 můžete nakonfigurovat registr s omezeným přístupem k síti tak, aby umožňoval přístup z vybraných důvěryhodných služeb.

Související odkazy:

Řešení potíží na pokročilé úrovni

Pokud je v registru povolená kolekce protokolů prostředků, zkontrolujte protokol ContainterRegistryLoginEvents. Tento protokol ukládá události a stav ověřování, včetně příchozí identity a IP adresy. Dotazování protokolu na selhání ověřování registru

Související odkazy:

Další kroky

Pokud tady problém nevyřešíte, podívejte se na následující možnosti.