كل ما تحتاج لمعرفته حول AWS S3

ستوفر هذه المقالة مقدمة متعمقة لـ AWS S3 - خدمة التخزين الآمنة والقابلة للتطوير والرخيصة جدًا من Amazon Web Services.

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

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

يمكنك القول أنه يمكنك تخزين الملفات في قواعد البيانات. لكن صدقني ، لن تكون تجربة ممتعة.

إذن ما هو الخيار الآخر؟

ما هو S3؟

لنلقِ نظرة على AWS S3. S3 هي خدمة تخزين سهلة الاستخدام وقابلة للتطوير ورخيصة الثمن من Amazon. يمكنك استخدام S3 لتخزين أي كمية من البيانات لمجموعة كبيرة من حالات الاستخدام.

تعد استضافة مواقع الويب الثابتة وأرشفة البيانات وتسليم البرامج بعض السيناريوهات العامة حيث تكون S3 أداة مثالية.

يمكنك بسهولة دفع البيانات وسحبها باستخدام S3 باستخدام AWS SDK. يدعم S3 أيضًا عددًا من لغات البرمجة الشائعة ، لذا يمكنك استخدام مكدس موجود لديك ودمج S3 بسهولة تامة.

تقدم S3 أيضًا واجهة مستخدم رائعة عبر وحدة تحكم AWS. يمكنك استخدامه لعرض البيانات المدفوعة إلى S3 إلى جانب خيارات إضافية مثل الأمان والتحكم في الإصدار.

دلاء

في S3 ، يتم تخزين الملفات في مجموعات. الدلاء تشبه المجلدات الموجودة على جهاز الكمبيوتر الخاص بك.

كل دلو له اسم فريد خاص به يمكن استخدامه مرة واحدة فقط. على سبيل المثال ، إذا كان هناك حاوية تسمى "freecodecamp" ، فلا يمكنك أنت ولا أي شخص آخر إعادة استخدام نفس اسم المجموعة.

هذا مفيد لتحديد الموارد بشكل فريد ولاستضافة مواقع الويب الثابتة بأسماء المجال.

لا توجد قيود على عدد الملفات التي يمكنك تخزينها في حاوية. توفر الحزم أيضًا ميزات إضافية مثل التحكم في الإصدار والسياسات.

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

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

أنواع التخزين S3

تحتوي S3 على ثلاث فئات تخزين بناءً على حالات الاستخدام العامة.

معيار S3

S3 Standard هي خطة التخزين الافتراضية التي سيتم وضعها عند بدء استخدام S3. تتميز فئة التخزين القياسية بأداء ومتانة وتوافر ممتازين.

يعتبر S3 Standard هو الأفضل إذا كان لديك بيانات يتعين عليك الوصول إليها بشكل متكرر.

S3 Infrequent Access (S3-IA)

يوفر S3 Infrequent Access سعرًا أقل للبيانات مقارنة بالخطة القياسية. يمكنك استخدام S3-IA للبيانات التي تحتاج إليها كثيرًا.

يعتبر S3-IA رائعًا لحالات الاستخدام مثل النسخ الاحتياطية والتعافي من الكوارث.

جليد

يعد Glacier خيار التخزين الأقل تكلفة في S3 ولكنه مصمم للتخزين في الأرشيف. لا يمكنك جلب البيانات من Glacier بسرعة قياسية أو S3-IA ، لكنها خيار رائع لأرشفة البيانات طويلة المدى.

بالإضافة إلى اختيار إحدى فئات التخزين الثلاثة هذه ، يمكنك أيضًا تعيين سياسات دورة الحياة في S3. هذا يعني أنه يمكنك جدولة الملفات ليتم نقلها تلقائيًا إلى S3-IA أو Glacier بعد فترة زمنية معينة.

لماذا أستخدم S3؟

شركات مثل Netflix و Dropbox و Reddit هي مستخدمون متعطشون لـ S3. بنى نظام تخزين الملفات الشهير Dropbox سعته التخزينية بالكامل أعلى Amazon S3.

دعنا نلقي نظرة على بعض الميزات الأساسية لـ S3 ونفهم سبب شعبيتها بين المؤسسات والشركات الناشئة على حد سواء.

إنه في المتناول

S3 رخيص. أعني رخيصة للغاية مقارنة بحلول التخزين الأخرى. وباستخدام S3 ، تدفع فقط مقابل ما تستخدمه. لا توجد تكاليف مقدمة ، ولا إعداد. إنها مجرد توصيل وتشغيل.

بالإضافة إلى الأسعار المعقولة ، تقدم S3 فئة مجانية. تأتي هذه الطبقة المجانية مع 5 جيجا بايت من مساحة التخزين ، 20000 طلب GET ، 2000 طلب PUT ، نسخ ، POST ، أو LIST و 15 جيجا بايت من نقل البيانات. الطبقة المجانية متاحة كل شهر للسنة الأولى.

باستخدام S3 ، يمكنك تجنب الدفع مقابل المساحة أو النطاق الترددي الذي قد لا تحتاجه حتى.

إنها قابلة للتطوير

يتناسب S3 مع تطبيقك. نظرًا لأنك تدفع فقط مقابل ما تستخدمه ، فلا يوجد حد للبيانات التي يمكنك تخزينها في S3.

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

