0Pricing
AWS Solutions Architect · درس

إصدارات S3 وحذف MFA والنسخ المتماثل

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

إصدارات S3 وحذف MFA والنسخ المتماثل درس مجاني في AWS Solutions Architect على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS Solutions Architect، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.

إصدار الإصدارات في S3: أهميته

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

# Enable versioning on a bucket
aws s3api put-bucket-versioning \
  --bucket my-important-bucket \
  --versioning-configuration Status=Enabled

# List all versions of an object
aws s3api list-object-versions \
  --bucket my-important-bucket \
  --prefix my-document.pdf

حالات إصدار الإصدارات وانتقالاتها

يمكن أن تكون حاوية S3 في إحدى ثلاث حالات لإصدار الإصدارات: غير مفعّل (افتراضيًا، دون معرّفات إصدارات)، أو مفعّل (تحصل كل الكائنات الجديدة على معرّفات إصدارات فريدة، وينشئ كل استبدال إصدارًا جديدًا)، أو معلّق (تحصل الكائنات الجديدة على معرّف إصدار فارغ، لكن تُحتفَظ بالإصدارات الموجودة). لا يمكنك حذف إصدار الإصدارات بعد تفعيله، بل يمكنك فقط تعليقه. تحمل الكائنات التي أُنشئت قبل تفعيل إصدار الإصدارات معرّف إصدار null ولا تتأثر حتى تُستبدل أو تُحذف.

استعادة إصدار سابق

لاستعادة إصدار أقدم من كائن ذي إصدارات، لديك خياران. الخيار 1: انسخ معرّف الإصدار الأقدم إلى المفتاح نفسه؛ يؤدي ذلك إلى إنشاء إصدار جديد يمثل نسخة من المحتوى الأقدم، فيصبح هو الإصدار الحالي. الخيار 2: احذف الإصدار الحالي أو علامة الحذف لإظهار الإصدار السابق باعتباره الحالي. عندما «تحذف» كائنًا في حاوية مفعّل فيها إصدار الإصدارات عبر وحدة التحكم دون تحديد معرّف إصدار، يضيف S3 علامة حذف؛ فيبدو الكائن محذوفًا للطلبات التي لا تحدد إصدارًا، لكن جميع الإصدارات تبقى موجودة.

# Restore a specific version by copying it back to the same key
aws s3api copy-object \
  --bucket my-important-bucket \
  --copy-source 'my-important-bucket/my-document.pdf?versionId=abc123'\
  --key my-document.pdf

MFA Delete: حماية إضافية

تضيف MFA Delete طبقة ثانية من الحماية للحاويات ذات الإصدارات. عند تفعيلها، يتطلب حذف إصدار محدد نهائيًا أو تغيير حالة إصدار الإصدارات للحاوية، من مفعّل إلى معلّق، تقديم بيانات اعتماد MFA صالحة في طلب API. ويحمي ذلك من مهاجم اخترق بيانات اعتماد AWS الخاصة بك وحذف الإصدارات المهمة نهائيًا، ومن الحذف العرضي أو المؤتمت لإصدارات الكائنات المثبتة، ومن التهديدات الداخلية التي تحاول تدمير سجلات التدقيق. لا يمكن تفعيل MFA Delete وتعطيلها إلا بواسطة المستخدم الجذر عبر CLI.

# Enable MFA Delete (must be done as root user)
aws s3api put-bucket-versioning \
  --bucket my-important-bucket \
  --versioning-configuration Status=Enabled,MFADelete=Enabled \
  --mfa 'arn:aws:iam::123456789012:mfa/root-account-mfa-device 123456'

S3 Object Lock

يفرض S3 Object Lock نموذج الكتابة مرة واحدة والقراءة مرات متعددة (WORM) للامتثال التنظيمي. لا يمكن حذف الكائنات المقفلة باستخدام Object Lock أو استبدالها خلال فترة الاحتفاظ المحددة، حتى بواسطة المستخدم الجذر للحساب. يوجد وضعان: وضع الحوكمة، حيث يمكن للمستخدمين ذوي الأذونات الخاصة تجاوز القفل أو إزالته؛ ووضع الامتثال، حيث لا يمكن لأي شخص، ولا حتى AWS، حذف الكائن خلال فترة الاحتفاظ، وهو أقوى درجات الحماية. يجب تفعيل Object Lock عند إنشاء الحاوية، ويتطلب إصدار الإصدارات.

