النسخ المتماثل الجغرافي في Azure Container Registry

تختار الشركات التي تريد وجودا محليا أو نسخا احتياطيا ساخنا تشغيل الخدمات من مناطق Azure متعددة. كأفضل ممارسة، يتيح وضع سجل حاوية في كل منطقة يتم فيها تشغيل الصور عمليات إغلاق الشبكة، مما يتيح عمليات نقل سريعة وموثوق بها لطبقة الصور. يتيح النسخ المتماثل الجغرافي لسجل حاوية Azure العمل كسجل واحد، يخدم مناطق متعددة مع سجلات إقليمية متعددة الأساسيات.

يوفر السجل المنسوخ جغرافي الفوائد التالية:

  • يمكن استخدام السجل المفرد والصور وأسماء العلامات عبر مناطق متعددة
  • تحسين أداء وموثوقية عمليات النشر الإقليمية من خلال الوصول إلى السجل المقفل للشبكة
  • تقليل تكاليف نقل البيانات عن طريق سحب طبقات الصورة من سجل محلي منسوخ في نفس المنطقة أو المنطقة المجاورة كمضيف الحاوية
  • إدارة واحدة للسجل عبر مناطق متعددة
  • مرونة السجل في حالة حدوث انقطاع إقليمي

إشعار

  • إذا كنت بحاجة إلى الاحتفاظ بنسخ من صور الحاوية في أكثر من سجل حاويات في Azure، فإن Azure Container Registry يدعم أيضاً استيراد الصور. على سبيل المثال، في سير عمل DevOps، يمكنك استيراد صورة من سجل تطوير إلى سجل إنتاج دون الحاجة إلى استخدام أوامر Docker.
  • إذا كنت ترغب في نقل سجل إلى منطقة Azure مختلفة، فبدلاً من النسخ المتماثل الجغرافي للسجل، راجع نقل سجل حاوية يدوياً إلى منطقة أخرى.

المتطلبات الأساسية

  • يتطلب المستخدم الأذونات التالية (على مستوى التسجيل) لإنشاء/حذف النسخ المتماثلة:

    الإذن ‏‏الوصف
    Microsoft.ContainerRegistry/registries/write إنشاء نسخة متماثلة
    Microsoft.ContainerRegistry/registries/replications/write حذف النسخ المتماثل

مثال على حالة الاستخدام

تدير شركة Contoso موقع ويب للتواجد العام في جميع أنحاء الولايات المتحدة وكندا وأوروبا. لخدمة هذه الأسواق بمحتوى محلي وشبكة قريبة، تدير شركة Contoso مجموعات Azure Kubernetes Service‏ (AKS) في غرب الولايات المتحدة وشرق الولايات المتحدة وكندا وسط وغرب أوروبا. يستخدم تطبيق الموقع، الذي تم نشره كصورة Docker، نفس التعليمة البرمجية والصورة في جميع المناطق. يتم استرداد المحتوى المحلي لتلك المنطقة من قاعدة بيانات، والتي يتم توفيرها بشكل فريد في كل منطقة. كل نشر إقليمي له تكوين فريد للموارد مثل قاعدة البيانات المحلية.

يقع فريق التطوير في سياتل، واشنطن، ويستخدم مركز بيانات غرب الولايات المتحدة.

الدفع إلى سجلات متعددة
الدفع إلى سجلات متعددة

قبل استخدام ميزات النسخ المتماثل الجغرافي، كان لدى Contoso سجل مقره الولايات المتحدة في غرب الولايات المتحدة، مع سجل إضافي في غرب أوروبا. لخدمة هذه المناطق المختلفة، دفع فريق التطوير الصور إلى سجلين مختلفين.

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

السحب من سجلات متعددة
السحب من سجلات متعددة

وتشمل التحديات النموذجية للسجلات المتعددة ما يلي:

  • تسحب جميع مجموعات شرق الولايات المتحدة وغرب الولايات المتحدة وكندا الوسطى من سجل غرب الولايات المتحدة، مما يؤدي إلى تكبد رسوم خروج حيث يسحب كل مضيف من مضيفي الحاويات البعيدة الصور من مراكز بيانات غرب الولايات المتحدة.
  • يجب على فريق التطوير دفع الصور إلى سجلات غرب الولايات المتحدة وغرب أوروبا.
  • يجب على فريق التطوير تكوين وصيانة كل نشر إقليمي باستخدام أسماء صور تشير إلى السجل المحلي.
  • يجب تكوين الوصول إلى السجل لكل منطقة.

