بعد أن عرفت ما هو Amazon S3؟، سنستخدمه لاستضافة موقع ثابت (HTML و CSS و JavaScript) بأبسط طريقة وأرخصها.
⚠️ الأوامر تمثيلية؛ استبدل
my-unique-bucket-nameباسم حاوية فريد عالميًا، وشغّلها في حساب حقيقي للتأكّد.
المتطلّبات المسبقة
- حساب AWS و AWS CLI مُهيّأة.
- ملفّات موقع ثابت (على الأقلّ
index.html). راجع أساسيات HTML إن لزم.
الخطوة 1: أنشئ حاوية (Bucket)
aws s3 mb s3://my-unique-bucket-name
الخطوة 2: فعّل استضافة المواقع الثابتة
اضبط الحاوية لتقدّم صفحة رئيسية وصفحة خطأ:
aws s3 website s3://my-unique-bucket-name \
--index-document index.html \
--error-document error.html
الخطوة 3: ارفع ملفّات موقعك
يزامن sync مجلّدك المحلّي مع الحاوية:
aws s3 sync ./site s3://my-unique-bucket-name
الخطوة 4: اسمح بالقراءة العامّة
الحاويات تحجب الوصول العامّ افتراضيًا (وهذا جيّد أمنيًا). لموقع عامّ، عطّل حجب الوصول العامّ على هذه الحاوية، ثمّ أضف سياسة تسمح بقراءة الكائنات:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-unique-bucket-name/*"
}]
}
⚠️ هذه السياسة تجعل قراءة الملفّات عامّة للجميع — مناسبة لموقع عامّ فقط، لا لبيانات حسّاسة.
الخطوة 5: افتح موقعك
يوفّر S3 رابط «نقطة نهاية استضافة الموقع» (Website Endpoint) تجده في الـ Console؛ افتحه لترى موقعك يعمل.
💡 للحصول على نطاق مخصّص و HTTPS وأداء أعلى، يُوضَع عادةً Amazon CloudFront أمام الحاوية — موضوع لاحق.
أخطاء شائعة
- 403 Forbidden: حجب الوصول العامّ ما زال مفعّلًا، أو سياسة الحاوية ناقصة.
- 404 Not Found: اسم
index.htmlلا يطابق ما ضبطته، أو الملفّ لم يُرفَع.
التنظيف
الاستضافة الثابتة رخيصة جدًا، لكن لإزالة كل شيء:
aws s3 rb s3://my-unique-bucket-name --force
الخطوات التالية
جرّب قاعدة بيانات مُدارة في إعداد MySQL على RDS، أو اربط نطاقًا مخصّصًا في إعداد نطاق عبر Route 53.