# Apply a retention rule to an object
aws s3api put-object-retention \
  --bucket my-compliance-bucket \
  --key audit-log-2024.csv \
  --version-id abc123 \
  --retention '{"Mode":"COMPLIANCE","RetainUntilDate":"2027-01-01T00:00:00Z"}'

النسخ المتماثل بين مناطق S3 (CRR)

يقوم النسخ المتماثل بين المناطق (CRR) تلقائيًا بنسخ الكائنات الجديدة والتحديثات من حاوية مصدر في منطقة إلى حاوية وجهة في منطقة مختلفة. من حالات الاستخدام: الامتثال، للاحتفاظ بنسخة من البيانات في بلد محدد؛ والتعافي من الكوارث، لتقليل RPO للبيانات الحرجة عبر الاحتفاظ بنسخة في منطقة ثانية؛ وتقليل زمن الاستجابة، لعرض الكائنات من المنطقة الأقرب إلى المستخدمين. يتطلب CRR تفعيل إصدار الإصدارات في حاويتَي المصدر والوجهة، ودور IAM يمتلك أذونات النسخ المتماثل اللازمة.

# Apply a replication configuration
aws s3api put-bucket-replication \
  --bucket source-bucket-us-east-1 \
  --replication-configuration file://replication-config.json
# Config specifies Role ARN, destination bucket ARN, and filter rules

النسخ المتماثل ضمن المنطقة نفسها (SRR)

ينسخ النسخ المتماثل ضمن المنطقة نفسها (SRR) الكائنات داخل المنطقة ذاتها. من حالات الاستخدام: تجميع السجلات، لنسخ السجلات من عدة حاويات مصدر إلى حاوية مركزية واحدة؛ ومزامنة بيئة الاختبار، للاحتفاظ بنسخة من بيانات الإنتاج في حاوية تطوير ضمن المنطقة نفسها؛ والامتثال لسيادة البيانات داخل بلد واحد يضم عدة مناطق توافر AWS. ومثل CRR، يتطلب SRR إصدار الإصدارات في كلتا الحاويتين ودور IAM. لا تُنسخ تلقائيًا إلا الكائنات الجديدة التي أُنشئت بعد تفعيل النسخ المتماثل؛ استخدم S3 Batch Replication لنسخ الكائنات الموجودة مسبقًا.

النسخ المتماثل: ما يُنسخ وما لا يُنسخ

يقوم النسخ المتماثل في S3 بنسخ: الكائنات الجديدة والبيانات الوصفية والعلامات وقوائم ACL وحالة التشفير. افتراضيًا، لا ينسخ النسخ المتماثل: الكائنات التي كانت موجودة قبل تفعيل النسخ المتماثل، فاستخدم S3 Batch Replication لها؛ وعلامات الحذف، إلا إذا فعّلت Delete Marker Replication؛ والكائنات في Glacier، إذ لا يمكن نسخها متماثلًا ويجب استعادتها أولًا؛ والكائنات المنسوخة متماثلًا، إذ لا يوجد نسخ متماثل متسلسل بين ثلاث حاويات. يُعد فهم هذه الحدود مهمًا لتصميم استراتيجيات DR متكاملة تحتاج فيها البيانات التاريخية وأحداث الحذف أيضًا إلى النسخ المتماثل.

S3 Replication Time Control (RTC)

تُعد Replication Time Control (RTC) إضافة اختيارية لـ CRR توفر اتفاقية مستوى خدمة: إذ يُنسخ 99.99% من الكائنات خلال 15 دقيقة، مع مقاييس النسخ المتماثل وإشعارات في CloudWatch. من دون RTC، لا توجد ضمانة زمنية للنسخ المتماثل؛ إذ تُنسخ معظم الكائنات بسرعة، لكن الحالات الشاذة قد تستغرق ساعات. تُعد RTC ضرورية عندما تحدد متطلبات DR أو الامتثال لديك حدًا أقصى لهدف نقطة الاستعادة (RPO) للبيانات في S3. وتضيف رسوم نسخ متماثل لكل GB بالإضافة إلى تكلفة نقل بيانات النسخ المتماثل القياسية.

