Google Cloud / المتقدم: الحوكمة والاعتمادية والمعمارية / الدرس 17
النسخ الاحتياطي والتعافي من الكوارث
حدد البيانات القابلة للاستعادة والزمن والسيناريو والتحقق التطبيقي قبلعد النسخة حلتعاف.
في هذه الصفحة
أهداف الدرس
- تمييز HA والنسخ والتكرار و RPO و RTO.
- نمذجة فجوة وزمن التعافي.
- تخطيط دليل الاستعادة وملكية الاعتماد.
يبدأ هدف التعافي بسيناريو فشل
تعالج HA استمرار الخدمة لفشل مختار، وتحفظ النسخ تاريخا قابلا للاستعادة، وتنسق DR التعافي بعد اضطراب محدد. قد ينسخ التكرار الخطأ المنطقي سريعا، فلا يحمي تلقائيا من الحذف أوالفساد. حدد نطاقا معطلا أوإقليما أوهوية مخترقة أوترحيلا أوتعديلا خاطئا.
تصف RPO تعرض الفقد المقبول بالنسبة لحد الحادث، وتصف RTO مدة استعادة مستهدفة تحت معيار خدمة محدد. هما هدفان لا ضمانان تلقائيان من المنتج. اخترهما من عواقب العمل وتحقق من إعداد الخدمة ومسار التطبيق اللذين قد يحققانهما.
قياس نقطة التعافي بحد الحادث
يقارن البرنامج دقيقة حادث مخترعة بأحدث دقيقة قابلة للتعافي. تتجاوز فجوة15 هدف10. لا يستنتج إعداد سجل Cloud SQL أوتأخر تكرار كائن أوRPO منتج. تعتمد الفجوة على النقطة المتسقة المتاحة بالفعل، لا وقت جدولة النسخة فقط.
قد لا تصلح نسخة مكتملة بسبب فساد أومفتاح غير متاح أوإصدار غير مدعوم أولقطة تطبيق ناقصة. افصل حالة النسخ وقابلية التعافي والاستعادة المتسقة كتطبيق. سجل الكتابات التي تشملها النقطة المستعادة وكيف يتحقق الحد.
failure_minute = 120
latest_recoverable_minute = 105
target_rpo_minutes = 10
gap = failure_minute - latest_recoverable_minute
assert gap >= 0
print(f"modeled_gap={gap} target={target_rpo_minutes} meets={gap <= target_rpo_minutes}")
modeled_gap=15 target=10 meets=False
تفوت الفجوة الاصطناعية 15 هدف 10 دون فحص نسخة.
لا تعيد استعادة البايتات الخدمة كلها
قد يحتاج التعافي بنية وبيانات وهوية وأسرارا ومفاتيح وDNS وشبكة ونسخة آثار وسعة تابع. افصل سلطة النسخ والاستعادة من كتابة التطبيق كيلا تسيطر هوية مخترقة تلقائيا على كل النسخ. حدد موضع الاستعادة وتصنيف البيانات.
للتكرار عبر الأقاليم أوالاحتياط الدافئ ترقية واتساق وحصص وتوجيه عملاء خاصة بالخدمة. تختلف ترقية Cloud SQL واختيار جيل Storage واستعادة لقطة VM. لا تنقل ادعاء تعافي خدمة لأخرى أوتفترض أن لكل عملية عكسا فوريا.
إدراج الكشف والتحقق في نموذج الوقت
يجمع المثال كشفا واستعادة وتحققا وتحويل حركة مخترعة، فتلائم40 دقيقة هدف45 ضمن النموذج. ليست تجربة مقاسة. حدد بدء الساعة وعمليات المستخدم التي تعد مستعادة ومعالجة الخدمة الجزئية أومطابقة البيانات في حد RTO الحقيقي.
قد تجعل المراحل المتوازية والمدد غير اليقينية المسار الحرج مختلفا من مجموع بسيط. وقد تطغى السعة والموافقة اليدوية. اجمع الوقت والدليل في تمرين مخول وحدث الخطة. لا تنفذ المادة استعادة أوفشلا أوتحويل شبكة أوحادثا سحابيا.
stages = {"detect": 5, "restore": 20, "validate": 10, "switch": 5}
target_rto_minutes = 45
modeled = sum(stages.values())
print(f"modeled_minutes={modeled} target={target_rto_minutes} fits={modeled <= target_rto_minutes}")
modeled_minutes=40 target=45 fits=True
تجمع المراحل 40 دقيقة ولا تقيس تعافي Google Cloud.
يفحص اختبار الاستعادة معنى التطبيق
يفحص تمرين التعافي اكتمال البيانات واتساقها والوصول المخول وتوافق التطبيق وصحة الاعتماد ومعاملات المستخدم وحدود الزمن والبيانات. استخدم موارد معزولة معتمدة وبيانات اصطناعية أومخولة، لا استعادة إنتاج غير مخططة. سجل نسخة الدليل والمالك والنتيجة والفجوة ومسؤول التنظيف.
يتفاعل الاحتفاظ والحذف والثبات والنسخ والحذف اللين والتشفير. قد لا تلبي نسخة تجاوزت عمر مفتاحها أوهوية الوصول هدف التعافي. راجع بعد الترحيل وتغيير السياسة والمعمارية؛ لا يثبت عدد النسخ قدرة التطبيق الحالي على الاستعادة.
الأخطاء الشائعة وإصلاحها
يعد التكرار نسخة لكل خطأ منطقي.
- لماذا يحدث؟
- اختلطت النسخ والتاريخ.
- كيف تصلحه؟
- حدد التهديد والتاريخ المحفوظ.
- كيف تتجنب تكراره؟
- افحص السيناريو مخولا.
تبدأ RTO عند بدء الاستعادة فقط.
- لماذا يحدث؟
- أُهملت الكشف والموافقة والتحقق.
- كيف تصلحه؟
- حدد حدا كاملا.
- كيف تتجنب تكراره؟
- سجل المراحل والمسار الحرج.
تبقى النسخة دون مفتاح.
- لماذا يحدث؟
- اختلفت أعمار الاعتماد.
- كيف تصلحه؟
- راجع المفتاح والهوية والاحتفاظ.
- كيف تتجنب تكراره؟
- أدرج وصول الاستعادة.
اختبر فهمك
1. اكتملت نسخة 09:00 ونقطتها المتسقة 08:50 والحادث 09:05. ماالفجوة؟
اعرض الحل المشروح
الفجوة المناسبة خمس عشرة دقيقة من08:50 إلى09:05، لا خمس من اكتمال المهمة. تحقق من البيانات التي تشملها النقطة المستعادة والساعة والمرجع. لا يثبت وقت الجدولة أوالاكتمال الاتساق أوحد المعاملات المتاح. قارن النقطة المثبتة بهدف RPO المعلن لا بالطابع الأسهل العثور عليه.
2. لماذا قدتفشل RTO رغم استعادة قاعدة؟
اعرض الحل المشروح
قد تفتقد بقية المنظومة شيفرة متوافقة أوسرا أو مفتاحا أوشبكة أوDNS أوسعة أواتصال عملاء أوتحقق معاملات. عرف RTO بمعيار خدمة المستخدم لا نجاح عملية القاعدة فقط. اجرد الاعتماد واختبر المسار الكامل المخول بدليل مقاس، بدلا من استقراء مدة مكون واحد. يجب أن يصبح التطبيق قابلا للاستخدام تحت المعنى المتفق عليه.
أهم ما تعلمته
- ترتبط الأهداف بفشل وحدود محددين.
- تتعافىالنسخ والمفاتيح والهوية والتطبيق معا.
- لا يثبت النموذج استعادة أو SLA.