فوائد النسخ المتماثل الجغرافي

السحب من سجل تم إجراء النسخ المتماثل له جغرافياً

تتمتع ميزة النسخ المتماثل الجغرافي ل Azure Container Registry بالمزايا التالية:

  • إدارة سجل واحد عبر جميع المناطق: contoso.azurecr.io
  • إدارة تكوين واحد لعمليات نشر الصور حيث تستخدم جميع المناطق نفس عنوان URL للصورة: contoso.azurecr.io/public/products/web:1.2
  • ادفع إلى سجل واحد بينما يدير ACR النسخ المتماثل الجغرافي تلقائيا. لا ينسخ ACR بطريقة متماثلة سوى الطبقات الفريدة، مما يقلل من نقل البيانات عبر المناطق.
  • قم بتكوين خطافات الويب الإقليمية لإعلامك بالأحداث في نسخ متماثلة معينة.
  • توفير سجل عالي التوفر قادر على الصمود في وجه الانقطاعات الإقليمية.

يدعم Azure Container Registry أيضاً مناطق التوفر لإنشاء سجل حاوية Azure مرن وعالي التوافر داخل منطقة Azure. إن الجمع بين مناطق التوفر للتكرار داخل المنطقة والنسخ الجغرافي المتماثل عبر مناطق متعددة يعزز موثوقية السجل وأدائه.

تكوين النسخ المماثل الجغرافي

تكوين النسخ المتماثل الجغرافي سهل مثل النقر فوق المناطق على الخريطة. يمكنك أيضاً إدارة النسخ المتماثل الجغرافي باستخدام أدوات بما في ذلك أوامر az acr replication في Azure CLI، أو نشر سجل ممكّن للنسخ الجغرافي باستخدام قالب Azure Resource Manager .

يتوافر النسخ المتماثل الجغرافي مع سجلات Premium. إذا لم يكن السجل الخاص بك Premium بعد، يمكنك التغيير من Basic وStandard إلى Premium في مدخل Azure:

تبديل مستويات الخدمة في مدخل Azure

لتكوين النسخ المتماثل الجغرافي لسجل Premium الخاص بك، سجل الدخول إلى مدخل Microsoft Azure.

انتقل إلى Azure Container Registry، وحدد "Replications":

النُسخ المتماثلة في واجهة مستخدم سجل حاوية مدخل Azure

يتم عرض خريطة تعرض جميع مناطق Azure الحالية:

خريطة المنطقة في مدخل Azure

  • السداسي الأزرق يمثل النُسخ المتماثلة الحالية
  • السداسي الأخضر يمثل مناطق النسخ المتماثل المحتملة
  • يمثل السداسي الرمادي مناطق Azure غير المتوفرة بعد للنسخ المتماثل

لتكوين نسخة متماثلة، حدد سداسياً أخضر، ثم حدد "Create":

إنشاء واجهة مستخدم النسخ المتماثل في مدخل Azure

لتكوين نسخ متماثلة إضافية، حدد السداسي الأخضر للمناطق الأخرى، ثم انقر فوق "Create".

ACR يبدأ مزامنة الصور عبر النسخ المتماثلة المكونة. بمجرد الانتهاء، تعرض البوابة "Ready". لا يتم تحديث حالة النسخة المتماثلة في المدخل تلقائياً. استخدم زر التحديث لمشاهدة الحالة المحدثة.

