AWS Certified Solutions Architect 04 - Adding a Storage Layer with Amazon S3

في هذه الوحدة، نضيف طبقة تخزين (storage layer) إلى بنية المقهى. سنستخدم خدمة Amazon S3 من AWS. خدمة التخزين الكائني (object storage) S3 هي خدمة تخزين رائدة. سنتعلم أساسيات S3: المتانة (durability) والتوافر (availability) والأداء (performance). سنرى استخداماته مثل: استضافة الوسائط والمواقع الثابتة والتحليلات والنسخ الاحتياطي. سنتعرف على طرق نقل البيانات مثل Multipart Upload وTransfer Acceleration وTransfer Family. سنتعمق في فئات التخزين (storage classes) ودورة حياة الكائنات (lifecycle) والنسخ الإصدارية (versioning). سنتعلم كيف نحمي البيانات بالتشفير (encryption) وأدوات الحماية. وأخيراً، سنطبق مبادئ Well-Architected على طبقة التخزين.

1️⃣ أنواع التخزين (Types of storage)

يوجد ثلاثة أنواع أساسية للتخزين. النوع الأول هو التخزين الكتلي (block storage). في هذا النوع، تُخزن البيانات في كتل (blocks) ذات حجم ثابت. نظم الملفات والتطبيقات هي من تدير هذه الكتل. النوع الثاني هو التخزين الملفاتي (file storage). هنا، تُخزن البيانات في مجلدات وملفات (مثل محرك شبكة مشترك). النوع الثالث هو التخزين الكائني (object storage). في هذا النوع، تُخزن الملفات ككائنات (objects). كل كائن له بيانات وبيانات وصفية (metadata) ومفتاح (key). عند تعديل ملف في التخزين الكائني، يُستبدل الكائن بالكامل. هذا يختلف عن التخزين الكتلي حيث يمكن تعديل جزء من البيانات.

مستشفى يحتاج لتخزين ثلاثة أنواع من البيانات. يستخدم EBS (كتلي) لقواعد بيانات المرضى النشطة. يستخدم EFS (ملفاتي) لمشاركة السجلات الطبية بين الأقسام. يستخدم S3 (كائني) لأرشفة صور الأشعة القديمة. كل نوع في مكانه المناسب.

2️⃣ خدمة أمازون S3 (Amazon S3)

خدمة Amazon S3 هي خدمة تخزين كائني (object storage) من AWS. يمكنها تخزين كميات ضخمة جداً من البيانات غير المهيكلة (unstructured data). تُخزن الملفات ككائنات داخل حاوية (bucket) تختار اسمها أنت. اسم الحاوية يجب أن يكون فريداً عالمياً (unique) عبر كل حسابات AWS. الحجم الأقصى لملف واحد هو 5 TB. يمكنك تخزين عدد غير محدود من الكائنات في الحاوية. كل كائن له رابط (URL) فريد عالمياً. للكائن خمس خصائص: المفتاح (key) ومعرّف الإصدار (version ID) والقيمة (value) والبيانات الوصفية (metadata) والموارد الفرعية (sub-resources). قيمة الكائن لا تتغير بعد الرفع.

شركة إنتاج فيديو ترفع فيلماً بحجم 4 جيجابايت إلى S3. تحصل على رابط مثل https://company-videos.s3.amazonaws.com/movie-2024.mp4. يمكن مشاركة هذا الرابط مع أي شخص. يمكن عرضه في موقع ويب أو عبر CloudFront. لا حاجة لإعداد خادم (server).

3️⃣ مكونات أمازون S3 (Amazon S3 components)

الحاوية (bucket) هي المكان الذي تخزن فيه الكائنات في S3. للحاوية عدة وظائف: تنظيم أسماء الكائنات، وتحديد الحساب المسؤول عن التكاليف، والتحكم في الوصول، وإعداد تقارير الاستخدام. الكائن (object) هو الملف المخزن في S3. يمكن أن يكون أي نوع: نص، فيديو، صورة. الكائن يتكون من بيانات وبيانات وصفية. مفتاح الكائن (object key) هو الاسم الفريد للكائن داخل الحاوية. كل حاوية موجودة في منطقة (region) واحدة من مناطق AWS. الكائنات لا تترك هذه المنطقة ما لم تنقلها أنت.

شركة يابانية تريد تخزين بياناتها داخل اليابان حسب القانون. تختار منطقة (region) طوكيو عند إنشاء الحاوية. تسمي الحاوية tokyo-company-data. كل الكائنات تبقى في طوكيو. إذا احتاجت الشركة نسخاً احتياطياً في كوريا، تفعّل خاصية التكرار عبر المناطق (Cross-Region Replication).

