Azure Container Registry'de coğrafi çoğaltma

Yerel varlık veya hızlı yedekleme isteyen şirketler, hizmetleri birden çok Azure bölgesinden çalıştırmayı seçer. 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. Azure kapsayıcı kayıt defterinin, çoklu ana kaynağa sahip bölgesel kayıt defterleri ile birden çok bölgeyi sunan tek bir kayıt defteri olarak işlev görmesini sağlar.

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ğa yakın kayıt defteri erişimiyle bölgesel dağıtımların performansını ve güvenilirliğini geliştirme
  • Kapsayıcı ana bilgisayarla aynı veya yakın bölgedeki yerel, çoğaltılmış kayıt defterinden görüntü katmanlarını çekerek veri aktarımı maliyetlerini düşürebilirsiniz
  • Birden çok bölgede kayıt defterinin tek noktadan yönetimi
  • Bölgesel bir kesinti oluşursa kayıt defterine karşı güvenlik

Not

  • Kapsayıcı görüntülerinin kopyalarını birden fazla Azure kapsayıcı kayıt defterinde saklamanız gerekirse, Azure Container Registry içeri aktarmayı da destekler. Örneğin, bir DevOps iş akışında, Docker komutlarını kullanmak zorunda kalmadan bir geliştirme kayıt defterinden üretim kayıt defterine görüntü aktarabilirsiniz.
  • Kayıt defterini coğrafi çoğaltmak yerine farklı bir Azure bölgesinde taşımak için bkz. Kapsayıcı kayıt defterini başka bir bölgeye el ile taşıma.

Örnek kullanım örneği

Contoso ABD, Kanada ve Avrupa'da bulunan bir genel varlık web sitesi çalıştırmaktadır. Contoso, bu pazarlara yerel ve ağa yakın içerikle hizmet vermek için Azure Kubernetes Service, Batı ABD Doğu ABD, Orta Kanada ve Azure Kubernetes Service kümelerini Batı Avrupa. 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 olan 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, veri merkezinden Batı ABD var.

Birden çok kayıt deftere itme
Birden çok kayıt deftere itme

Coğrafi çoğaltma özelliklerini kullanmadan önce Contoso'da abd tabanlı bir kayıt defteri vardı Batı ABD'da ek bir kayıt defteri Batı Avrupa. Geliştirme ekibi bu farklı bölgelere hizmet vermek için görüntüleri iki farklı kayıt defterlerine iletir.

docker push contoso.azurecr.io/public/products/web:1.2
docker push contosowesteu.azurecr.io/public/products/web:1.2

Birden çok kayıttan çekme
Birden çok kayıttan çekme

Birden çok kayıt defterlerinin tipik zorlukları şunlardır:

  • Doğu ABD, Batı ABD ve Orta Kanada kümelerinin hepsi Batı ABD kayıt defterinden çekiliyor ve bu uzak kapsayıcı konaklarının her biri Batı ABD veri merkezlerinden görüntü çekmektedir.
  • Geliştirme ekibinin görüntüleri kayıt defterleri Batı ABD Batı Avrupa gerekir.
  • Geliştirme ekibinin yerel kayıt defterine başvuran görüntü adlarına sahip her bir bölgesel dağıtımı yapılandırması ve koruması gerekir.
  • Her bölge için kayıt defteri erişimi yapılandırıldı.

Coğrafi çoğaltmanın avantajları

Coğrafi olarak çoğaltılmış kayıt defterinden çekme

Coğrafi çoğaltma özelliğini kullanarak Azure Container Registry şu avantajlara sahip oluruz:

  • Tüm bölgelerde tek bir kayıt defterini yönetme: contoso.azurecr.io
  • Tüm bölgeler aynı görüntü URL'sini kullanır ve 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 coğrafi çoğaltmayı otomatik olarak yönetirken tek bir kayıt defterine itme. ACR yalnızca benzersiz katmanları çoğaltarak bölgeler arasında veri aktarımını azaltıyor.
  • Belirli çoğaltmalarda olayları size bildirmek için bölgesel web kancalarını yapılandırma.
  • Bölgesel kesintilere karşı yüksek oranda kullanılabilir bir kayıt defteri sağlama.

Azure Container Registry, bir Azure bölgesi içinde bir azure kapsayıcı kayıt defteri oluşturmak için kullanılabilirlik alanları da destekler. Bir bölge içinde yedeklilik ve birden çok bölgede coğrafi çoğaltma için kullanılabilirlik alanları birleşimi, kayıt defterinin hem güvenilirliğini hem de performansını artırır.

Coğrafi çoğaltmayı yapılandırma

Coğrafi çoğaltmayı yapılandırmak, harita üzerinde bölgelere tıklamak kadar kolaydır. Ayrıca, Azure CLI'daki az acr replication komutları da dahil olmak üzere araçları kullanarak coğrafi çoğaltmayı yönetebilir veya bir coğrafi çoğaltma şablonuyla coğrafi çoğaltma için etkinleştirilmiş bir kayıt Azure Resource Manager dağıtabilirsiniz.

