البرامج التعليمية لـ Amazon CloudFront: إعداد توزيع محتوى ديناميكي لـ Amazon S3

كيفية إعداد توزيع Amazon CloudFront لخدمة Amazon S3

تعمل شبكة Amazon CloudFront بسلاسة مع خدمة التخزين البسيطة في Amazon‏ (Amazon S3) لتسريع تسليم محتواك على الويب وتقليل الحمل على خوادم الأصل. تُعد Amazon S3 خيارًا ممتازًا للأشخاص الذين يرغبون في تخزين البيانات في السحابة وتسليمها على أنها محتوى ويب. إذا كنت تفضل تقديم وظائف أو محتوى ديناميكي، فتحقق من كيفية إعداد توزيع Amazon CloudFront لسحابة الحوسبة المرنة لـ Amazon‏ (Amazon EC2).

شاهد هذا العرض التوضيحي لـ AWS TechTips لمعرفة كيفية إعداد توزيع شبكة CDN لـ Amazon CloudFront باستخدام

ما فوائد إعداد توزيع Amazon CloudFront باستخدام Amazon S3؟

يوفر توزيع شبكة تسليم محتوى (CDN) Amazon CloudFront لمستخدمي S3 العديد من الفوائد.

سرعات نقل البيانات الفائقة

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

تحسين الأمان والأداء

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

عمليات نقل بيانات فعالة من حيث التكلفة

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

كيفية زيادة سرعة تحميل المحتوى الديناميكي باستخدام CloudFront وS3

الخطوة 1. انتقل إلى وحدة تحكم AWS

للبدء، سجِّل الدخول إلى وحدة إدارة تحكم AWS وحدد Amazon S3 من قائمة الخدمات. 

الخطوة 2. أنشئ حاوية Amazon S3

من هناك، يمكنك:

  • إنشاء حاوية S3 إذا لم يكن لديك واحدة بالفعل، عن طريق تحديد إنشاء حاوية.
  • حدد اسم حاوية متوافقًا مع نظام اسم المجال (DNS).
  • حدد المنطقة التي تريد وضع الحاوية فيها.

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

الخطوة 3. أنشئ توزيع CloudFront

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

الخطوة 4. حدد إعدادات التوزيع

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

الخطوة 5. كوّن الأصل

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

يتيح منح أذونات الوصول لـ CloudFront قراءة الكائنات من الحاوية. يمكنك أيضًا تحديد مسار الأصل إذا وضعت كل الكائنات في مجلد فرعي.

الخطوة 6. كوّن أصل هوية الوصول

من هنا، يمكنك تقييد الوصول إلى أصل Amazon S3. إذا حددت الخيار "نعم"، فسيطلب منك النظام إنشاء أصل هوية الوصول أو تحديد أصل هوية موجود بالفعل، ما يتيح لـ CloudFront قراءة الكائنات من الحاوية. لديك أيضًا خيار السماح لـ CloudFront بتحديث سياسة الحاوية نيابة عنك.

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

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

الخطوة 7. كوّن سلوك ذاكرة التخزين المؤقت الافتراضي

لديك بعد ذلك خيارات متنوعة ضمن "إعدادات سلوك ذاكرة التخزين المؤقت الافتراضي".

تسمح لك سياسة بروتوكول Viewer باختيار كيفية التعامل مع بروتوكولات HTTP وHTTPS. يمكنك تحديد إعادة توجيه طلبات HTTP إلى HTTPS، على سبيل المثال، لتمكينك من دعم الطلبات باستخدام أي من البروتوكولين. يمكنك أيضًا تحديد دعم HTTPS فقط، وفي هذه الحالة سينخفض تدفق بيانات HTTP. وهذا يضمن توافقك مع أفضل الممارسات في أمان الويب.

تتيح لك CloudFront تحديد أساليب HTTP التي تريد قبولها. الإعداد الافتراضي هو GET، HEAD. سيتيح لك تحديد أي من الخيارات الأخرى (GET، أو HEAD، أو OPTIONS أو GET، أوHEAD، أوOPTIONS، أو PUT، أو POST، أوPATCH، أو DELETE) تكوين كيفية تخزين CloudFront المؤقت لأساليب الخيارات.

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

الخطوة 8. كوّن TTLs