4️⃣ استخدام البادئات (Prefixes) لتنظيم المجلدات

في S3، الكائنات تُخزن في حاويات فقط. لا يوجد مجلدات حقيقية. لكن يمكنك تنظيم الكائنات باستخدام البادئات (prefixes) في أسمائها. البادئة هي بداية اسم الكائن المشتركة بين مجموعة من الكائنات. مثلاً، كل صور سنة 2022 تبدأ بـ photos/2022/. عند البحث، يمكنك تحديد البادئة لترى كائنات معينة فقط. هذا يساعد في تنظيم الكائنات في مجموعات منطقية.

تطبيق يعرض صور المستخدمين. الصور مرفوعة إلى S3 ببادئات مثل users/{userId}/photos/. عندما يطلب مستخدم صوره، يبحث التطبيق بالبادئة users/12345/photos/. فيحصل على صوره فقط. هذا يفصل بيانات كل مستخدم عن الآخر.

5️⃣ فوائد أمازون S3 (Amazon S3 benefits)

لخدمة S3 فوائد كثيرة. المتانة (durability): توفر S3 Standard متانة 11 تسعة (99.999999999%). هذا يعني احتمال فقدان كائن واحد كل 10 ملايين سنة. التوافر (availability): توفر وصولاً للبيانات بنسبة 99.99% لـ S3 Standard. السعة غير محدودة فعلياً. الأداء العالي (high performance): تحقق آلاف المعاملات في الثانية. تتوسع تلقائياً مع زيادة الطلبات. S3 تخزن كائناتك على أجهزة متعددة في عدة مرافق داخل المنطقة. تصمم S3 لتحمل أعطال الأجهزة. تتحقق S3 بانتظام من سلامة بياناتك باستخدام المجاميع الاختبارية (checksums).

مصرف يخزن 10 مليارات معاملة في S3. احتمال فقدان معاملة واحدة في السنة هو 0.000000001%. هذا يعني معاملة واحدة قد تُفقد كل 100,000 سنة. هذا يجعل S3 الخيار الأفضل للسجلات المالية والبيانات الحرجة.

📖 قاموس مصطلحات المحور الأول

المصطلح (English)الترجمةالمفهوم
Block storageالتخزين الكتليتخزين البيانات في كتل ثابتة الحجم. مناسب لأنظمة التشغيل وقواعد البيانات.
File storageالتخزين الملفاتيتخزين البيانات في مجلدات وملفات. مناسب للمشاركة بين المستخدمين.
Object storageالتخزين الكائنيتخزين البيانات ككائنات مع بيانات وصفية. مناسب للوسائط والنسخ الاحتياطي.
Bucketالحاويةوعاء للكائنات في S3. له اسم فريد عالمياً ومرتبط بمنطقة AWS واحدة.
Object keyمفتاح الكائنالمعرف الفريد للكائن داخل الحاوية. يشبه مسار الملف الكامل.
Durabilityالمتانةمقياس لاحتمال عدم فقدان البيانات. S3 Standard يوفر 11 تسعة.

1️⃣ كيف يستخدم العملاء أمازون S3 (How customers use Amazon S3)

يستخدم العملاء S3 في حالات كثيرة. ارتفاع الطلب (spikes in demand): لاستضافة محتوى ويب يحتاج نطاقاً ترددياً كبيراً فجأة. الموقع الثابت (static site): لاستضافة موقع HTML مع صور وفيديوهات دون خادم. التحليل المالي (financial analysis): لتخزين بيانات تحللها خدمات أخرى. التعافي من الكوارث (disaster recovery): لدعم النسخ الاحتياطي واستعادة البيانات. هذه الاستخدامات تجعل S3 أساسياً في الحلول المعمارية القوية.

منصة بث فيديو كبيرة تستخدم S3 لتخزين ملايين الساعات من المحتوى. المشاهد يقرأ من S3 عبر CloudFront. خلال عرض مباشر، قد يرتفع عدد المشاهدين من 100,000 إلى 5 ملايين في دقائق. S3 تتوسع تلقائياً دون تدخل.

2️⃣ حالة استخدام: استضافة الوسائط (Media hosting)

