البرمجة

تكوين CloudFront باستخدام CloudFormation

باستخدام خدمة CloudFormation في أمازون ويب سيرفيسز (AWS)، يسعى المستخدم لتكوين توزيع CloudFront الذي يستخدم دلو S3 كمصدر أصلي. ومع ذلك، يواجه تحدياً يتمثل في ظهور خطأ يشير إلى أن “واحدًا أو أكثر من المصادر الأصلية الخاصة بك لا توجد”. يشير المستخدم إلى أنه قد افترض أن الخطأ ينبع من تكوين DomainName للمصدر بشكل غير صحيح.

قد يكون تحليل هذا المشكلة يكون بالنظر إلى جزء من قالب CloudFormation الخاص بك الذي يتعامل مع إعداد دلو S3 والتوزيع CloudFront. يتم إنشاء دلو S3 باستخدام نوع “AWS::S3::Bucket”، حيث يتم تحديد اسم الدلو وتكوين إعدادات الوصول وتكوين CORS (Cross-Origin Resource Sharing) للسماح بالوصول العام.

ثم يأتي تكوين التوزيع CloudFront باستخدام نوع “AWS::CloudFront::Distribution”. هنا، يتم تعريف المصدر باستخدام خاصية “Origins”، حيث يتم الإشارة إلى DomainName لدلو S3. يجب التأكد من أن القيمة المستخدمة في “DomainName” تمثل الاسم الصحيح للدلو S3 الذي تم إنشاؤه في الجزء السابق من القالب.

من الممكن أن يكون الخطأ في هذه القيمة أو في الطريقة التي يتم بها استخدام “Fn::GetAtt” للوصول إلى “DomainName” من الدلو. يفضل مراجعة الوثائق الخاصة بـ CloudFormation والتحقق من القيم المستخدمة.

بالإضافة إلى ذلك، يمكن تحسين التوزيع باستخدام خصائص محددة مثل ضغط الملفات وإعدادات الـ Cache والـ ViewerProtocolPolicy. قد يكون من المفيد البحث عن مثال قالب CloudFormation مفصل لتكوين توزيع CloudFront مع دلو S3 كمصدر للتأكد من الإعدادات الصحيحة.

في النهاية، يُنصح بالتحقق من وثائق AWS والمنتديات الفنية للحصول على مساعدة إضافية حول هذا الخطأ المحدد والتأكد من أن التكوين يتم بشكل صحيح وفقًا للمتطلبات.

المزيد من المعلومات

بالطبع، دعنا نستكشف بعمق المزيد من المعلومات حول استخدام خدمة CloudFormation في تكوين توزيع CloudFront مع دلو S3 كمصدر أصلي.

في القالب المُعرَّف، يتم إنشاء دلو S3 باستخدام نوع “AWS::S3::Bucket”. يتم تحديد اسم الدلو كـ “cdn-assets”، وتُعين إعدادات الوصول لـ “PublicRead” للسماح بالوصول العام. يُعرَّف تكوين CORS للسماح بطلبات المصادر المشتركة من أصل متعدد.

من ثم، يتم تكوين توزيع CloudFront باستخدام نوع “AWS::CloudFront::Distribution”. يُحدد المصدر باستخدام خاصية “Origins”، حيث يتم استخدام “Fn::GetAtt” للوصول إلى “DomainName” الخاص بالدلو S3 الذي تم إنشاءه سابقًا. يُفترض أن هذا الإعداد يتيح لـ CloudFront الوصول إلى المصدر بشكل صحيح.

ومع ذلك، يظهر خطأ يُفيد أن “واحدًا أو أكثر من المصادر الأصلية لا توجد”. يمكن أن يكون هذا بسبب عدم وجود الدلو S3 المُعرَّف في “Origins”، أو قد يكون هناك خطأ في استرداد “DomainName” باستخدام “Fn::GetAtt”.

يفضل فحص الأمانة في تكوين الـ CloudFront Distribution والتحقق من القيم المستخدمة لضمان التوجيه الصحيح للمصادر. يُفضل أيضًا تحليل سجلات الأخطاء أو إنشاء مخرجات إضافية في قالب CloudFormation لتسهيل عملية تحليل الأخطاء وتقديم إشارات أوضح حول أي مشكلة قد تطرأ.

قد يكون مفيدًا استخدام موارد AWS مثل أدوات تكوين CloudFront والتحقق من صلاحيات الوصول للدلو S3 للتأكد من أن كل شيء يتم استكماله بنجاح.

زر الذهاب إلى الأعلى