اعتبارات استخدام سجل منسوخ جغرافياً

  • كل منطقة في سجل منسوخ جغرافيا مستقلة بمجرد الإعداد. يتم تطبيق اتفاقيات مستوى الخدمة (SLA) لـ Azure Container Registry على كل منطقة يتم نسخها جغرافياً.
  • لكل عملية دفع أو سحب صورة على سجل منسوخ جغرافيا، يرسل Azure Traffic Manager في الخلفية طلبا إلى أقرب موقع للسجل في المنطقة للحفاظ على زمن انتقال الشبكة.
  • بعد دفع صورة أو تحديث علامة إلى أقرب منطقة، يستغرق Azure Container Registry بعض الوقت لنسخ البيانات والطبقات إلى المناطق المتبقية التي اخترتها. تستغرق الصور الأكبر وقتاً أطول لتكرارها مقارنة مع الصور الأصغر حجماً. تتم مزامنة الصور والعلامات عبر مناطق النسخ المتماثل مع نموذج تناسق النهائي.
  • لإدارة مهام سير العمل التي تعتمد على دفع التحديثات إلى سجل منسوخ جغرافياً، نوصي بتكوين خطاف الويب للاستجابة لأحداث الدفع. يمكنك إعداد خطاف الويب الإقليمية داخل سجل منسوخ نسخاً متماثلاً جغرافياً لتتبع أحداث الدفع عند اكتمالها عبر المناطق التي يتم نسخ بياناتها نسخاً متماثلاً جغرافياً.
  • لخدمة النقط التي تمثل طبقات المحتوى، يستخدم Azure Container Registry نقاط نهاية البيانات. يمكنك تمكين نقاط نهاية بيانات مخصصة للسجل في كل منطقة من مناطق التي تم نسخ بياناتها نسخاً متماثلاً جغرافياً. تسمح نقاط النهاية هذه بتكوين قواعد الوصول إلى جدار الحماية ذات النطاق الضيق. لأغراض استكشاف الأخطاء وإصلاحها، يمكنك اختيارياً تعطيل التوجيه إلى النسخ متماثل مع الحفاظ على البيانات المنسوخة نسخاً متماثلاً.
  • إذا قمت بتكوين ارتباط خاص للسجل باستخدام نقاط النهاية الخاصة في شبكة ظاهرية، يتم تمكين نقاط نهاية البيانات المخصصة في كل منطقة من المناطق التي تم نسخ بياناتها نسخاً متماثلاً جغرافياً بشكل افتراضي.

اعتبارات توافر عالية

  • للحصول على توفر ومرونة عالية، نوصي بإنشاء سجل في منطقة تدعم تمكين التكرار في المنطقة. يوصى أيضًا بتمكين التكرار في المنطقة في كل منطقة للنسخ المتماثل.
  • إذا حدث انقطاع في المنطقة الأصلية للسجل (المنطقة التي تم إنشاؤها) أو إحدى مناطق النسخ المتماثل الخاصة به، يظل السجل المنسوخ جغرافياً متاحاً لعمليات مستوى البيانات مثل دفع صور الحاوية أو سحبها.
  • إذا أصبحت المنطقة الرئيسية للسجل غير متوفرة، فقد لا تتمكن من تنفيذ عمليات إدارة السجل، بما في ذلك تكوين قواعد الشبكة وتمكين مناطق التوفر وإدارة النسخ المتماثلة.
  • للتخطيط لقابلية وصول عالية لسجل منسوخ جغرافيا مشفر بمفتاح مدار من قبل العميل مخزن في مخزن مفاتيح Azure، راجع إرشادات تجاوز فشل مخزن المفاتيح والتكرار.

حذف نسخة متماثلة

بعد تكوين نسخة متماثلة للسجل، يمكنك حذفه في أي وقت إذا لم تعد هناك حاجة إليه. حذف نسخة متماثلة باستخدام مدخل Azure أو أدوات أخرى مثل الأمر az acr replication delete في CLI Azure.

لحذف نسخة متماثلة في مدخل Azure:

  1. انتقل إلى Azure Container Registry وحدد Replications.
  2. حدد اسم النسخة المتماثلة وحدد حذف. تأكد من رغبتك في حذف النسخة المتماثلة.

لاستخدام CLI Azure لحذف نسخة متماثلة من myregistry في منطقة شرق الولايات المتحدة:

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

أسعار النسخ المماثل الجغرافي

النسخ المتماثل الجغرافي هي ميزة من ميزات مستويات خدمة Premium من Azure Container Registry. عند نسخ سجل نسخاً متماثلاً إلى المناطق التي تريدها، فإنك تتحمل رسوم تسجيل Premium لكل منطقة.

في المثال السابق، قامت شركة Contoso بدمج سجلين إلى سجل واحد، مضيفة نسخًا متماثلة إلى شرق الولايات المتحدة وكندا وسط وغرب أوروبا. ستدفع شركة Contoso رسوم Premium أربع مرات شهرياً، دون أي تكوين أو إدارة إضافية. تسحب كل منطقة الآن صورها محليا، ما يحسن الأداء والموثوقية دون رسوم خروج الشبكة من غرب الولايات المتحدة إلى كندا وشرق الولايات المتحدة.

استكشاف أخطاء عمليات الدفع وإصلاحها باستخدام السجلات المنسوخة جغرافياً