أحد أشهر استخدامات S3 هو استضافة الوسائط. تُستخدم S3 لتخزين الفيديوهات والصور والملفات الصوتية. يمكن عرض المحتوى مباشرة من S3 لأن كل كائن له رابط (URL). أو يمكن أن تكون S3 مخزناً أصلياً لشبكة توصيل المحتوى (CDN) مثل CloudFront. مرونة S3 تجعلها مناسبة للمواقع سريعة النمو. لا تحتاج لتوفير خوادم للتخزين.

موقع إخباري ينشر 200 مقال يومياً مع صور وفيديو. كل الملفات تُخزن في حاوية (bucket) S3 اسمها news-articles-media. عند قراءة مقال، يحمل المتصفح الصور من S3 عبر CloudFront. عند نشر خبر عاجل، الموقع لا ينهار تحت ضغط الزوار.

3️⃣ حالة استخدام: استضافة موقع ثابت (Static website)

حالة استخدام أخرى هي استضافة موقع ثابت. الموقع الثابت يحتوي على صفحات بمحتوى ثابت (HTML، CSS، صور). قد يحتوي أيضاً على أكواد من جانب العميل (client-side scripts). لا يحتاج الموقع الثابت إلى معالجة من خادم (server-side). S3 لا تدعم البرمجة من جانب الخادم. لكنها ممتازة للمواقع الثابتة. لاستضافة موقع ثابت، هيئ الحاوية لاستضافة المواقع. أضف سياسة حاوية (bucket policy) تسمح بالوصول للكائنات. ارفع محتوى موقعك. بهذا، لا تحتاج لتشغيل آلة افتراضية (virtual machine) أو خادم ويب. خدمة S3 توفر حلاً منخفض التكلفة مع أداء عالٍ وتوسع وتوافر.

مقهى Frank وMartha يريد موقعاً بسيطاً يعرض القائمة والعنوان. يهيئ المهندس المعماري السحابي (cloud architect) حاوية S3 لاستضافة المواقع. يرفع ملفات HTML وCSS وJS. الموقع يعمل عبر الرابط http://cafe-website.s3-website-us-east-1.amazonaws.com. التكلفة: 0.50 دولار شهرياً فقط.

4️⃣ حالة استخدام: تخزين بيانات للحوسبة والتحليلات (Data store for computation and analytics)

يمكنك استخدام S3 كمخزن بيانات للحوسبة والتحليلات. مثلاً، تحليل المعاملات المالية، تحليل تدفق النقرات (clickstream)، وتحويل الوسائط. قدرة S3 على التوسع الأفقي تدعم هذه الأحمال. الخطوات هي: أولاً، يُشغل Amazon EC2 Spot Fleet عندما يكون سعر الحالات الفورية (Spot Instances) منخفضاً. ثانياً، تُستخرج البيانات من S3. ثالثاً، تعالج البيانات عبر خوارزميات. رابعاً، تُحمل البيانات المعالجة في حاوية S3 أخرى. خامساً، تُغلق موارد الحوسبة لتوفير التكاليف. سادساً، يمكن استخدام أداة تحليلات مثل Amazon QuickSight لاستخراج رؤى من البيانات.

شركة تحليلات تعالج 5 تيرابايت من سجلات العملاء يومياً. كل ليلة، يُشغل عنقود (cluster) EMR يقرأ من S3. يحول البيانات ويكتب النتائج في حاوية S3 أخرى. عند الانتهاء، يُغلق EMR تلقائياً. التكلفة: 200 دولار شهرياً بدلاً من 5000 دولار لخادم دائم.

5️⃣ حالة استخدام: النسخ الاحتياطي والأرشفة (Back up and archive critical data)

يمكنك استخدام S3 كحل للنسخ الاحتياطي والأرشفة. المتانة العالية والتوسع الكبير يجعلان S3 مناسبة لهذا الغرض. تُنسخ البيانات من مركز البيانات المحلي للشركة أو من أجهزة Amazon EC2. خيار آخر هو التكرار عبر المناطق (Cross-Region Replication). بهذه الميزة، تُنسخ الكائنات تلقائياً إلى حاويات في مناطق أخرى. هذه عملية غير متزامنة (asynchronous). يمكنك أيضاً نقل البيانات القديمة من S3 Standard إلى Amazon S3 Glacier للتخزين طويل الأجل بتكلفة أقل.

مستشفى يحتاج للاحتفاظ بسجلات المرضى 10 سنوات حسب القانون. السنة الأولى: تخزين في S3 Standard. بعدها، تنقل تلقائياً إلى S3 Glacier Deep Archive. التكلفة: 0.00099 دولار لكل جيجابايت شهرياً. هذا أرخص 20 مرة من S3 Standard.

📖 قاموس مصطلحات المحور الثاني

