لاحظت أن تكاليف عرض النطاق الترددي (نقل البيانات) لخدمة صور S3 الخاصة بموقعنا في ازدياد مستمر. السعر هو 0.09 دولار/جيجابايت، مما قد يتراكم بسرعة كبيرة.. أفترض أنني لست الموقع الوحيد الذي يواجه هذه المشكلة؟ أدفع لشركة أمازون 70 دولارًا شهريًا مقابل النقل وحده، وهو أكثر من تكاليف خادم الآلة الافتراضية (VM) الخاص بي. تكاليف تخزين S3 تبلغ 5 دولارات شهريًا فقط، والمشكلة برمتها تكمن في رسوم النقل.
لا أملك أي شبكة توصيل محتوى (CDN) أو نظام تخزين مؤقت (Caching) مُعد، بل أستخدم نسخة عامة تمامًا من Discourse تعمل على خادم Linode الافتراضي مع استخدام دلاء صور S3. ماذا تفعل المواقع الأكبر حجمًا التي تحتوي على عدد كبير من الصور؟ شبكة توصيل محتوى (CDN) (أفترض أنها ستخفض التكاليف)؟ أم استخدام مساحات Digital Ocean أو Minio؟ هل هناك شيء آخر أغفلته؟
همم.. بالنظر إلى تكاليف النطاق الترددي في Fastly و Amazon CloudFront (وغيرها)، فهي متشابهة للغاية مع ما أدفعه حاليًا البالغ 0.09 دولار/جيجابايت
يبدو أن Cloudflare لا تفرض رسومًا على النطاق الترددي!! ربما يكون هذا هو الحل الذي يجب تجربته. هل توجد منشور يشرح كيفية ربط Cloudflare بخدمة CDN لصور S3 على Discourse؟ أرى متغير s3_cdn_url لكنني لا أستطيع العثور على تعليمات حول كيفية استخدامه (باستثناء أنني بحاجة إلى إعادة البناء بمجرد إعداده). بالنظر إلى Cloudflare، يبدو أنك بحاجة إلى امتلاك نطاق خاص بك نظرًا لأن DNS يحتاج إلى التعديل.. لذا سأضطر إلى إنشاء CNAME مثل s3-cloudflare.mydomain.com والذي سيشير إلى عنوان IP الخاص بـ S3 bucket الخاص بي، وأخبر Cloudflare بالقيام بعملها على ذلك الرابط، وإعداد s3_cdn_url ليصبح كذلك، ثم إعادة البناء؟
إليك صفحة دعم وجدتُها على Cloudflare والتي تبدو وكأنها تشير إلى أن هذا قد يعمل:
أنا أستخدم Cloudflare على موقع Discourse الخاص بي ويعمل بشكل ممتاز. الفكرة الأساسية هي توجيه جميع حركة المرور الخاصة بك عبر Cloudflare وإخبارها بما يجب معالجته أو تخزينه مؤقتًا، وهذا كل شيء. ومع ذلك، هناك بعض الأمور التي يجب وضعها في الاعتبار:
قم بتكوين Cloudflare بحيث لا تقوم بتخزين أي شيء مؤقتًا (قم بإعداد استثناءات باستخدام قواعد الصفحات، انظر أدناه).
لا تدع Cloudflare تتدخل في ملفات JavaScript الخاصة بك — تحديدًا، قم بإيقاف تشغيل Rocket Loader.
لست متأكدًا بعد بشأن ضغط Brotli، لذا قمت بتعطيله.
قم بإعداد قواعد الصفحات لتخزين مجلدات الصور الرمزية (avatars) والتحميلات مؤقتًا كما هو موضح أدناه (تجاهل القاعدة رقم 1، فهي خاصة بالموقع).
حاليًا، تقوم Cloudflare بتخزين ما يزيد قليلاً عن 3 تيرابايت من البيانات شهريًا بالنسبة لي، وتقوم بتقديم الرسومات الكبيرة بسرعة كبيرة.
إذا كنت مهتمًا أكثر بشبكة توصيل المحتوى (CDN)، فيمكنني أيضًا التوصية بـ https://www.belugacdn.com/ (أنا غير مرتبط بهم). أستخدمهم على منصة WordPress كبيرة، والأداء جيد، بتكلفة أقل بكثير مقارنة ببعض منصات CDN الأخرى التي راجعتها (قد تكون تلك أكثر كفاءة، لكن Beluga تلبي احتياجاتي).
هل انتقلت في النهاية بعيدًا عن Amazon CloudFront يا @scottfsmith؟
أجد نفسي في موقف مشابه من حيث ارتفاع النفقات.
إن CloudFront جديد نسبيًا بالنسبة لي. لقد كنت أدير فقط سلة S3 خلال السنوات القليلة الماضية، ولكن بناءً على التوصيات هنا، قمت بإعداد CloudFront الشهر الماضي.
كل ما فعلته هو نقل التكلفة من نقل بيانات S3 إلى نقل بيانات CloudFront بدلاً من ذلك، ولا يزال الفاتورة الشهرية الإجمالية كما هي.
أجد نفسي أقارب فاتورة شهرية غير مستدامة لنقل البيانات.
أنا في نفس القارب. لقد انتقلت إلى CloudFront منذ فترة قصيرة أيضًا، وتبدو التكاليف مماثلة. كنت أعتقد أن هناك نوعًا من التوفير بسبب التخزين المؤقت المحلي، أي أن عرض النطاق الترددي سيكون أقل إذا تم تحميل نفس الصورة بشكل متكرر من نفس الموقع الجغرافي، لكن حتى الآن يبدو أن هذا ليس هو الحال.
يبدو أنه يجب أن يكون هناك CDN آخر يعمل بديلًا لـ CloudFront، حيث أن ما تفعله Discourse هو إعادة كتابة عناوين URLs للصور فقط، لذا فهي عامة جدًا (يبدو ذلك). ربما يمكن استخدام Cloudflare للصور فقط.
خدمة Stackpath CDN تكلف 20 دولارًا شهريًا مع حد أقصى 1 تيرابايت، وفي كثير من الأشهر يتجاوز مستواي هذا الحد. ثم ترتفع التكلفة إلى 200 دولار شهريًا مع حد أقصى 20 تيرابايت، وهو ما يزيد عن حوالي 100 دولار شهريًا التي يدفعها Amazon لي.
ربما تكون هناك خدمة أخرى في القائمة أفضل، شكرًا لك على تذكيري بهذه القائمة.
ما الذي سيفعله هذا الإضافة؟ هل ستمنع ببساطة تحميل إضافات IMGUR، أم ستعمل مثل النظام الحالي وترفع جميع الصور إلى IMGUR عبر واجهة برمجة تطبيقات (API) يفترض أنها موجودة؟
كم ستكون هذه الميزة ذات قيمة بالنسبة لك؟ أشك في أن يكون هذا الأمر متوافقًا مع نموذج عمل CDCK، حيث أن استضافتهم المدفوعة هي ما يجعل Discourse ممكنًا لنا جميعًا، واستضافتهم تعمل بشكل ممتاز دون الحاجة إلى إضافة IMGUR.
بينما هذا الموضوع نشط مرة أخرى، يجب أن أتابع .. يبدو أن Amazon CloudFront خفض أسعاره بشكل كبير. ليس لدي أي فكرة عما فعلوه ولكن متوسط تكاليفي في AWS انتقل من حوالي 80 دولارًا شهريًا إلى 15 دولارًا شهريًا. هذا لكل من S3 و CloudFront للصور (فقط) على موقع به الكثير من الصور.
Cloudflare لا بأس به - فقط قم بتعطيل ميزة Rocket Loader الخاصة بهم.
بدون أي جهد في التكوين، فإنه يوفر نصف عرض النطاق الترددي مرة أخرى إلى الخادم الخاص بي.
قد يكون أن Cloudflare لم تعمل بشكل جيد مع Discourse منذ سنوات، ولكن هذا ليس صحيحًا اليوم. سيكون من الجيد لو لم نر الشكوك حولها باستمرار. إذا واجه أي شخص مشكلة معينة، فيجب عليه بدء موضوع دعم هنا يصف ما لا يعمل.