قد لا يدفع عميل Docker الذي يدفع صورة إلى تسجيل منسوخ جغرافياً جميع طبقات الصور وبيانها إلى منطقة واحدة نُسخت بياناتها نسخاً متماثلاً. قد يحدث هذا لأن Azure Traffic Manager يوجه طلبات التسجيل إلى أقرب سجل منسوخ نسخاً متماثلاً للشبكة. إذا كان السجل يحتوي على منطقتين قريبتين للنسخ المتماثل، فيمكن توزيع طبقات الصورة والبيان على الموقعين، وتفشل عملية الدفع عند التحقق من صحة البيان. تحدث هذه المشكلة بسبب طريقة حل اسم DNS للسجل على بعض مضيفي Linux. لا تحدث هذه المشكلة على Windows، الذي يوفر ذاكرة التخزين مؤقت DNS من جانب العميل.

في حالة حدوث هذه المشكلة، يتمثل أحد الحلول في تطبيق ذاكرة التخزين المؤقت لنظام أسماء النطاقات من جانب العميل مثل dnsmasq على مضيف Linux. يساعد هذا في ضمان حل اسم السجل بشكل متسق. إذا كنت تستخدم Linux VM في Azure للدفع إلى سجل، فراجع الخيارات في خيارات تحليل اسم DNS لأجهزة Linux الظاهرية في Azure.

لتحسين دقة DNS لأقرب نسخة متماثلة عند دفع الصور، كوّن سجل منسوخ جغرافيًا في مناطق Azure نفسها كمصدر لعمليات الدفع، أو أقرب منطقة عند العمل خارج Azure.

تعطيل التوجيه إلى النسخ المتماثل مؤقتاً

لاستكشاف أخطاء العمليات المتعلقة بسجل متماثل جغرافيًا وإصلاحها، قد ترغب في تعطيل توجيه Traffic Manager مؤقتًا إلى نسخ متماثل واحد أو أكثر. بدءاً من Azure CLI الإصدار 2.8، يمكنك تكوين خيار --region-endpoint-enabled (معاينة) عند إنشاء منطقة نُسخت بياناتها نسخاً متماثلاً أو تحديثها. عند تعيين خيار --region-endpoint-enabled للنسخة المتماثلة على false، لم يعد Traffic Manager يوجه طلبات عامل الإرساء للدفع أو السحب إلى تلك المنطقة. بشكل افتراضي، يتم تمكين التوجيه إلى جميع النُسخ المتماثلة، ويتم مزامنة البيانات عبر جميع النُسخ المتماثلة سواء أتم تمكين التوجيه أو تعطيله.

لتعطيل التوجيه إلى نسخة متماثلة موجودة، قم أولاً بتشغيل الأمر az acr replication list لسرد النُسخ المتماثلة في السجل. ثم قم بتشغيل الأمر az acr replication update وتعيين --region-endpoint-enabled false لنسخ متماثل معين. على سبيل المثال، لتهيئة الإعداد للنسخ المتماثل westus في myregistry :

# 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

لاستعادة التوجيه إلى النسخ متماثل:

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

إنشاء النسخ المتماثل لسجل تمكين نقطة النهاية الخاصة

عند إنشاء نسخ متماثل جديد للسجل الأساسي الذي تم تمكينه باستخدام نقطة النهاية الخاصة، نوصي بالتحقق من أن هوية المستخدم لديها أذونات إنشاء نقطة نهاية خاصة صالحة. وإلا، تتعثر العملية في حالة التوفير أثناء إنشاء النسخ المتماثل.

اتبع الخطوات التالية إذا واجهتك مشكلة في حالة التزويد أثناء إنشاء النسخ المتماثل للسجل:

  • احذف النسخ المتماثل الذي توقف في حالة التزويد يدويا.
  • Microsoft.Network/privateEndpoints/privateLinkServiceProxies/write أضف الإذن ل هوية المستخدم.
  • إعادة إنشاء طلب النسخ المتماثل للسجل.

ينطبق التحقق من الأذونات هذا فقط على السجلات التي تم تمكين نقطة النهاية الخاصة بها.

الخطوات التالية

تحقق من سلسلة البرامج التعليمية المكونة من ثلاثة أجزاء، النسخ المتماثل الجغرافي في Azure Container Registry. اطّلع على إنشاء سجل منسوخ جغرافيًا، وبناء حاوية، ثم نشرها باستخدام أمر واحد docker push إلى العديد من تطبيقات الويب الإقليمية لمثيلات الحاويات.