انتقل إلى المحتوى

كلاود

كيف ننفذ النشر متعدد المناطق على AWS؟

  • دقيقتا قراءة

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

كيف ننفذ النشر متعدد المناطق على AWS؟

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

اختر النمط أولًا

  • النسخ الاحتياطي والاستعادة (Backup and restore): تُنسخ النسخ الاحتياطية إلى منطقة ثانية. هذا الخيار هو الأرخص والأبطأ في الاستعادة، وتُقاس مدتها عادةً بالساعات.
  • الشعلة التجريبية (Pilot light): تُنسخ البيانات باستمرار، والبنية الأساسية موجودة في المنطقة الثانية لكنها تبقى متوقفة أو بلا موارد عاملة حتى الحاجة إليها.
  • الاستعداد الدافئ (Warm standby): نسخة أصغر تعمل طوال الوقت، ويُرفع حجمها عند التحويل.
  • التشغيل النشط في المنطقتين (Active-active): تخدم المنطقتان الزيارات الفعلية معًا. وهو الأسرع في التعافي والأعلى تكلفة والأكثر احتياجًا إلى التصميم، خاصة في عمليات الكتابة.

يعتمد الاختيار الصحيح على رقمين يجب أن تتفق عليهما الإدارة: المدة التي يمكن أن يتوقف فيها النظام، وهي هدف زمن الاستعادة (RTO)، وحجم البيانات الحديثة الذي يمكن تحمّل فقدانه، وهو هدف نقطة الاستعادة (RPO). نحسم الرقمين مع صاحب المشروع قبل أن نصمم أي شيء.

مكونات البناء

نعرّف كل شيء كبنية تحتية مكتوبة بالشيفرة باستخدام Terraform أو AWS CDK، لتكون المنطقة الثانية نسخة قابلة لإعادة الإنتاج لا نسخة مبنية يدويًا. وللبيانات نستخدم Aurora Global Database لقواعد البيانات العلائقية، و DynamoDB global tables حيث نحتاج إلى الكتابة في أكثر من منطقة، و S3 Cross-Region Replication للملفات. وتُنسخ صور الحاويات عبر ECR replication، والأسرار عبر خاصية النسخ في AWS Secrets Manager. أما وجهة الزيارات فتحددها فحوص السلامة في Route 53 مع التوجيه بالتحويل عند الفشل أو التوجيه حسب زمن الاستجابة، مع وضع CloudFront في المقدمة.

الأجزاء الصعبة

البيانات هي الجزء الأصعب. فمع النسخ غير المتزامن قد يفقد التحويل عند الفشل آخر ثوانٍ من عمليات الكتابة، والكتابة النشطة في المنطقتين تحتاج إلى معالجة للتعارضات مصممة داخل التطبيق. كما ترتفع التكاليف، لأنك تدفع مقابل موارد في منطقتين إضافة إلى رسوم نقل البيانات بين المناطق. وأخيرًا، خطة التحويل التي لم يختبرها أحد مجرد تخمين، لذا حدّد تدريبات تحويل دورية، يدويًا أو باستخدام AWS Fault Injection Service.

المنطقة الثانية لا تكون موثوقة إلا بقدر آخر اختبار تحويل أجريته.

لديك فكرة مشروع؟

تحدّث معنا على واتساب