Kayıt defteriyle ilgili ağ sorunlarını giderme

Bu makale, sanal ağdaki veya güvenlik duvarı ya da ara sunucu arkasındaki bir Azure kapsayıcı kayıt defterine erişirken karşılaşabileceğiniz sorunları gidermenize yardımcı olur.

Belirtiler

Aşağıdakilerden birini veya daha fazlasını içerebilir:

  • Görüntü gönderilemiyor veya çekilemiyor ve hata alıyorsunuz dial tcp: lookup myregistry.azurecr.io
  • Görüntü gönderilemiyor veya çekilemiyor ve hata alıyorsunuz Client.Timeout exceeded while awaiting headers
  • Görüntü gönderilemiyor veya çekilemiyor ve Azure CLI hatası alıyorsunuz Could not connect to the registry login server
  • Kayıt defterinden Azure Kubernetes Service'e veya başka bir Azure hizmetine görüntü çekilemiyor
  • HTTPS ara sunucusunun arkasındaki kayıt defterine erişilemiyor ve hata Error response from daemon: login attempt failed with status: 403 Forbidden alıyorsunuz veya Error response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed
  • Sanal ağ ayarları yapılandırılamıyor ve hata alıyorsunuz Failed to save firewall and virtual network settings for container registry
  • Azure portalında kayıt defteri ayarlarına erişilemiyor veya görüntülenemiyor ya da Azure CLI kullanılarak kayıt defteri yönetilemiyor
  • Sanal ağ ayarları veya genel erişim kuralları eklenemiyor veya değiştirilemiyor
  • ACR Görevleri görüntüleri gönderemiyor veya çekemiyor
  • Bulut için Microsoft Defender kayıt defterindeki görüntüleri tarayamıyor veya tarama sonuçları Bulut için Microsoft Defender
  • Özel uç noktayla yapılandırılmış bir kayıt defterine erişmeye çalışırken hata host is not reachable alıyorsunuz.

Nedenler

  • İstemci güvenlik duvarı veya ara sunucu erişimi engelliyor - çözüm
  • Kayıt defterindeki genel ağ erişim kuralları erişimi engelliyor - çözüm
  • Sanal ağ veya özel uç nokta yapılandırması erişimi engelliyor - çözüm
  • Bulut için Microsoft Defender veya diğer bazı Azure hizmetlerini özel uç nokta, hizmet uç noktası veya genel IP erişim kuralları olan bir kayıt defteriyle tümleştirmeye çalışıyorsunuz - çözüm

Daha fazla tanılama

Kayıt defteri ortamının durumu ve isteğe bağlı olarak hedef kayıt defterine erişim hakkında daha fazla bilgi edinmek için az acr check-health komutunu çalıştırın. Örneğin, belirli ağ bağlantısı veya yapılandırma sorunlarını tanılayın.

Komut örnekleri için bkz . Azure kapsayıcı kayıt defterinin durumunu denetleme. Hatalar bildirilirse, önerilen çözümler için hata başvurularını ve aşağıdaki bölümleri gözden geçirin.

Tümleşik kayıt defterine sahip bir Azure Kubernetes Service kullanırken sorun yaşıyorsanız, AKS kümesinin kayıt defterine ulaşabildiğini doğrulamak için az aks check-acr komutunu çalıştırın.

Dekont

Bazı ağ bağlantısı belirtileri, kayıt defteri kimlik doğrulaması veya yetkilendirme ile ilgili sorunlar olduğunda da oluşabilir. Bkz . Kayıt defteri oturum açma sorunlarını giderme.

Olası çözümler

İstemci güvenlik duvarı erişimini yapılandırma

Bir istemci güvenlik duvarının veya ara sunucunun arkasından bir kayıt defterine erişmek için, güvenlik duvarı kurallarını kayıt defterinin genel REST ve veri uç noktalarına erişecek şekilde yapılandırın. Ayrılmış veri uç noktaları etkinleştirildiyse şunlara erişmek için kurallara ihtiyacınız vardır:

  • REST uç noktası: <registryname>.azurecr.io
  • Veri uç noktaları: <registry-name>.<region>.data.azurecr.io

Coğrafi olarak çoğaltılmış bir kayıt defteri için, her bölgesel çoğaltma için veri uç noktasına erişimi yapılandırın.

HTTPS ara sunucusunun arkasında, hem Docker istemcinizin hem de Docker daemon'unuzun ara sunucu davranışı için yapılandırıldığından emin olun. Docker daemon için ara sunucu ayarlarınızı değiştirirseniz, daemon'ı yeniden başlattığınızdan emin olun.