المصطلح (English)الترجمةالمفهوم
Media hostingاستضافة الوسائطاستخدام S3 لتخزين وتوزيع الفيديوهات والصور والملفات الصوتية.
Static websiteموقع ثابتموقع لا يحتاج معالجة من خادم. يمكن استضافته في S3.
Clickstream analyticsتحليل تدفق النقراتتحليل بيانات تصفح المستخدمين لفهم سلوكهم في الموقع.
Cross-Region Replicationالتكرار عبر المناطقنسخ الكائنات تلقائياً من حاوية في منطقة إلى حاويات في مناطق أخرى.
Amazon QuickSightأداة تحليلات الأعمالخدمة من AWS لتحليل البيانات وإنشاء لوحات معلومات تفاعلية.

1️⃣ تخزين الكائنات في أمازون S3 (Storing objects in Amazon S3)

عند رفع ملف إلى S3، يُخزن ككائن (object). يمكنك رفع عدد غير محدود من الكائنات. تحتاج أذونات كتابة (write permissions) على الحاوية أولاً. يمكنك رفع أي نوع ملف: صور، نسخ احتياطية، بيانات، أفلام. عند رفع كائن، يُشفر تلقائياً باستخدام تشفير من جانب الخادم بـ مفاتيح S3 (SSE-S3) افتراضياً. عند تنزيل الكائن، يُفك التشفير تلقائياً.

تطبيق مصرفي يرفع ملايين سجلات المعاملات يومياً إلى S3. كل سجل مشفر تلقائياً بـ SSE-S3. عند قراءة السجلات للتحليل، تُفك تشفيرها تلقائياً. المطور لا يحتاج للتعامل مع التشفير يدوياً.

2️⃣ طرق رفع الكائنات إلى أمازون S3 (Options for uploading objects to Amazon S3)

يوجد أربع طرق لرفع الكائنات إلى S3. أولاً، لوحة تحكم AWS (Management Console) تتيح رفع الملفات بالسحب والإفلات. الحد الأقصى لرفع ملف هو 160 جيجابايت. ثانياً، واجهة سطر الأوامر (AWS CLI) تتيح الرفع والتنزيل من الطرفية (terminal). ثالثاً، مكتبات التطوير (AWS SDKs) تتيح الرفع برمجياً من التطبيقات. رابعاً، واجهة برمجة التطبيقات (REST API) تتيح الرفع عبر طلب PUT. للملفات الأكبر من 160 جيجابايت، استخدم CLI أو SDKs أو REST API.

شركة إنتاج سينمائي ترفع فيلماً بحجم 800 جيجابايت. لا تستطيع استخدام لوحة التحكم (Console) لأن الحد 160 جيجابايت. تستخدم AWS CLI مع الأمر aws s3 cp movie.mp4 s3://films/. الـ CLI يقسم الفيلم تلقائياً ويرفعه عبر الرفع متعدد الأجزاء (Multipart Upload).

3️⃣ ميزة الرفع متعدد الأجزاء (Multipart upload)

ميزة الرفع متعدد الأجزاء (Multipart upload) تسمح برفع كائن واحد كمجموعة أجزاء. كل جزء هو جزء من بيانات الكائن. يمكنك رفع الأجزاء بشكل منفصل وبأي ترتيب. إذا فشل رفع جزء، يمكنك إعادة رفعه فقط دون التأثير على الأجزاء الأخرى. بعد رفع كل الأجزاء، تجمع S3 الأجزاء لتكوين الكائن الكامل. فوائد هذه الميزة: إنتاجية أعلى (الأجزاء تُرفع بالتوازي)، تعافي سريع من مشاكل الشبكة (حجم الجزء الصغير)، إيقاف واستئناف الرفع، والبدء في الرفع قبل معرفة الحجم النهائي.

فريق علمي يرفع بيانات تجريبية بحجم 3 تيرابايت. يستخدم الرفع متعدد الأجزاء (Multipart upload) مع 1000 جزء. تنقطع الشبكة في منتصف الرفع. عند إعادة الاتصال، يستأنف الرفع من الجزء 500. الوقت الموفّر: 18 ساعة.

4️⃣ تسريع النقل من S3 (S3 Transfer Acceleration)

