Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yerel varlık veya acil yedek isteyen şirketler, birden çok Azure bölgesinden hizmetlerini yürütmeyi tercih eder. En iyi yöntem olarak görüntülerin çalıştığı her bölgeye bir kapsayıcı kayıt defteri yerleştirmek, hızlı ve güvenilir görüntü katmanı aktarımları sağlayan ağa yakın işlemlere olanak tanır. Coğrafi çoğaltma, bir Azure kapsayıcı kayıt defterinin tek bir kayıt defteri olarak çalışmasını sağlar ve birden çok bölgeye çok birincil bölgesel kayıt defterleri ile hizmet verir.
Coğrafi olarak çoğaltılmış bir kayıt defteri aşağıdaki avantajları sağlar:
- Tek kayıt defteri, görüntü ve etiket adları birden çok bölgede kullanılabilir
- Ağ erişimine yakın kayıt defteri kullanımıyla bölgesel dağıtımların performansını ve güvenilirliğini artırma
- Görüntü katmanlarını, kapsayıcı konağınızla aynı veya yakın bölgedeki yerel, çoğaltılmış bir kayıt deposundan çekerek veri aktarım maliyetlerini azaltın.
- Birden çok bölgede kayıt defterinin tek noktadan yönetimi
- Bölgesel bir kesinti oluşursa kayıt defteri dayanıklılığı
Not
- Kapsayıcı görüntülerinin kopyalarını birden fazla Azure kapsayıcı kayıt defterinde tutmanız gerekiyorsa, Azure Container Registry görüntü içeri aktarmayı da destekler. Örneğin DevOps iş akışında, Docker komutlarını kullanmanıza gerek kalmadan geliştirme kayıt defterinden bir görüntüyü üretim kayıt defterine aktarabilirsiniz.
- Azure kayıt defterini coğrafi olarak çoğaltmak yerine farklı bir bölgeye taşımak istiyorsanız Kapsayıcı kayıt defterini el ile başka bir bölgeye taşıma bölümüne bakın.
Önkoşullar
Kullanıcı, çoğaltmaları oluşturmak/silmek için aşağıdaki izinlere (kayıt defteri düzeyinde) ihtiyaç duyar:
İzin Açıklama Microsoft.ContainerRegistry/kayıt defterleri/yazma Kopya oluştur Microsoft.ContainerRegistry/kayıt defterleri/çoğaltmalar/yazma Çoğaltmayı silme
Örnek kullanım örneği
Contoso, ABD, Kanada ve Avrupa genelinde faaliyet gösteren bir halka açık web sitesi çalıştırmaktadır. Contoso, bu pazarlara yerel ve ağa yakın içerikle hizmet vermek için Batı ABD, Doğu ABD, Orta Kanada ve Batı Avrupa'da Azure Kubernetes Service (AKS) kümeleri çalıştırır. Docker görüntüsü olarak dağıtılan web sitesi uygulaması, tüm bölgelerde aynı kodu ve görüntüyü kullanır. Bu bölgede yerel içerik, her bölgede benzersiz olarak sağlanan bir veritabanından alınır. Her bölgesel dağıtımın, yerel veritabanı gibi kaynaklar için benzersiz yapılandırması vardır.
Geliştirme ekibi Seattle, WA'da bulunur ve Batı ABD veri merkezini kullanır.
Birden çok kayıt defterine gönderme
Contoso, coğrafi çoğaltma özelliklerini kullanmadan önce Batı ABD'de ABD tabanlı bir kayıt defterine ve Batı Avrupa'da ek kayıt defterine sahipti. Geliştirme ekibi bu farklı bölgelere hizmet vermek için iki farklı kayıt defterine görüntü göndermektedir.
docker push contoso.azurecr.io/public/products/web:1.2
docker push contosowesteu.azurecr.io/public/products/web:1.2
Birden çok kayıt deposundan çekme
Birden çok kayıt defterinin tipik zorlukları şunlardır:
- Tüm Doğu ABD, Batı ABD ve Kanada Orta kümeleri, Batı ABD kayıt defterinden görüntü çekiyor, bu da her bir uzak kapsayıcı ana makinelerin Batı ABD veri merkezlerinden görüntü çekmesiyle çıkış ücretlerine yol açar.
- Geliştirme ekibinin Batı ABD ve Batı Avrupa kayıt defterlerine görüntü göndermesi gerekiyor.
- Geliştirme ekibinin, her bölgesel dağıtımı, yerel kayıt defterine referans veren görüntü adlarıyla yapılandırması ve bakımını yapması gerekmektedir.
- Kayıt defteri erişimi her bölge için yapılandırılmalıdır.
Coğrafi çoğaltmanın avantajları
Azure Container Registry'nin coğrafi çoğaltma özelliği aşağıdaki avantajlara sahiptir:
- Tüm bölgelerde tek bir kayıt defterini yönetme:
contoso.azurecr.io
- Tüm bölgeler aynı görüntü URL'sini kullandığından görüntü dağıtımlarının tek bir yapılandırmasını yönetin:
contoso.azurecr.io/public/products/web:1.2
- ACR'nin coğrafi çoğaltmayı otomatik olarak yönetmesiyle tek bir kayıt defterine gönderim yapın. ACR yalnızca benzersiz katmanları çoğaltarak bölgeler arasında veri aktarımını azaltır.
- Belirli çoğaltmalardaki olaylar hakkında size bildirimde bulunmak için bölgesel webhooks yapılandırın.
- Bölgesel kesintilere dayanıklı, yüksek oranda kullanılabilir bir kayıt defteri sağlayın.
Azure Container Registry, bir Azure bölgesinde dayanıklı ve yüksek kullanılabilirliğe sahip bir Azure kapsayıcı kayıt defteri oluşturmak için kullanılabilirlik alanlarını da destekler. Bir bölge içinde yedeklilik için kullanılabilirlik alanlarının ve birden çok bölgede coğrafi çoğaltmanın birleşimi, bir kayıt defterinin hem güvenilirliğini hem de performansını artırır.
Coğrafi çoğaltmayı yapılandırın
Coğrafi çoğaltmayı yapılandırmak, haritadaki bölgelere tıklamak kadar kolaydır. Ayrıca Azure CLI'daki az acr replication komutları dahil olmak üzere araçları kullanarak coğrafi çoğaltmayı yönetebilir veya Azure Resource Manager şablonuyla coğrafi çoğaltma için etkinleştirilmiş bir kayıt defteri dağıtabilirsiniz.
Coğrafi çoğaltma, Premium kayıt defterlerinin bir özelliğidir. Kayıt defteriniz henüz Premium değilse, Azure portalında Temel ve Standart'tan Premium'a geçiş yapabilirsiniz:
Premium kayıt defteriniz için coğrafi çoğaltmayı yapılandırmak için Azure portalında oturum açın.
Azure Container Registry'nize gidin ve Çoğaltmalar'ı seçin:
Tüm geçerli Azure Bölgelerini gösteren bir harita görüntülenir:
- Mavi altıgenler mevcut kopyaları temsil eder
- Yeşil altıgenler olası çoğaltma bölgelerini gösterir.
- Gri altıgenler, çoğaltma için henüz kullanılamayan Azure bölgelerini temsil eder
Çoğaltmayı yapılandırmak için yeşil bir altıgen seçin ve ardından Oluştur'u seçin:
Ek çoğaltmaları yapılandırmak için diğer bölgeler için yeşil altıgenleri seçin ve oluştur'a tıklayın.
ACR, görüntüleri önceden yapılandırılmış çoğaltmalar arasında eşitlemeye başlar. Tamamlandıktan sonra portal Hazır'ı yansıtır. Portaldaki çoğaltma durumu otomatik olarak güncelleştirilmez. Güncelleştirilmiş durumu görmek için yenile düğmesini kullanın.
Coğrafi olarak çoğaltılmış kayıt defteri kullanma konusunda dikkat edilmesi gerekenler
- Coğrafi olarak çoğaltılan kayıt defterindeki her bölge, ayarlandıktan sonra bağımsızdır. Azure Container Registry SLA'ları coğrafi olarak çoğaltılmış her bir bölgeye uygulanır.
- Coğrafi olarak çoğaltılan bir kayıt defterindeki her görüntü itme veya çekme işlemi için arka planda Azure Traffic Manager, ağ gecikme süresini korumak amacıyla kayıt defterinin bölgedeki en yakın konumuna bir istek gönderir.
- Bir görüntü veya etiket güncelleştirmesini en yakın bölgeye gönderdikten sonra Azure Container Registry'nin bildirimleri ve katmanları seçtiğiniz kalan bölgelere çoğaltması biraz zaman alır. Daha büyük resimlerin çoğaltılması, küçük resimlerden daha uzun sürer. Görüntüler ve etiketler, çoğaltma bölgeleri arasında, sonunda tutarlılık sağlayan bir model kullanılarak eşitlenir.
- Coğrafi olarak çoğaltılmış bir kayıt defterine gelen gönderme güncellemelerine bağlı iş akışlarını yönetmek için web kancalarını, bu gönderim olaylarına yanıt verecek şekilde yapılandırmanızı öneririz. Coğrafi olarak çoğaltılan bölgelerde tamamlanan gönderme olaylarını izlemek için coğrafi olarak çoğaltılan bir kayıt defterinde bölgesel web kancaları ayarlayabilirsiniz.
- Azure Container Registry, içerik katmanlarını temsil eden bloblara hizmet vermek için veri uç noktalarını kullanır. Kayıt defterinizin coğrafi olarak çoğaltılmış bölgelerinin her birinde kayıt defteriniz için ayrılmış veri uç noktalarını etkinleştirebilirsiniz. Bu uç noktalar sıkı kapsamlı güvenlik duvarı erişim kurallarının yapılandırılmasına izin verir. Sorun giderme amacıyla, çoğaltılan verileri korurken isteğe bağlı olarak çoğaltmaya yönlendirmeyi devre dışı bırakabilirsiniz.
- Sanal ağdaki özel uç noktaları kullanarak kayıt defteriniz için özel bir bağlantı yapılandırıyorsanız, coğrafi olarak çoğaltılan bölgelerin her birinde ayrılmış veri uç noktaları varsayılan olarak etkinleştirilir.
Yüksek kullanılabilirlik için dikkat edilmesi gerekenler
- Yüksek kullanılabilirlik ve dayanıklılık için, bölge yedekliliğini etkinleştirmeyi destekleyen bir bölgede kayıt defteri oluşturmanızı öneririz. Her replikasyon bölgesi için bölge yedekliliğini etkinleştirmeniz önerilir.
- Kayıt defterinin oluşturulduğu ana bölgede veya çoğaltma bölgelerinden birinde kesinti meydana gelirse, coğrafi çoğaltılmış kayıt defteri, kapsayıcı görüntüleri gönderme veya çekme gibi veri düzlemi işlemleri için kullanılabilir durumda kalır.
- Kayıt defterinin giriş bölgesi kullanılamaz duruma gelirse, ağ kurallarını yapılandırma, kullanılabilirlik alanlarını etkinleştirme ve çoğaltmaları yönetme gibi kayıt defteri yönetim işlemlerini gerçekleştiremeyebilirsiniz.
- Azure anahtar kasasında depolanan müşteri tarafından yönetilen bir anahtarla şifrelenmiş coğrafi olarak çoğaltılmış bir kayıt defterinin yüksek kullanılabilirliğini planlamak için anahtar kasası yük devretme ve yedeklilik yönergelerini gözden geçirin.
Kopyayı sil
Kayıt defteriniz için bir çoğaltma yapılandırdıktan sonra, artık gerekli değilse istediğiniz zaman silebilirsiniz. Azure portalı veya Azure CLI'daki az acr replication delete komutu gibi diğer araçları kullanarak bir replikayı silin.
Azure portalında bir çoğaltmayı silmek için:
- Azure Container Registry'nize gidin ve Çoğaltmalar'ı seçin.
- Çoğaltmanın adını seçin ve Sil'i seçin. Kopyayı silmeyi istediğinizi onaylayın.
Azure CLI kullanarak Doğu ABD bölgesindeki myregistry kayıt defterinin bir çoğaltmasını silmek için:
az acr replication delete --name eastus --registry myregistry
Coğrafi çoğaltma fiyatlandırması
Coğrafi çoğaltma, Azure Container Registry'nin Premium hizmet katmanının bir özelliğidir. Bir kayıt defterini istediğiniz bölgelere çoğalttığınızda, her bölge için Premium kayıt defteri ücretlerine tabi olursunuz.
Önceki örnekte Contoso, iki kaydı tek bir kayıt altında birleştirip Doğu ABD, Orta Kanada ve Batı Avrupa'ya çoğaltmalar eklemiş. Contoso ek yapılandırma veya yönetim olmadan ayda dört kez Premium ödeme yapar. Her bölge artık görüntülerini yerel olarak çekerek Batı ABD'den Kanada'ya ve Doğu ABD'ye ağ çıkış ücretleri olmadan performansı ve güvenilirliği artırıyor.
Coğrafi olarak çoğaltılan kayıt defterleriyle gönderme işlemleriyle ilgili sorunları giderme
Bir görüntüyü coğrafi olarak çoğaltılmış bir kayıt defterine gönderebilen bir Docker istemcisi, tüm görüntü katmanlarını ve bildirimini tek bir çoğaltılmış bölgeye göndermeyebilir. Bunun nedeni Azure Traffic Manager'ın kayıt defteri isteklerini ağa en yakın çoğaltılmış kayıt defterine yönlendirmesi olabilir. Kayıt defterinin yakınlardaki iki çoğaltma bölgesi varsa, görüntü katmanları ve bildirim iki siteye dağıtılabilir ve bildirim doğrulandığında gönderme işlemi başarısız olur. Bu sorun, bazı Linux konaklarında kayıt defterinin DNS adının çözümlenme şekli nedeniyle ortaya çıkar. Bu sorun, istemci tarafında DNS önbelleği sağlayan Windows'ta ortaya çıkmaz.
Bu sorun ortaya çıkarsa çözümlerden biri Linux konağındaki dnsmasq
gibi bir istemci tarafı DNS önbelleği uygulamaktır. Bu, kayıt defterinin adının tutarlı bir şekilde çözümlendiğinden emin olunmasını sağlar. Azure'da bir kayıt defterine iletmek için bir Linux VM kullanıyorsanız, Azure'da Linux sanal makineleri için DNS Ad Çözümleme seçeneklerine bakın.
Görüntüleri gönderirken DNS çözümlemesini en yakın çoğaltmada en iyi duruma getirmek için, gönderme işlemlerinin kaynağıyla aynı Azure bölgelerinde veya Azure dışında çalışırken en yakın bölgede coğrafi olarak çoğaltılmış bir kayıt defteri yapılandırın.
Replikasyona yönlendirmeyi geçici olarak devre dışı bırakma
Coğrafi olarak çoğaltılmış bir kayıt defteriyle ilgili işlemlerin sorunlarını gidermek için Traffic Manager'ın bir veya daha fazla çoğaltmaya yönlendirmesini geçici olarak devre dışı bırakmak isteyebilirsiniz. Azure CLI sürüm 2.8'den başlayarak, çoğaltılmış bir bölge oluşturduğunuzda veya güncelleştirdiğinizde bir --region-endpoint-enabled
seçenek (önizleme) yapılandırabilirsiniz. Bir çoğaltma --region-endpoint-enabled
seçeneğini olarak false
ayarladığınızda Traffic Manager artık docker gönderme veya çekme isteklerini bu bölgeye yönlendirmez. Varsayılan olarak, tüm çoğaltmalara yönlendirme etkinleştirilir ve yönlendirmenin etkin veya devre dışı olması fark etmeksizin tüm çoğaltmalar arasında veri eşitleme gerçekleşir.
Var olan bir çoğaltmaya yönlendirmeyi devre dışı bırakmak için önce az acr replication list komutunu çalıştırarak kayıt defterindeki çoğaltmaları listeleyin. Ardından az acr replication update komutunu çalıştırın ve belirli bir çoğaltma için --region-endpoint-enabled false
ayarlayın. Örneğin, myregistry içindeki westus çoğaltmasını yapılandırmak için:
# Show names of existing replications
az acr replication list --registry --output table
# Disable routing to replication
az acr replication update --name westus \
--registry myregistry --resource-group MyResourceGroup \
--region-endpoint-enabled false
Yönlendirmeyi çoğaltmaya geri yüklemek için:
az acr replication update --name westus \
--registry myregistry --resource-group MyResourceGroup \
--region-endpoint-enabled true
Özel Uç Nokta özellikli kayıt defteri için çoğaltma oluşturma
Özel Uç Nokta ile etkinleştirilen birincil kayıt defteri için yeni bir kayıt defteri çoğaltması oluştururken, Kullanıcı Kimliği'nin geçerli Özel Uç Nokta oluşturma izinlerine sahip olduğunu doğrulamanızı öneririz. Aksi takdirde, çoğaltma oluşturulurken işlem sağlama durumunda takılı kalır.
Kayıt defteri çoğaltmasını oluştururken sağlama durumunda takıldıysanız aşağıdaki adımları izleyin:
- Sağlama aşamasında takılan çoğaltmayı manuel olarak silin.
- Kullanıcı Kimliği için
Microsoft.Network/privateEndpoints/privateLinkServiceProxies/write
iznini ekleyin. - Kayıt defteri çoğaltma isteğini yeniden oluşturun.
Bu izin denetimi yalnızca Özel Uç Nokta'nın etkinleştirildiği kayıt defterleri için geçerlidir.
Sonraki adımlar
Azure Container Registry'de coğrafi çoğaltma adlı üç bölümlü öğretici serisine göz atın. Coğrafi olarak çoğaltılmış bir kayıt defteri oluşturma, bir kapsayıcı oluşturma ve ardından tek bir docker push
komutuyla kapsayıcıyı birden çok bölgesel Web Apps örneğine dağıtma adımlarını izleyin.