تأثير الإصدارات في تكاليف التخزين

يؤدي تفعيل ميزة الإصدارات إلى زيادة تكاليف التخزين، لأن S3 يحتفظ بكل إصدار من كل كائن إلى أن يتم حذفه صراحةً. فإذا تم استبدال ملف حجمه 100 MB عشر مرات، فسيستهلك الآن 1,000 MB من مساحة التخزين. يمكن الحد من ذلك باستخدام قواعد دورة الحياة التي تُنهي تلقائيًا الإصدارات غير الحالية بعد عدد محدد من الأيام، مثل حذف الإصدارات غير الحالية الأقدم من 30 يومًا، أو نقل الإصدارات غير الحالية إلى فئات تخزين أقل تكلفة مثل Glacier. احرص دائمًا على الجمع بين ميزة الإصدارات وقواعد دورة الحياة للتحكم في تكاليف التخزين في بيئات الإنتاج.

# Lifecycle rule to expire non-current versions after 30 days
aws s3api put-bucket-lifecycle-configuration \
  --bucket my-important-bucket \
  --lifecycle-configuration '{"Rules":[{"ID":"expire-old-versions","Status":"Enabled","NoncurrentVersionExpiration":{"NoncurrentDays":30}}]}'

الحماية من برمجيات الفدية

يوفر الجمع بين ميزة إصدارات S3 وObject Lock (وضع Compliance) حماية قوية من برمجيات الفدية. فإذا قام مهاجم بتشفير كائناتك أو حذفها، تضمن ميزة الإصدارات الاحتفاظ بالإصدارات السابقة، ما لم يحذفها المهاجم نهائيًا، ولهذا يمنع Object Lock الحذف النهائي خلال فترة الاحتفاظ. ولتحقيق أقصى حماية: فعّل ميزة الإصدارات، وفعّل MFA Delete، وطبّق Object Lock في وضع Compliance على البيانات الحساسة، وانسخ البيانات إلى Region ثانية باستخدام بيانات اعتماد IAM منفصلة لمنع اختراق حساب واحد من تدمير جميع النسخ.

تحقق سريع

اختبر مدى فهمك لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.

مراجعة الدرس

تعلمت في هذا الدرس أن: ميزة الإصدارات تحفظ جميع إصدارات كل كائن وتحمي من الحذف غير المقصود، وأن MFA Delete وObject Lock يوفران ثباتًا إضافيًا للبيانات من أجل الامتثال والحماية من برمجيات الفدية، وأن CRR وSRR ينسخان الكائنات إلى حاويات أخرى لتلبية متطلبات التعافي من الكوارث والامتثال. سنستكشف بعد ذلك فئات تخزين S3 وسياسات دورة الحياة لتحسين التكاليف.

الأسئلة الشائعة

هل درس «إصدارات S3 وحذف MFA والنسخ المتماثل» مجاني؟

نعم — نص درس «إصدارات S3 وحذف MFA والنسخ المتماثل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS Solutions Architect، انتقل إلى CoddyKit PRO. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.

ماذا ستتعلم في «إصدارات S3 وحذف MFA والنسخ المتماثل»؟

مكّنوا إدارة الإصدارات للحماية من الحذف العرضي، واضبطوا النسخ المتماثل عبر المناطق، وأضيفوا ميزة حذف MFA. تتمرن على AWS Solutions Architect مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AWS Solutions Architect؟

لا تُشترط خبرة سابقة. AWS Solutions Architect على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «إصدارات S3 وحذف MFA والنسخ المتماثل»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AWS Solutions Architect هذا؟

نعم. كل درس في AWS Solutions Architect يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الحاويات والكائنات والمناطق
  2. التحكم في الوصول إلى S3: سياسات الحاويات وقوائم ACL
  3. إصدارات S3 وحذف MFA والنسخ المتماثل
  4. فئات التخزين وسياسات دورة الحياة
← العودة إلى AWS Solutions Architect