Coğrafi çoğaltma, kayıt defterlerinin Premium özelliğidir. Kayıt defteriniz henüz açık Premium, temel ve standart Premium için Azure portal:

Hizmet katmanlarını Azure portal

Kayıt defteriniz için coğrafi çoğaltmayı Premium için, Azure portal oturum https://portal.azure.com açma.

Uygulamanıza gidin Azure Container Registry Çoğaltmalar'ı seçin:

Azure portalı kapsayıcı kayıt defteri kullanıcı arabirimindeki Çoğaltmalar

Tüm geçerli Azure Bölgelerini gösteren bir harita görüntülenir:

Azure portalındaki bölge haritası

  • Mavi altıgenler geçerli çoğaltmaları temsil ediyor
  • Yeşil altıgenler olası çoğaltma bölgelerini temsil ediyor
  • Gri altıgenler henüz çoğaltma için kullanılabilir olan Azure bölgelerini temsil ediyor

Çoğaltmayı yapılandırmak için yeşil bir altıgen seçin ve ardından Oluştur'a seçin:

Azure portalında çoğaltma oluşturmaya yönelik kullanıcı arabirimi

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, yapılandırılan çoğaltmalar arasında görüntüleri eşitlemeye başlar. Tamamlandıktan sonra portal Hazır 'i yansıtıyor. Portalda çoğaltma durumu otomatik olarak güncelleştirilz. Güncelleştirilmiş durumu görmek için yenile düğmesini kullanın.

Coğrafi olarak çoğaltılmış kayıt defteri kullanımında dikkat edilmesi gerekenler

  • Coğrafi olarak çoğaltılmış kayıt defterindeki her bölge, ayar yapıldıktan sonra bağımsızdır. Azure Container Registry SLA'lar coğrafi olarak çoğaltılmış her bölge için geçerlidir.
  • Coğrafi olarak çoğaltılmış bir kayıt defterinden görüntü gönderip çekerek Azure Traffic Manager, isteği ağ gecikme süresi açısından size en yakın bölgede bulunan kayıt defterine gönderir.
  • Bir görüntü veya etiket güncelleştirmesini en yakın bölgeye Azure Container Registry bildirimlerin ve katmanların kabul ettiği diğer bölgelere çoğaltılması biraz zaman alır. Büyük görüntülerin daha küçük görüntüleri çoğaltması daha uzun sürer. Görüntüler ve etiketler, son tutarlılık modeliyle çoğaltma bölgeleri arasında eşitlenir.
  • Coğrafi olarak çoğaltılmış bir kayıt defterine yapılan anında güncelleştirmelere bağlı iş akışlarını yönetmek için, web kancalarını anında yükleme olaylarına yanıt vermek üzere yapılandırmanızı öneririz. Coğrafi olarak çoğaltılmış bölgelerdeki anında yükleme olaylarını izlemek için coğrafi olarak çoğaltılmış kayıt defterinde bölgesel web kancaları kurarak olayları izleyebilirsiniz.
  • İçerik katmanlarını temsil eden blobları Azure Container Registry uç noktalarını kullanır. Kayıt defterinizin coğrafi olarak çoğaltılmış bölgelerinin her birsinde 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ırmasına olanak sağlar. Sorun giderme amacıyla, çoğaltılan verileri korurken isteğe bağlı olarak çoğaltmaya yönlendirmeyi devre dışı abilirsiniz.
  • Bir sanal ağ içinde ö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 birsinde ayrılmış veri uç noktaları varsayılan olarak etkindir.

Yüksek kullanılabilirlik ile ilgili dikkat edilmesi gerekenler

  • Yüksek kullanılabilirlik ve güvenlik için, bölge yedekliliğini etkinleştirmeyi destekleyen bir bölgede kayıt defteri oluşturmanız önerilir. Her çoğaltma bölgesinde bölge yedekliliği etkinleştirme de önerilir.
  • Kayıt defterinin ana bölgesinde (oluşturulduktan sonra) veya çoğaltma bölgelerinden biri kesinti oluşursa, kapsayıcı görüntülerinin itme veya çekme gibi veri düzlemi işlemleri için coğrafi olarak çoğaltılmış bir kayıt defteri kullanılabilir durumda kalır.
  • Kayıt defterinin giriş bölgesi kullanılamaz duruma gelirse ağ kurallarını yapılandırma, kullanılabilirlik bölgelerini etkinleştirme ve çoğaltmaları yönetme gibi kayıt defteri yönetim işlemlerini gerçekleştireamayabilirsiniz.
  • 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 yedekliliği ile ilgili kılavuzu gözden geçirin.

Bir çoğaltmayı sil