في هذا القسم التالي، يمكنك تحديد مدة الصلاحية (TTL)، ما يُمكّنك من إدارة مدة بقاء المحتوى في ذاكرة التخزين المؤقت قبل انتهاء صلاحيته. افتراضيًا، سيتم تحديد استخدام رؤوس ذاكرة التخزين المؤقت للأصل. بدلاً من ذلك، يمكنك تخصيص الحدود الزمنية العلوية والسفلية للكائنات التي سيتم تخزينها في ذاكرة التخزين المؤقت لـ CloudFront.

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

إذا لم يُرجِع الأصل أي رأس تحكم في ذاكرة التخزين المؤقت، فستُستخدم مدة الصلاحية الافتراضية بدلاً من ذلك. في الفيديو الموضح على سبيل المثال، تم تعيين القيمة الافتراضية إلى 86,400 ثانية، أي ما يعادل 24 ساعة.

الخطوة 9. كوّن الميزات الإضافية

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

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

لديك بعد ذلك مزيد من الخيارات في الحقول الآتية:

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

إذا كنت تتوقع مشاهدة المشاهدين في مناطق معينة فقط، مثل الولايات المتحدة وكندا وأوروبا، فيمكنك تحديد تلك المناطق فقط على أنها ضمن فئة أسعار أقل. هذا لا يعني أن المشاهدين خارج تلك المناطق لن يتمكنوا من الوصول إلى محتواك—بل ستوجههم CloudFront مباشرة إلى أقرب موقع تخزين مؤقت. إذا كنت ستستخدم جدار حماية تطبيق الويب من AWS‏ (AWS WAF) مع CloudFront، فيمكنك أيضًا تكوين هذه الإعدادات هنا.

قبل حفظ التوزيع، من الضروري إدارة شهادة طبقة مآخذ التوصيل الآمنة (SSL). وهنا يوجد خياران:

  • استخدام شهادة CloudFront الافتراضية.
  • تحميل شهادة SSL مخصصة أو طلبها من AWS Certificate Manager‏ (ACM) وإقرانها بتوزيع CloudFront؛ وهذا الخيار مناسب إذا كنت تستخدم نطاقًا مخصصًا.

أخيرًا، يمكنك استخدام الإعدادات المتبقية لتحديد:

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

ومن ثمّ، يمكنك إدخال وصف وإنشاء التوزيع. بمجرد الحفظ، سيستغرق الأمر حوالي 15 دقيقة لنشر التوزيع في جميع أنحاء العالم.

الخطوة 10. اختبر توزيع CloudFront

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

كما تتيح لك CloudFront إنشاء صفحات خطأ مخصصة أو تغيير مدة بقاء الاستجابات للأخطاء في ذاكرة التخزين المؤقت عن طريق تحديد إنشاء استجابة لخطأ العميل. يمكنك تعديل هذه الإعدادات لكل رمز خطأ HTTP. لنفترض أنك تريد إعادة المحاولة لكل خطأ 403، يمكنك تعيين الحد الأدنى من TTL إلى 0 ثانية. افتراضيًا، يخزن CloudFront كل شيء مؤقتًا لمدة 300 ثانية لتخفيف بعض الحمل على الأصل. كما يمكنك إنشاء استجابات خطأ مخصصة لكل رمز خطأ، إذا كنت ترغب في ذلك.

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

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

قالب Amazon CloudFormation لمساعدتك على بدء استخدام CloudFront

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

للحصول على مزيد من المعلومات، اقرأ منشور المدونة الذي يحمل عنوان Amazon S3 + Amazon CloudFront: توافق داخل السحابة واحصل على قالب CloudFormation.

موارد إضافية حول تسليم المحتوى باستخدام CloudFront

لست متأكدًا من كيفية بدء استخدام CloudFront؟ اطلع على دليل بدء استخدام شبكات تسليم المحتوى، أو توجه إلى مركز توثيق شبكة تسليم المحتوى في Amazon Web Services.

تحقق من هذه الموارد حول إدارة توزيع CloudFront على S3 في مركز المعرفة للدعم المتميز لدينا:

اكتشف المزيد من موارد Amazon CloudFront

تفضل بزيارة صفحة الموارد
هل أنت جاهز للإنشاء؟
يمكنك البدء باستخدام Amazon CloudFront مجانًا
هل لديك مزيد من الأسئلة؟
تواصل معنا