ميزة تسريع النقل (S3 Transfer Acceleration) تتيح نقل ملفات سريع وآمن عبر مسافات بعيدة. هذه الميزة على مستوى الحاوية. صُممت لتحسين سرعة النقل من أي مكان في العالم إلى حاويتك. تستخدم الميزة مواقع الحافة (edge locations) لشبكة CloudFront. عندما تصل البيانات إلى موقع حافة، تُوجه إلى S3 عبر مسار شبكة محسّن. استخدم هذه الميزة عندما: يرفع عملاؤك من جميع أنحاء العالم إلى حاوية مركزية، أو تنقل جيجابايت إلى تيرابايت بانتظام عبر القارات، أو لا تستخدم كل النطاق الترددي المتاح.

فريق إنتاج في هوليوود يرفع فيديو بحجم 50 جيجابايت إلى S3 في فرانكفورت. بدون تسريع النقل: 4 ساعات. مع تسريع النقل: 35 دقيقة فقط. الفيديو ينتقل أولاً إلى موقع حافة (edge location) في لوس أنجلوس، ثم عبر شبكة AWS الداخلية إلى فرانكفورت.

5️⃣ عائلة النقل من AWS (AWS Transfer Family)

خدمة عائلة النقل (AWS Transfer Family) هي خدمة نقل ملفات آمنة ومُدارة. تدعم نقل الملفات من وإلى Amazon S3 وAmazon EFS. تستخدم البروتوكولات التالية: SFTP (الإصدار 3)، FTPS، FTP، وAS2. فوائدها: خدمة مُدارة تتوسع تلقائياً، لا تحتاج لتعديل تطبيقاتك، لا تحتاج لتشغيل بنية تحتية للنقل، تستخدم خدمات AWS الأصلية للتحليلات والتدقيق. لا توجد تكاليف مسبقة. تدفع فقط مقابل الاستخدام.

شركة لديها شركاء تجاريون يستخدمون SFTP لتبادل الملفات. بدلاً من تشغيل خادم SFTP داخلي، تستخدم AWS Transfer Family. الشركاء يستخدمون نفس برنامج SFTP client. الملفات تُخزن تلقائياً في S3 وتُشفر بـ KMS.

📖 قاموس مصطلحات المحور الثالث

المصطلح (English)الترجمةالمفهوم
SSE-S3تشفير من جانب الخادم بـ S3تشفير تلقائي للكائنات في S3 بمفاتيح يديرها S3 نفسه.
Multipart uploadالرفع متعدد الأجزاءرفع كائن كبير على عدة أجزاء بالتوازي مع إمكانية استئناف الرفع.
Transfer Accelerationتسريع النقلميزة S3 تستخدم CloudFront لتسريع نقل الملفات لمسافات طويلة.
SFTPبروتوكول نقل الملفات الآمنبروتوكول يستخدم SSH لتشفير نقل الملفات. شائع في الشركات.
Transfer Familyعائلة النقلخدمة مُدارة من AWS لنقل الملفات عبر SFTP/FTPS/FTP/AS2.

1️⃣ فئات التخزين الكائني (Object storage classes)

خدمة S3 توفر فئات تخزين مختلفة لتناسب احتياجات متنوعة. فئة S3 Standard: للبيانات التي تصل إليها كثيراً. توفر متانة عالية وتوافراً وأداء عالياً وزمن استجابة منخفض. مناسبة للتطبيقات السحابية والمواقع الديناميكية والألعاب. فئة S3 Intelligent-Tiering: تنقل بياناتك تلقائياً بين المستويات حسب تكرار الوصول. توفر تكلفة أقل دون تأثير على الأداء. فئة S3 Standard-IA وS3 One Zone-IA: للبيانات التي نادراً ما تصل إليها. تكلفة تخزين أقل مع رسوم استرجاع أعلى. فئة S3 Glacier بثلاثة أنواع (Instant Retrieval، Flexible Retrieval، Deep Archive): للأرشفة طويلة الأجل بأقل تكلفة.

مستشفى يخزن ثلاثة أنواع من الصور الطبية. صور الأشعة الحديثة (آخر 30 يوم) في S3 Standard. صور الرنين المغناطيسي (آخر 12 شهراً) في S3 Standard-IA. صور الأشعة المقطعية القديمة (7 سنوات) في S3 Glacier Deep Archive. التكلفة أقل بنسبة 70% من استخدام Standard للكل.

2️⃣ تفصيل فئات التخزين (S3 storage classes breakdown)