Kayıt defteriniz için bir çoğaltma yapılandırdıktan sonra, artık gerekli kalmasa istediğiniz zaman silebilirsiniz. Azure CLI'de Azure portal az acr replication delete komutu gibi diğer araçları kullanarak çoğaltmayı silin.

Çoğaltmayı Azure portal:

  1. Uygulamanıza gidin Azure Container Registry'yi seçin.
  2. Çoğaltmanın adını ve ardından Sil'i seçin. Çoğaltmayı silmek istediğinizden emin olmak.

Azure CLI kullanarak Doğu ABD bölgesinde myregistry çoğaltmasını silmek için:

az acr replication delete --name eastus --registry myregistry

Coğrafi çoğaltma fiyatlandırması

Coğrafi çoğaltma, coğrafi çoğaltmanın Premium katmanının Azure Container Registry. Bir kayıt defterini istediğiniz bölgelere çoğaltarak her bölge için Premium ücret ödemeniz gerekir.

Yukarıdaki örnekte Contoso iki kayıt şirketini bir kayıt defterlerine birleştirerek Doğu ABD, Orta Kanada ve Batı Avrupa. Contoso ek yapılandırma veya Premium ödemeden aylık dört kez ödeme yaptı. Her bölge artık görüntülerini yerel olarak çeker, performansı, Batı ABD ağ çıkış ücretleri olmadan Kanada ve Doğu ABD artırır.

Coğrafi olarak çoğaltılan kayıt defterlerine gönderim işlemleri sorunlarını giderme

Bir görüntüyü coğrafi olarak çoğaltılan bir kayıt defterine ileten bir Docker istemcisi, tüm görüntü katmanlarını ve bildirimini tek bir çoğaltılan bölgeye gönderemeyebilir. bu durum, kayıt defteri isteklerini ağa en yakın çoğaltılan kayıt defterine yönlendirdiğinde Azure Traffic Manager meydana gelebilir. Kayıt defterinde yakın 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ındaki kayıt defteri DNS adının çözümlenme yöntemi nedeniyle oluşur. bu sorun, istemci tarafı DNS önbelleği sağlayan Windows oluşmaz.

Bu sorun oluşursa, bir çözüm, Linux ana bilgisayarına gibi bir istemci tarafı DNS önbelleğinin uygulanmasından biridir dnsmasq . Bu, kayıt defteri adının tutarlı bir şekilde çözümlendiğinden emin olmanıza yardımcı olur. Azure 'da bir kayıt defterine göndermek için bir Linux VM kullanıyorsanız, bkz. Azure 'Da Linux sanal makineleri Için DNS ad çözümleme seçenekleriseçenekleri.

Görüntüleri gönderirken en yakın çoğaltma ile DNS çözümlemesini iyileştirmek için, çekme işlemlerinin kaynağıyla aynı Azure bölgelerinde coğrafi olarak çoğaltılan bir kayıt defteri veya Azure dışında çalışırken en yakın bölgeyi yapılandırın.

Çoğaltmaya yönlendirmeyi geçici olarak devre dışı bırak

coğrafi olarak çoğaltılan bir kayıt defteriyle ilgili sorunları gidermek için, bir veya daha fazla çoğaltma için Traffic Manager yönlendirmeyi geçici olarak devre dışı bırakmak isteyebilirsiniz. Azure CLı sürüm 2,8 ' den başlayarak, --region-endpoint-enabled çoğaltılan bölge oluştururken veya güncelleştirdiğinizde bir seçenek (Önizleme) yapılandırabilirsiniz. ' a bir çoğaltma seçeneğini belirlediğinizde --region-endpoint-enabledfalse , Traffic Manager artık docker push veya çekme isteklerini bu bölgeye yönlendirmez. Varsayılan olarak, tüm çoğaltmalar için yönlendirme etkindir ve tüm çoğaltmalar genelinde veri eşitlemesi yönlendirmenin etkin veya devre dışı olup olmadığını meydana getirebilir.

Mevcut bir çoğaltmaya yönlendirmeyi devre dışı bırakmak için öncelikle kayıt defterindeki çoğaltmaları listelemek üzere az ACR çoğaltma listesini çalıştırın. Ardından, az ACR çoğaltma güncelleştirmesini çalıştırın ve belirli bir çoğaltma için ayarlayın. Örneğin, myregistryiçinde westus çoğaltması için ayarı 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 bir çoğaltmaya geri yüklemek için:

az acr replication update --name westus \
  --registry myregistry --resource-group MyResourceGroup \
  --region-endpoint-enabled true

Sonraki adımlar

Azure Container Registry coğrafi çoğaltmaolmak üzere üç parçalı öğretici serisine göz atın. Coğrafi olarak çoğaltılan bir kayıt defteri oluşturma, kapsayıcı oluşturma ve daha sonra docker push kapsayıcı örnekleri için birden çok bölgesel Web Apps tek bir komutla dağıtma adımları.