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 veyaError 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:
- Güvenlik duvarının arkasındaki Azure kapsayıcı kayıt defterine erişmek için kuralları yapılandırma
- HTTP/HTTPS proxy yapılandırması
- Azure Container Registry’de coğrafi çoğaltma
- Azure Container Registry'i izleme
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:
- Genel IP ağ kurallarını yapılandırma
- Azure Özel Bağlantı kullanarak Azure kapsayıcı kayıt defterine özel olarak Bağlan
- Azure sanal ağında hizmet uç noktası kullanarak kapsayıcı kayıt defterine erişimi kısıtlama
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.
- Sanal ağdaki özel uç noktaya DNS yönlendirmesini
--vnet
onaylamak için parametresiyle az acr check-health komutunu çalıştırın. - DNS araması için veya
nslookup
gibidig
bir ağ yardımcı programı kullanın. - DNS kayıtlarının kayıt defteri FQDN'leri ve veri uç noktası FQDN'lerinin her biri için yapılandırıldığından emin olun.
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:
- Azure Özel Bağlantı kullanarak Azure kapsayıcı kayıt defterine özel olarak Bağlan
- Azure Özel Uç Nokta bağlantı sorunlarını giderme
- Azure sanal ağında hizmet uç noktası kullanarak kapsayıcı kayıt defterine erişimi kısıtlama
- AKS kümeleri için gerekli giden ağ kuralları ve FQDN'ler
- Kubernetes: DNS çözümlemesinde hata ayıklama
- Sanal ağ hizmet etiketleri
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:
- Kapsayıcı kayıt defterleri için Microsoft Defender tarafından Azure Container Registry görüntü taraması
- Geri bildirim gönderin
- Güvenilen hizmetlerin ağ ile kısıtlanmış bir kapsayıcı kayıt defterine güvenli bir şekilde erişmesine izin verme
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:
- Tanılama değerlendirmesi ve denetim günlükleri
- Kapsayıcı kayıt defteri hakkında SSS
- Azure Container Registry için Azure Güvenlik Temeli
- Azure Container Registry için en iyi yöntemler
Sonraki adımlar
Sorununuzu burada çözmezseniz aşağıdaki seçeneklere bakın.
- Diğer kayıt defteri sorun giderme konuları şunlardır:
- Topluluk desteği seçenekleri
- Microsoft Soru&Cevap
- Destek bileti açma