إعداد النسخ الاحتياطي وصور الرفع إلى Backblaze B2

لذا كنت أتبع دليل Digital Ocean Spaces، وبدأت أبحث عن موفّرين أرخص لسببي (مجتمع صغير جدًا). لاحظت منشورًا قديمًا أربكني، لأنني كنت قد نظرت للتو إلى Backblaze B2 ورأيت أنه متوافق مع S3. اتضح أنهم أطلقوا الميزة قبل 30 دقيقة فقط من وقت بحثي (يا له من حظ!). لذا قررت كتابة دليل سريع حول كيفية جعله يعمل مع مجتمعي الحالي:

الخطوة 1: إعداد تخزين Backblaze B2 السحابي

إنشاء حساب
انتقل إلى تخزين B2 السحابي وانقر على “سجّل اليوم”.

إنشاء مفتاح التطبيق
انقر على “App Keys” أو انتقل إلى هذه الصفحة. انقر على “إضافة مفتاح تطبيق جديد”، سمّه، ثم انقر على “إنشاء مفتاح جديد”. تأكد من تدوين keyID وapplicationKey لأنها ستُخفى بمجرد مغادرتك الصفحة.

إنشاء دلاء (Buckets) للرفع والنسخ الاحتياطي
عد إلى صفحة الدلاء وأنشئ الدلاء المطلوبة. تأكد من أن دلو الرفع عام، بينما دلو النسخ الاحتياطي خاص. (TODO: اختبار الإنشاء التلقائي من discourse)

الخطوة 2: إعداد Discourse

تتبع هذه الخطوة إلى حد كبير دليل Digital Ocean Spaces، مع الفروقات الملحوظة التالية:

  • استخدم keyID لمفتاح التطبيق في حقل s3 keyID.
  • استخدم applicationKey لمفتاح التطبيق في حقل s3 secret access key.
  • استخدم نقطة نهاية s3 (endpoint) المقدمة في مفتاح التطبيق.
  • اترك حقل CDN فارغًا إلا إذا كنت توفره بنفسك.

لمزيد من المعلومات حول توافق Backblaze B2 مع S3، راجع هذا المنشور في المدونة.

إذن، هل استبدال Backblaze يعمل بسلاسة بالنسبة لك دون أي أعطال؟

لقد أتيت إلى هنا للتو بحثًا عن معلومات لأنني لاحظت أنه يوفر 10 جيجابايت من المساحة المجانية، مما قد يقلل من تكاليف استضافتي. ومع ذلك، سأحتاج أولاً إلى نقل محتوى S3 الحالي الخاص بي. كما أنني مهتم بمعرفة ما إذا كان قد قام أي شخص بنقل نسخة Discourse نشطة من S3 إلى Backblaze.

بدلاً من متابعة هذا الموضوع، دعنا نضيفه إلى قائمة نسخ S3:

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

أعجبني كيف أن Backblaze لديها شراكة مع Cloudflare للسماح بنقل بيانات مجاني. نحن نستخدم بالفعل النسخة المجانية من Cloudflare لحماية DDoS. لذا، مع عدم وجود رسوم على نقل البيانات، يجب أن يوفر هذا علينا المال حيث ندفع فقط مقابل التخزين. سأحاول إعداد هذا قريبًا، مع إضافة خطوة إضافية تتضمن Cloudflare في المعادلة.

لذا نجحت في إعداد النسخ الاحتياطية بشكل صحيح، حيث يتم إرسال نسخ احتياطية من Discourse إلى سلة النسخ الاحتياطية الخاصة بي في Backblaze.

ومع ذلك، لا تظهر صور التحميلات في Discourse في سلة التحميلات الخاصة بي في Backblaze. لقد تأكدت من أنها مضبوطة على عامة.

هل لديكم أي أفكار؟

@Bill أنصحك بطلب الدعم في Configure an S3 compatible object storage provider for uploads

بما أنني قمت بإعداد هذا بنجاح للتو باستخدام Cloudflare، أردت مشاركة تجربتي. لا يُعد Cloudflare شبكة توصيل محتوى (CDN) تقليدية. أستخدمه للحماية من هجمات حجب الخدمة الموزعة (DDoS)، و SSL، والتخزين المؤقت. ومع ذلك، لإعداد تخزين S3، يبدو أنك تحتاج إلى شبكة توصيل محتوى أخرى. استخدمت BunnyCDN وهي غير مكلفة نسبيًا. تقوم بإعداد منطقة سحب (pull zone) تشير إلى عنوان URL لحزمة التحميل التي أنشأتها في Backblaze.

ثم اتبع التعليمات هنا: Configure an S3 compatible object storage provider for uploads - #106

ملاحظة: هذا يعمل فقط مع الملفات والصور التي سيتم تحميلها في المستقبل. لا ينقل الملفات القديمة لديك.