ContainerRegistryLoginEvents tablosundaki kayıt defteri kaynak günlükleri engellenen bir bağlantı girişimini tanılamaya yardımcı olabilir.

İlgili bağlantılar:

Kayıt defterine genel erişimi yapılandırma

İnternet üzerinden bir kayıt defterine erişiyorsanız, kayıt defterinin istemcinizden genel ağ erişimine izin verdiğinden emin olun. Varsayılan olarak, Azure kapsayıcı kayıt defteri tüm ağlardan genel kayıt defteri uç noktalarına erişim sağlar. Kayıt defteri, seçili ağlara veya seçili IP adreslerine erişimi sınırlayabilir.

Kayıt defteri hizmet uç noktası olan bir sanal ağ için yapılandırılmışsa, genel ağ erişiminin devre dışı bırakılması hizmet uç noktası üzerinden erişimi de devre dışı bırakır. Kayıt defteriniz Özel Bağlantı olan bir sanal ağ için yapılandırılmışsa, IP ağ kuralları kayıt defterinin özel uç noktalarına uygulanmaz.

İlgili bağlantılar:

Sanal ağ erişimini yapılandırma

Sanal ağın Özel Bağlantı için özel uç nokta veya hizmet uç noktası (önizleme) ile yapılandırıldığını onaylayın. Şu anda bir Azure Bastion uç noktası desteklenmemekte.

Özel bir uç nokta yapılandırıldıysa, DNS'nin kayıt defterinin genel FQDN'sini çözümlediğini (örneğin , myregistry.azurecr.io kayıt defterinin özel IP adresine) onaylayın.

Ağdaki diğer kaynaklardan kayıt defterine gelen trafiği sınırlamak için kullanılan NSG kurallarını ve hizmet etiketlerini gözden geçirin.

Kayıt defterine bir hizmet uç noktası yapılandırıldıysa, kayıt defterine bu ağ alt ağından erişime izin veren bir ağ kuralı eklendiğini onaylayın. Hizmet uç noktası yalnızca ağdaki sanal makinelerden ve AKS kümelerinden erişimi destekler.

Farklı bir Azure aboneliğindeki bir sanal ağ kullanarak kayıt defteri erişimini kısıtlamak istiyorsanız kaynak sağlayıcısını bu aboneliğe kaydettiğinizden Microsoft.ContainerRegistry emin olun. Azure portalını, Azure CLI'yı veya diğer Azure araçlarını kullanarak Azure Container Registry için kaynak sağlayıcısını kaydedin.

Ağda Azure Güvenlik Duvarı veya benzer bir çözüm yapılandırıldıysa, AKS kümesi gibi diğer kaynaklardan gelen çıkış trafiğinin kayıt defteri uç noktalarına ulaşmak için etkinleştirilip etkinleştirilmediğini denetleyin.

İlgili bağlantılar:

Hizmet erişimini yapılandırma

Şu anda, ağ kısıtlamaları olan bir kapsayıcı kayıt defterine çeşitli Azure hizmetlerinden erişime izin verilmiyor:

  • Bulut için Microsoft Defender özel uç noktalara, seçili alt ağlara veya IP adreslerine erişimi kısıtlayan bir kayıt defterinde görüntü güvenlik açığı taraması gerçekleştiremez.
  • Bazı Azure hizmetlerinin kaynakları, Azure Uygulaması Hizmeti ve Azure Container Instances gibi ağ kısıtlamalarıyla bir kapsayıcı kayıt defterine erişemez.

Bu Azure hizmetlerine erişim veya kapsayıcı kayıt defterinizle tümleştirme gerekiyorsa ağ kısıtlamasını kaldırın. Örneğin, kayıt defterinin özel uç noktalarını kaldırın veya kayıt defterinin genel erişim kurallarını kaldırın veya değiştirin.

Ocak 2021'den itibaren, belirli güvenilen hizmetlerden erişime izin vermek için ağ kısıtlanmış bir kayıt defteri yapılandırabilirsiniz.

İlgili bağlantılar:

Gelişmiş sorun giderme

Kayıt defterinde kaynak günlükleri koleksiyonu etkinleştirildiyse, ContainterRegistryLoginEvents günlüğünü gözden geçirin. Bu günlük, gelen kimlik ve IP adresi de dahil olmak üzere kimlik doğrulama olaylarını ve durumunu depolar. Kayıt defteri kimlik doğrulaması hataları için günlüğü sorgula.

İlgili bağlantılar:

Sonraki adımlar

Sorununuzu burada çözmezseniz aşağıdaki seçeneklere bakın.