اختر تصميم التوافر عبر نطاقات ومناطق متعددة
مكتملقارن التوافر العالي وتصاميم Multi-AZ وتعدد المناطق. تتبّع مسار الطلب كاملاً واختبر الإخفاق الذي يجب أن يتحمله كل تصميم.
تحقّق من فهمكتعمل نسختا ويب في نطاقي توافر مختلفين. وتعتمدان على قاعدة البيانات نفسها في نطاق واحد. ماذا يثبت ذلك؟نفّذ التمرين
ما ستتعلّمه
- شرح الفرق بين نطاق توافر Availability Zone ومنطقة Region.
- العثور على تبعيات مشتركة تُفشل تصميم التوافر.
- مقارنة القيمة التجارية والتكلفة التشغيلية للنشر في مناطق متعددة.
ابدأ بعملية المستخدم
يهدف التوافر العالي (HA) إلى إبقاء الخدمة قابلة للاستخدام رغم إخفاق المكوّنات. حدّد قابلية الاستخدام قبل اختيار المعمارية. صفحة حجز تُحمّل بينما تفشل كل طلبات الحجز ليست خدمة حجز متاحة.
حدّد هدف مستوى خدمة (SLO) للعملية المهمة. عرّف الطلبات المحتسبة ومعنى النجاح وفترة القياس. تصف اتفاقية مستوى الخدمة (SLA) لخدمة سحابية التزام مزوّدها. ولا تثبت التوافر المقاس لتطبيقك.
للتوضيح، يسمح توافر زمني بنسبة 99.9% بعدم توافر قدره 43.2 دقيقة في شهر من 30 يوماً. ولـ SLO القائم على الطلبات مقام حساب مختلف. لا يحدّد أي المقياسين مقدار البيانات التي يمكن فقدها، ولا يضمن حداً أقصى لانقطاع فردي.
افهم حدود الإخفاق
نطاق التوافر Availability Zone (AZ) في AWS موقع بنية تحتية معزول داخل منطقة Region. وتحتوي المنطقة على عدة نطاقات توافر. يوزّع التصميم متعدد المناطق مكوّنات حمل العمل عبر مناطق مختلفة. للمزوّدين الآخرين حدودهم وسلوك خدماتهم؛ افحص الخدمة المختارة.
| التصميم | الإخفاق الذي قد يساعد في معالجته | ما يبقى محتاجاً إلى تصميم |
|---|---|---|
| عمليات متعددة في نطاق توافر واحد | إخفاق عملية أو مضيف | فقد النطاق والتبعيات المشتركة |
| Multi-AZ في منطقة واحدة | فقد نطاق توافر | إخفاق المنطقة وتلف البيانات والاستعادة |
| مناطق متعددة | فقد منطقة | التوجيه واتساق البيانات والسعة والخدمات المشتركة |
هذه إمكانات تصميم وليست ضمانات توافر. لا تثبت التسمية أن كل مكوّن مطلوب يستخدم الحد المقصود.
تتبّع مسار الطلب كاملاً
تأمّل خدمة حجز خيالية. تعمل نسخ الويب في نطاقي توافر. وتستخدم كلها قاعدة بيانات واحدة وبوابة اتصال صادر واحدة في النطاق A. تلزم البوابة للاتصال بمزوّد المدفوعات.
إذا أخفق النطاق A، فقد تبقى نسخة الويب في النطاق B سليمة بينما يستمر فشل الحجز. يجب أن يقيّم الفريق قاعدة البيانات ومسار الشبكة ومزوّد الهوية والتبعية لمزوّد المدفوعات والتوجيه. افحص نمط قاعدة البيانات المُدارة الفعلي: تختلف النسخ المتماثلة والتحويل عند الإخفاق وسلوك القراءة وفق المنتج والإعدادات.
افحص السعة أيضاً. يجب أن تتحمل الموارد الباقية الحمل المطلوب. يعتمد تصميم ينشئ سعة أثناء حادث على الحصص والموارد المتاحة وعمليات مستوى التحكم.
نفّذ تمريناً مضبوطاً بحد معين وشروط إيقاف ومسؤول. تحقّق من حجز كامل، بما فيه مطابقة المدفوعات وتسويتها. سجّل الطلبات الفاشلة والوقت اللازم لاستعادة التشغيل المفيد.
قرّر إن كانت منطقة أخرى تحل المشكلة
يضيف التشغيل متعدد المناطق نقل بيانات وموارد مكرّرة وتنسيق نشر وعملاً تشغيلياً. يحافظ نمط نشط/احتياطي على بيئة جاهزة لتلقي حركة المرور. ويخدم نمط نشط/نشط حركة المرور في أكثر من بيئة. وتختلف الجاهزية المطلوبة وسلوك البيانات بينهما.
لخدمة الحجز، تطرح الكتابة المتزامنة سؤالاً: هل يمكن أن تبيع منطقتان المقعد نفسه؟ حدّد الجهة المخوّلة بالحسم في الحجز والسلوك أثناء انقطاع النسخ المتماثل. ليست «انسخ قاعدة البيانات» إجابة كاملة.
افحص مواقع البيانات المسموح بها ومفاتيح التشفير والشهادات وDNS والأسرار والخدمات الخارجية. قد يؤثر تعطل خدمة هوية مشتركة أو إصدار معيب في مناطق متعددة. لا تزيل زيادة المواقع كل سبب مشترك.
اربط التوافر بالاستعادة
يعالج HA إخفاقات محددة أثناء التشغيل. ويستعيد التعافي من الكوارث خدمة قابلة للاستخدام وبياناتها بعد حدث يسبب تعطلاً. وما زالت الخدمة متعددة المناطق تحتاج إلى خطة استعادة للحذف أو تلف البيانات.
وثّق سيناريوهات الإخفاق المختارة وتلك التي يقبلها العمل. أبقِ الاختبارات وتعريفات البنية التحتية متوافقة مع تغيّر التطبيق. تابع إلى RTO وRPO والتعافي من الكوارث.
نفّذ التمرين
تشغّل خدمة حجز خيالية نسخ ويب في نطاقي توافر AZ. وتقع قاعدة بياناتها وبوابة اتصالها الصادر في نطاق واحد. ارسم مسار الطلب. أزل ذلك النطاق على الورق. حدّد ما يبقى عاملاً وما يفشل والاختبار الذي يتحقق من استنتاجك.
تنزيل ورقة العمل (Markdown)يؤدي إلغاء هذا الاختيار إلى حذف كل التقدم المحفوظ في هذا المتصفح.
يبقى تقدمك في هذا المتصفح. دون حساب أو تتبّع.
المصادر وقراءات إضافية
- AWS: Deploy the workload to multiple locations ↗
- AWS: Shared responsibility model for resiliency ↗
- Google SRE: Implementing SLOs ↗