كل فئات التخزين تصمم لـ: متانة 11 تسعة (99.999999999%)، توافر 99.9% (و99.5% لـ S3 One Zone-IA)، وزمن استجابة بالمللي ثانية لأول بايت من البيانات. الفروق الرئيسية بين الفئات: عدد مناطق التوافر (Availability Zones) هو 3 أو أكثر لكل الفئات ما عدا S3 One Zone-IA (منطقة واحدة فقط). الحد الأدنى لحجم الكائن هو 128 كيلوبايت لـ Standard-IA وOne Zone-IA وGlacier Instant Retrieval. الحد الأدنى لمدة التخزين: 30 يوماً لـ Standard-IA وOne Zone-IA، 90 يوماً لـ Glacier، و180 يوماً لـ Glacier Deep Archive. رسوم استرجاع تنطبق على كل الفئات ما عدا S3 Standard وS3 Intelligent-Tiering.

شركة SaaS تحلل الفواتير الشهرية. إذا رفعت ملفاً بحجم 1 ميجابايت إلى S3 Standard-IA، تُحسب كـ 128 كيلوبايت (الحد الأدنى). إذا حذفته بعد 10 أيام، تُفرض رسوم 30 يوماً. هذا يشجع على اختيار الفئة الصحيحة من البداية.

3️⃣ تكوين دورة حياة S3 (Configuring an Amazon S3 Lifecycle)

سياسات دورة الحياة (lifecycle policies) هي مجموعة قواعد تطبقها S3 على الكائنات. يوجد نوعان من الإجراءات. النقل (Transition actions): تحدد متى تنتقل الكائنات إلى فئة تخزين أخرى. مثلاً، انقل إلى S3 Standard-IA بعد 30 يوماً. أو انقل إلى S3 Glacier Flexible Retrieval بعد سنة. الانتهاء (Expiration actions): تحدد متى تنتهي صلاحية الكائنات. تحذف S3 الكائنات المنتهية تلقائياً. بعد تعيين سياسة دورة الحياة، تنتقل بياناتك تلقائياً بين الفئات دون تغيير في تطبيقك.

شركة تخزن سجلات الوصول في S3. تضع سياسة دورة حياة: بعد 30 يوماً انتقل إلى Standard-IA. بعد 90 يوماً انتقل إلى Glacier Instant Retrieval. بعد سنة احذف. التكلفة أقل بنسبة 85% من إبقاء السجلات في Standard طوال الوقت.

4️⃣ النسخ الإصدارية في S3 (Amazon S3 versioning)

ميزة النسخ الإصدارية (versioning) تحمي الكائنات من الاستبدال والحذف العرضي. يمكنك استخدامها للتعافي من أخطاء المستخدمين وأعطال التطبيقات. تفعّل الميزة على مستوى الحاوية. كل كائن يحصل على معرّف إصدار (version ID). عند تعطيل الميزة، يكون المعرّف فارغاً (null). عند تفعيلها، تنشئ S3 معرّفاً فريداً لكل رفع جديد. افتراضياً، النسخ الإصدارية معطلة. يجب تفعيلها يدوياً. حالات الحاوية: مفعّل (enabled)، معطل (disabled) وهو الافتراضي، وموقوف (suspended). بعد التفعيل، لا يمكن تعطيل النسخ الإصدارية بالكامل. يمكن فقط إيقافها مؤقتاً.

فريق تصميم يرفع ملفات PSD إلى S3. يفعّل النسخ الإصدارية (versioning) على الحاوية. أحد المصممين يستبدل ملفاً عن طريق الخطأ بنسخة قديمة. بدلاً من فقدان التصميم الجديد، يستعيد المهندس الإصدار الصحيح باستخدام معرّف الإصدار (version ID).

5️⃣ عمليات النسخ الإصدارية (Versioning operations)

عند استخدام طلب PUT لرفع كائن في حاوية مفعّل بها النسخ الإصدارية: لا يُستبدل الإصدار القديم. يبقى الكائن الأصلي، وتنشئ S3 معرّف إصدار جديد وتضيف الإصدار الأحدث. عند استخدام طلب DELETE لحذف كائن: كل الإصدارات تبقى في الحاوية. تضع S3 علامة حذف (delete marker) فقط. تصبح علامة الحذف هي الإصدار الحالي. طلب GET العادي يجلب الإصدار الأحدث. إذا كان الإصدار الأحدث علامة حذف، يُرجع خطأ 404 Not Found. يمكنك استرجاع إصدار قديم بتحديد معرّف الإصدار (version ID).

موظف يرفع ملفاً عن طريق الخطأ بدلاً من تحديثه. بدلاً من فقدان البيانات، يمكنه استرجاع الإصدار السابق. الأمر: aws s3api get-object --bucket mybucket --key file.txt --version-id 121212 file.txt. الملف القديم يعود.

