مرحبًا. لقد قمنا مؤخرًا بالانتقال من Discourse على EC2 إلى Discourse ECS (خدمة الحاويات). عندما كنا على EC2، لم يكن تحميل S3 مُعدًا بعد. قبل الانتقال، قمنا بنسخ جميع الصور من EC2 إلى دلو S3 (مع وصول عام). ومع ذلك، بعد إجراء الانتقال مع تمكين تحميل S3 (بدون CDN بعد)، لاحظنا أن الصور (والصور الرمزية) لم يتم تحميلها على الإطلاق.
فقط للاستفسار: هل يجب تنفيذ هذا الأمر على EC2 فقط؟ هل توجد طريقة أخرى لنقل الملفات المرفقة أو تحديث عناوين الصور؟ حاليًا، مثيل EC2 متوقف، وإعداد ECS الحالي يستخدم النطاق وقاعدة البيانات/الذاكرة المؤقتة بالفعل، لذا لست متأكدًا مما إذا كان بإمكاننا إعادة توجيه النطاق وقاعدة البيانات/الذاكرة المؤقتة إلى مثيل EC2 القديم (ثم إعادة البناء) دون توقف. شكرًا لك.
ستريد تشغيل الأمر في مثيل لديه وصول إلى الصور. لكن، إذا قمت أنت بنقلها إلى S3 يدويًا، فقد تحتاج إلى إجراء بعض التعديلات على جدول الرفع بدلاً من ذلك.
كنت أعمل على دليل تعليمي يحتوي على إرشادات للانتقال من bucket إلى آخر قد تستخدمه لحل مشكلتك، رغم أنك ستحتاج إلى تعديل هذه الإرشادات لمراعاة التغييرات من المحلي إلى bucket بدلاً من من bucket إلى bucket.
لو كنت سأفرض عليك سعرًا ثابتًا للعمل، لربما كنت سأطلب 4 ساعات، رغم أنه لو كنت ستدفع بالساعة فقد يكون الأمر ساعة واحدة فقط.
آه! عذرًا. لقد لاحظت هذا للتو. إذا كان EC2 يستخدم نفس قاعدة البيانات، فقد تتمكن من إعادة تشغيله (مع ترك ECS في مكانه)، وتشغيل مهمة migrate-to-s3 هناك؛ وستحتاج أولاً إلى وضع جميع عناصر S3 في متغيرات البيئة كما هو موضح في استخدام التخزين الكائني للرفع (S3 والنسخ). يُرجح أن تكون هذه هي الحل الأسهل. أنصحك بأخذ نسخة احتياطية لقاعدة البيانات فقط قبل البدء.