السحابة والتشغيل

النسخة الاحتياطية ليست خطة تعافٍ: كيف تختبر استعادة موقعك؟

يخبرك إشعار نجاح النسخ الاحتياطي بأن مهمة ما قد اكتملت. أما اختبار الاستعادة فيجيب عن سؤال آخر: هل تستطيع استرجاع موقع صالح للاستخدام، ببياناته الصحيحة، خلال وقت يمكن لعملك تحمّله؟

حدد معنى التعافي بالنسبة إلى عملك

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

يساعد مصطلحان على توضيح المطلوب. هدف زمن التعافي، أو RTO، هو مدة الانقطاع المقبولة لديك. وهدف نقطة التعافي، أو RPO، يعبّر عن مقدار فقدان البيانات المقبول بوحدات زمنية. هذه أهداف تختارها، وليست وعودًا يحققها منتج النسخ الاحتياطي تلقائيًا.

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

المراجع: AWS: مفاهيم التعافي وRPO وRTO

ميّز بين الموقع والبيانات التي يعتمد عليها

تشمل إرشادات AWS للتعافي البيانات وكود التطبيق والإعدادات والبنية التحتية. طبّق هذا التفريق على موقعك بدل افتراض أن ملفًا مضغوطًا يحتوي على كل شيء.

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

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

عنصر الاستعادةالدليل المطلوب
الكود والملفات الثابتةإصدار معروف وملفات محفوظة وطريقة بناء تعمل
قاعدة البيانات والوسائط المرفوعةنقطة الاستعادة وطريقتها وفحص اتساق البيانات
الإعدادات والأسرارسجل إعدادات محمي ومسار استرداد متاح للمخولين
النطاق وDNS والاستضافةصلاحيات الحسابات والإعدادات المطلوبة ووجهة النشر
الخدمات الخارجيةمسؤول محدد وترتيبات استعادة مستقلة لكل خدمة

المراجع: AWS: التخطيط للنسخ الاحتياطي والاستعادة

جهّز اختبارًا لا يستطيع التأثير في العملاء الحقيقيين

اطلب من المزود التقني تجهيز بيئة اختبار منفصلة ومحمية بصلاحيات وصول قبل الاستعادة. أبقِ حركة الموقع الفعلي وسجلات DNS دون تغيير. الرابط غير المعلن أو إعداد noindex لا يمثلان حماية للوصول.

نقترح حدودًا واضحة للاختبار: لا اتصال بقاعدة بيانات الإنتاج، ولا مفاتيح دفع حقيقية، ولا بريد أو رسائل نصية للعملاء، ولا webhooks نشطة، ولا مهام خلفية يمكنها تعديل أنظمة خارجية. استخدم بيئات تجريبية للتكاملات أو أدوات محلية لالتقاط الرسائل عند الحاجة. تحقق من هذه القيود قبل تشغيل التطبيق المستعاد؛ فقد تبدأ المهام المجدولة فورًا.

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

نفّذ الاستعادة واختبر المهام التي يحتاجها المستخدمون

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

  1. سجّل النسخة الاحتياطية أو إصدار الكود المختار، وتوقيته، ونطاق الاختبار، ووقت بدء التمرين.
  2. تحقق من العزل، ثم استعد الملفات وإعدادات التطبيق وقاعدة البيانات المطلوبة للسيناريو المختار.
  3. افتح مجموعة ممثلة من الصفحات والصور والمستندات، وافحص اللغات والروابط المهمة.
  4. أرسل استفسارًا تجريبيًا إلى أداة التقاط الرسائل. وفي تطبيقات قواعد البيانات، افحص سجلات وعلاقات متفقًا عليها، ثم نفّذ تغييرًا غير ضار داخل النسخة المعزولة.
  5. تأكد من وجود أحدث سجل متوقع، وابحث عن البيانات المفقودة أو غير المتسقة مقارنة بالمرجع المتفق عليه.
  6. سجّل وقت انتهاء التحقق، بما في ذلك الوقت اللازم للحصول على الصلاحيات أو تصحيح التعليمات. قارن المدة الفعلية والفجوة في البيانات بأهدافك.

المراجع: AWS: اختبار الاستعادة للتحقق من سلامة النسخ والإجراءات

استخدم بطاقة نتائج يفهمها صاحب العمل

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

  • السيناريو: ما العطل المفترض، وما الذي استُعيد، وما الذي بقي خارج نطاق الاختبار؟
  • البيانات: ما التوقيت والسجلات النموذجية التي جرى التحقق منها؟
  • الاستخدام: ما مسارات العملاء والموظفين التي عملت داخل النسخة المعزولة؟
  • الوقت: الهدف، والمدة المقاسة، وأسباب التأخير، والخطوات المستبعدة.
  • المتابعة: كل فجوة، والمسؤول عنها، وموعد إعادة اختبارها.

حوّل النتائج إلى خطة تعافٍ قابلة للتكرار

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

نجاح التمرين دليل على السيناريو الذي اختبرته، وليس ضمانًا للتعافي من كل انقطاع. قيمته العملية هي اكتشاف الخطوات والصلاحيات والاعتمادات والقرارات التي قد تؤخر عودة العمل.

المصادر والمزيد من القراءة

قد تتغير إرشادات الخدمات؛ راجع الوثائق المرتبطة عند التطبيق.