📖 قاموس مصطلحات المحور الرابع

المصطلح (English)الترجمةالمفهوم
S3 Standardالمعيار S3فئة تخزين للبيانات المتكررة الوصول. أداء عالٍ ومتانة 11 تسعة.
S3 Intelligent-Tieringالتدرج الذكي S3فئة تخزين تنقل البيانات تلقائياً بين المستويات حسب تكرار الوصول.
S3 Glacierمخزن S3 الجليديفئات أرشفة منخفضة التكلفة جداً للتخزين طويل الأجل.
Lifecycle policyسياسة دورة الحياةقواعد تلقائية لنقل الكائنات بين فئات التخزين أو حذفها مع الوقت.
Versioningالنسخ الإصداريةميزة تحتفظ بنسخ متعددة من كل كائن في الحاوية.
Delete markerعلامة الحذفإصدار خاص يظهر عند حذف كائن في حاوية مفعّل بها النسخ الإصدارية.

1️⃣ إعدادات الأمان الافتراضية (Amazon S3 default security configurations)

خدمة S3 تأتي مع إعدادات أمان افتراضية تحمي بياناتك. ميزة حظر الوصول العام (S3 Block Public Access) معطلة افتراضياً على مستوى الحساب. يجب تفعيلها يدوياً. S3 تشفر كل الكائنات الجديدة تلقائياً بـ SSE-S3. كل الوصول إلى S3 يُسجل تلقائياً في AWS CloudTrail. إدارة الهوية والوصول تتم عبر AWS IAM للتحكم فيمن يصل إلى الحاويات. خدمة AWS Config تتبع التغييرات في تكوينات الحاويات.

شركة جديدة تنشئ حاوية S3 لرفع الصور. كل صورة تُشفر تلقائياً بـ SSE-S3. كل عملية (رفع، تنزيل، حذف) تُسجل في CloudTrail. لا يمكن لأحد الوصول للصور دون إذن IAM صريح.

2️⃣ تشفير الكائنات في S3 (Encrypting objects in Amazon S3)

تشفير الكائنات في S3 ضروري لحماية البيانات الحساسة. S3 تدعم أربع طرق تشفير. SSE-S3: تستخدم مفاتيح يديرها S3 نفسه. مشمول في السعر. SSE-KMS: تستخدم مفاتيح يديرها AWS KMS. توفر تحكماً ومراقبة إضافيين. SSE-C: تستخدم مفاتيح تقدمها أنت. S3 تتولى التشفير وفك التشفير. تشفير من جانب العميل (Client-side encryption): تشفر البيانات قبل رفعها إلى S3. كل طريقة لها مزاياها من حيث التحكم والأداء.

مستشفى يخزن سجلات المرضى. يستخدم SSE-KMS مع مفتاح CMK خاص بالمستشفى. كل وصول إلى مفتاح التشفير يُسجل في CloudTrail. المستشفى تتحكم بالمفتاح ويمكنها إبطال الوصول إذا لزم الأمر.

3️⃣ أدوات حماية الحاويات والكائنات (Amazon S3 tools for protecting buckets and objects)

خدمة AWS توفر عدة أدوات لحماية S3. ميزة حظر الوصول العام (S3 Block Public Access) تمنع الوصول العام للحاويات بأربع إعدادات. سياسات IAM تتحكم بمن يمكنه الوصول لـ S3 على مستوى المستخدم أو الدور. سياسات الحاوية (S3 Bucket Policies) تتحكم بالوصول على مستوى الحاوية. قوائم التحكم بالوصول (ACLs) تتحكم بالوصول على مستوى الكائن (قديمة الاستخدام). مستشار AWS Trusted Advisor يفحص الحاويات العامة ويحذّر منها. محلل الوصول (S3 Access Analyzer) يحلل سياسات الوصول ويكشف الوصول غير المقصود. خدمة AWS Macie تكتشف البيانات الحساسة في S3 باستخدام تعلم الآلة.

شركة تستخدم AWS Macie لفحص S3 تلقائياً. Macie يكتشف أن حاوية تحتوي على أرقام بطاقات ائتمان. ينبه الفريق الأمني. يفعّل الفريق ميزة حظر الوصول العام (S3 Block Public Access) على الحاوية فوراً. هذا يمنع أي تسرب مستقبلي.

4️⃣ اعتبارات اختيار المنطقة (Considerations when choosing a Region)