إنه آمن

أحد الأسباب العديدة التي تجعل الشركات تفضل S3 هو ميلها نحو الأمان. بينما يتعين عليك تأمين إعدادات الخادم المخصصة ، يكون S3 آمنًا بشكل افتراضي.

هذا لا يعني أنه لا يمكنك تخزين المعلومات التي يمكن الوصول إليها بشكل عام في S3. يقفل S3 جميع بياناتك بأمان عالٍ ما لم تقم صراحة بتهيئة عدم القيام بذلك.

تحتفظ S3 أيضًا ببرامج الامتثال ، مثل PCI-DSS و HIPAA / HITECH و FedRAMP وتوجيه حماية البيانات بالاتحاد الأوروبي و FISMA لمساعدتك على تلبية المتطلبات التنظيمية للصناعة الخاصة بك.

لديها الإصدار

تعيين الإصدار يعني الاحتفاظ بنسخ متعددة من الملف وتعقب تغييراته بمرور الوقت. هذا مفيد ، خاصةً عند التعامل مع البيانات الحساسة.

يمكنك أيضًا استرداد الملفات المحذوفة عن طريق الخطأ عند تمكين الإصدار باستخدام S3.

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

لذلك فقط ضع ذلك في الاعتبار أثناء دمج الإصدار لتطبيقك.

يتم تعطيل تعيين الإصدار افتراضيًا لـ S3 ولكن يمكنك تمكين تعيين الإصدار باستخدام وحدة تحكم AWS.

إنه متين

متانة البيانات هي ميزة تم التقليل من شأنها في S3. بالنظر إلى مدى شيوع فقدان البيانات بين الشركات ، تعد متانة البيانات عاملاً أساسيًا يجب مراعاته عند إنشاء برامج المؤسسة.

يوفر S3 بنية تخزين تحتية متينة للغاية. تخزن S3 البيانات بشكل متكرر في مرافق متعددة ، مما يجعل بياناتك آمنة في حالة فشل النظام. تُجري S3 أيضًا فحوصات منتظمة لسلامة البيانات للتأكد من سلامة بياناتك.

توفر S3 متانة بنسبة 99.999999999٪ (تسمى متانة 9s) وتوفر العناصر بنسبة 99.99٪ على مدار عام معين.

حالات استخدام S3

استضافة المواقع الثابتة

يمكنك استخدام S3 كنظام أساسي ثابت لاستضافة مواقع الويب. يتمثل الاختلاف بين مواقع الويب الثابتة والديناميكية في أن المواقع الديناميكية تتلقى مدخلات المستخدم وتعالجها. تستخدم مواقع الويب الثابتة لعرض المعلومات فقط.

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

جعلت أطر العمل مثل React و Angular معالجة إدخال المستخدم تتم داخل المتصفح. يمكنك إنشاء SPA يستمع إلى واجهات برمجة تطبيقات تابعة لجهات خارجية واستضافته داخل S3.

يتمتع S3 أيضًا بدعم كبير للتوجيه ، لذا يمكنك استخدام المجال المخصص الخاص بك أيضًا.

لقد كتبت مؤخرًا مقالًا عن استضافة تطبيق ويب React باستخدام S3 ويمكنك العثور على المقالة هنا.

تحليلات

يمكنك تشغيل الاستعلامات على بيانات S3 الخاصة بك دون نقل بياناتك إلى منصة تحليلات. هذا يجعل S3 حالة استخدام رائعة لإنشاء تطبيقات تحليلات قوية.

تقدم S3 خيارات متعددة بما في ذلك S3 Select و Amazon Athena و Amazon Redshift Spectrum. يمكنك أيضًا دمجها مع AWS Lambda لإجراء معالجة البيانات على الفور.

مشاركة الملفات

يمكن أيضًا استخدام Amazon S3 كحل رخيص لمشاركة الملفات. كما ذكرت سابقًا في المقالة ، تم إنشاء خدمة مشاركة الملفات الشهيرة Dropbox أولاً فوق S3.

باستخدام سياسات الأمان المرنة ، يمكنك تكوين حاويات S3 الخاصة بك بأذونات مخصصة لعملاء مختلفين. يوفر S3 أيضًا تسريع النقل لتسريع عمليات نقل الملفات الكبيرة عبر مسافات أطول.

ملخص

Amazon S3 هي أداة رائعة للعمل معها لمتطلبات تخزين تطبيقات الويب أو الأجهزة المحمولة. مع التسعير حسب الطلب وقابلية التوسع في جوهرها ، كانت S3 هي حل التخزين السحابي المفضل للشركات الصغيرة والكبيرة على حد سواء.

تثق الشركات من Netflix إلى Pinterest في S3 ببياناتها ، بفضل متانة البيانات بنسبة 99.999999999٪ التي تعد بها Amazon.

يمكنك أيضًا استخدام Amazon S3 كحل تخزين شخصي أو استضافة مشروعك التالي عبر استضافة المواقع الثابتة. باختصار ، S3 هو حل تخزين رائع متعدد الأغراض يلبي مجموعة واسعة من حالات الاستخدام.

أكتب بانتظام عن التعلم الآلي والأمن السيبراني و AWS. يمكنك الاشتراك في رسالتي الإخبارية الأسبوعية هنا.