عند اختيار منطقة (Region) لـ S3، يجب مراعاة عدة عوامل. أولاً: زمن الاستجابة (latency). اختر منطقة قريبة من المستخدمين لتقليل زمن الاستجابة. ثانياً: التكلفة (cost). الأسعار تختلف بين المناطق. فرانكفورت أغلى من أوهايو. ثالثاً: الامتثال التنظيمي (regulatory compliance). بعض القوانين تفرض تخزين البيانات داخل حدود جغرافية محددة (مثل GDPR في أوروبا). رابعاً: توفر الخدمات (service availability). ليست كل خدمات AWS متاحة في كل المناطق. خامساً: التعافي من الكوارث (disaster recovery). للنسخ الاحتياطي، اختر منطقة بعيدة عن المنطقة الرئيسية.

شركة ألعاب يابانية تخدم لاعبين في اليابان وكوريا. تختار منطقة طوكيو (Tokyo) للبيانات الأساسية لزمن استجابة منخفض. تفعّل التكرار عبر المناطق (Cross-Region Replication) إلى منطقة سول (Seoul) للتعافي من الكوارث. التكلفة أعلى من منطقة واحدة لكن التوافر 99.99% يبررها.

5️⃣ تكاليف S3 (Amazon S3 costs)

تكاليف S3 تتكون من عدة أجزاء. أولاً: سعر التخزين (Storage pricing). يعتمد على فئة التخزين وحجم البيانات (جيجابايت شهرياً). ثانياً: سعر الطلبات (Request pricing). رسوم على كل عملية PUT وCOPY وPOST وLIST (أغلى) وGET (أرخص). ثالثاً: سعر نقل البيانات (Data transfer pricing). النقل داخل نفس المنطقة مجاني. النقل بين المناطق أو خارجها مدفوع. رابعاً: سعر التكرار (Replication pricing). رسوم على التكرار عبر المناطق. خامساً: الإدارة والتحليلات (Management and analytics). رسوم على الجرد والتحليلات. أداة حاسبة AWS Pricing Calculator تساعدك في تقدير التكاليف قبل البناء.

شركة تخزن 10 تيرابايت في S3 Standard. التكلفة الشهرية للتخزين: 230 دولار. مع 5 ملايين طلب GET: 17 دولار. مع 100 جيجابايت نقل بيانات خارجي: 9 دولار. الإجمالي: 256 دولار شهرياً. باستخدام S3 Intelligent-Tiering، تنخفض التكلفة إلى 180 دولار.

📖 قاموس مصطلحات المحور الخامس

المصطلح (English)الترجمةالمفهوم
S3 Block Public Accessحظر الوصول العام S3إعدادات تمنع الوصول العام للحاويات والكائنات في S3.
SSE-KMSتشفير من جانب الخادم بـ KMSتشفير S3 بمفاتيح من AWS KMS للتحكم والمراقبة الإضافية.
AWS Macieأداة Macieخدمة تكتشف البيانات الحساسة في S3 باستخدام تعلم الآلة.
S3 Inventoryجرد S3تقرير يومي أو أسبوعي بحالة الكائنات في حاوية S3.
GDPRاللائحة العامة لحماية البياناتقانون أوروبي لحماية البيانات الشخصية. يفرض قيوداً على التخزين.

🚀 الخاتمة

في هذه الوحدة، تعلمنا أن خدمة Amazon S3 هي خدمة التخزين الكائني الرائدة. يمكنها تخزين كميات غير محدودة من البيانات بمتانة 11 تسعة. استكشفنا أنواع التخزين الثلاثة: الكتلي (block) والملفاتي (file) والكائني (object). رأينا حالات الاستخدام: الوسائط، المواقع الثابتة، التحليلات، والنسخ الاحتياطي. تعرفنا على طرق نقل البيانات من لوحة التحكم (Console) إلى الرفع متعدد الأجزاء (Multipart Upload) وتسريع النقل (Transfer Acceleration) وعائلة النقل (Transfer Family). تعمقنا في فئات التخزين من S3 Standard إلى S3 Glacier Deep Archive. تعلمنا كيف ننقل البيانات بينها باستخدام سياسات دورة الحياة (Lifecycle Policies). تعلمنا كيف نحمي البيانات عبر التشفير (SSE-S3 و SSE-KMS) وحظر الوصول العام (S3 Block Public Access) وخدمة AWS Macie. وأخيراً، تعلمنا كيف نطبق مبادئ (Well-Architected) على طبقة التخزين ونختار المنطقة المناسبة. خدمة S3 هي الأساس الذي تبنى عليه معظم بنى AWS الحديثة.

تعليقات



حجم الخط
+
16
-
تباعد السطور
+
2
-