0Pricing
Cloud & IT Cert Prep · درس

توزيعات CloudFront والمصادر الأصلية

أنشئوا توزيع CloudFront، واضبطوا مصادر S3 ومصادر HTTP المخصصة، وتعرّفوا إلى Origin Access Control لأمان S3.

توزيعات CloudFront والمصادر الأصلية درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

ما المقصود بـ Amazon CloudFront؟

إن Amazon CloudFront هي شبكة توصيل محتوى (CDN) عالمية من AWS، تخزّن المحتوى مؤقتًا وتوصله من مواقع الحافة الموزعة في أكثر من 400 مدينة ضمن أكثر من 90 دولة. عندما يطلب مستخدم محتوى، تقدمه CloudFront من أقرب موقع حافة، مما يقلل زمن الاستجابة بدرجة كبيرة مقارنة بجلبه من خادم الأصل.

لا تقتصر CloudFront على الملفات الثابتة، بل تسرّع أيضًا المحتوى الديناميكي وواجهات API وبث الفيديو. وهي تتكامل مع خدمات AWS الأخرى مثل S3 وALB وLambda@Edge وWAF وShield، مما يجعلها طبقة التوزيع القياسية للبنى الحديثة على AWS.

توزيعات CloudFront

تُعد توزيعة CloudFront وحدة التهيئة الأساسية. وهي تحدد: أصلًا واحدًا أو أكثر (حيث يوجد المحتوى)، وسلوكيات التخزين المؤقت (كيفية تخزين مسارات URL المختلفة مؤقتًا)، وإعدادات الأمان، وطبقات التسعير. ويمكنكم الوصول إلى المحتوى عبر اسم نطاق التوزيعة (مثل d1234abcdef.cloudfront.net) أو نطاق مخصص (مثل cdn.example.com) باستخدام سجل CNAME أو ALIAS.

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

# Create a CloudFront distribution backed by S3
aws cloudfront create-distribution \
  --distribution-config '{
    "Origins": {
      "Quantity": 1,
      "Items": [{
        "Id": "S3Origin",
        "DomainName": "my-bucket.s3.amazonaws.com",
        "S3OriginConfig": {"OriginAccessIdentity": ""}
      }]
    },
    "DefaultCacheBehavior": {
      "TargetOriginId": "S3Origin",
      "ViewerProtocolPolicy": "redirect-to-https",
      "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6"
    },
    "Enabled": true,
    "Comment": "My S3 distribution",
    "CallerReference": "2026-06-20-unique"
  }'

استخدام S3 كأصل لـ CloudFront

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

لتقديم موقع مدعوم بـ S3، لا تحتاجون إلى جعل الحاوية عامة. بدلًا من ذلك، استخدموا Origin Access Control (OAC)، وهو البديل الحديث لـ Origin Access Identity (OAI). يمنح OAC توزيعة CloudFront وحدها الإذن بالقراءة من الحاوية، ويحافظ على خصوصية S3 بينما تقدم CloudFront المحتوى للعامة.

# S3 bucket policy granting OAC access to CloudFront
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Principal': {
      'Service': 'cloudfront.amazonaws.com'
    },
    'Action': 's3:GetObject',
    'Resource': 'arn:aws:s3:::my-bucket/*',
    'Condition': {
      'StringEquals': {
        'AWS:SourceArn': 'arn:aws:cloudfront::123456789:distribution/EDFDVBD6EXAMPLE'
      }
    }
  }]
}

أصول HTTP/HTTPS مخصصة

تدعم CloudFront أيضًا الأصول المخصصة، وهي أي خادم HTTP أو HTTPS يمكن الوصول إليه عبر الإنترنت، بما في ذلك مثيلات EC2 وموازنات التحميل للتطبيقات ونقاط نهاية API Gateway والخوادم المحلية. وتتيح الأصول المخصصة لـ CloudFront تخزين التطبيقات الديناميكية وواجهات API مؤقتًا وتسريعها، وليس الملفات الثابتة فقط.

عند استخدام ALB كأصل مخصص، هيئوا ALB لقبول الاتصالات من نطاقات IP الخاصة بـ CloudFront فقط في مجموعة الأمان الخاصة به. ويفرض ذلك مرور جميع حركة المرور الخارجية عبر CloudFront، مما يتيح تطبيق قواعد WAF وإنهاء TLS عند الحافة مع إبقاء ALB داخليًا في AWS.

Origin Access Control (OAC) مقابل OAI

كان Origin Access Identity (OAI) الطريقة الأصلية لتقييد وصول CloudFront إلى حاوية S3. وهو هوية مستخدم خاصة في CloudFront يُمنح لها الإذن في سياسة حاوية S3. ورغم أن OAI لا يزال يعمل، فإنه يُعد قديمًا.

إن Origin Access Control (OAC) هو البديل الحديث. ويدعم OAC جميع أنواع حاويات S3 (بما في ذلك S3 في مناطق AWS China والحاويات المشفرة باستخدام SSE-KMS)، ويستخدم مبادئ خدمة IAM لتحقيق تحكم أكثر دقة، ويوقّع الطلبات إلى S3 تلقائيًا باستخدام SigV4. بالنسبة إلى التوزيعات الجديدة، استخدموا OAC دائمًا بدلًا من OAI.

سياسة بروتوكول العارض

تتحكم سياسة بروتوكول العارض في كيفية تعامل CloudFront مع الاتصالات بين المستخدمين (العارضين) وموقع الحافة:

  • HTTP وHTTPS: السماح بكليهما؛ لا يُنصح بذلك للمحتوى الحساس
  • إعادة توجيه HTTP إلى HTTPS: إعادة توجيه طلبات HTTP إلى HTTPS بشفافية؛ وهو الإعداد الأكثر شيوعًا
  • HTTPS فقط: رفض اتصالات HTTP بالكامل؛ ويُستخدم لفرض TLS بشكل صارم

وبشكل منفصل، تتحكم سياسة بروتوكول الأصل في كيفية تواصل CloudFront مع الأصل: HTTP فقط أو HTTPS فقط أو مطابقة بروتوكول العارض. وبالنسبة إلى أصول S3 التي تستخدم OAC، تستخدم CloudFront HTTPS دائمًا.

النطاقات المخصصة وشهادات SSL/TLS

لتقديم المحتوى من cdn.example.com بدلًا من نطاق CloudFront، تُكوِّن اسم نطاق بديل (CNAME) في التوزيعة وتُرفق شهادة SSL/TLS من AWS Certificate Manager (ACM). يجب أن تكون شهادة ACM في منطقة us-east-1 (بغض النظر عن مكان تقديم توزيعتك لحركة المرور)، لأن CloudFront خدمة عالمية تُدار من us-east-1.

أنشئ سجل Route 53 من نوع ALIAS يشير إلى اسم نطاق توزيعة CloudFront. وتقدّم CloudFront شهادتك تلقائيًا إلى طلبات SNI المطابقة.

# Request a certificate in us-east-1 for CloudFront
aws acm request-certificate \
  --domain-name cdn.example.com \
  --validation-method DNS \
  --region us-east-1

فئات الأسعار

تتحكم فئة أسعار CloudFront في مواقع الحافة المستخدمة لتقديم توزيعتك. وتشمل فئات الأسعار الأعلى مواقع حافة أكثر تكلفة (عادةً في المناطق ذات تكاليف النطاق الترددي الأعلى):

  • Price Class 100: أمريكا الشمالية وأوروبا فقط (أقل تكلفة)
  • Price Class 200: أمريكا الشمالية وأوروبا وآسيا والشرق الأوسط وأفريقيا
  • Price Class All: جميع مواقع الحافة حول العالم (أفضل أداء وأعلى تكلفة)

استخدم Price Class 100 للأدوات الداخلية أو للجمهور المحصور في أمريكا الشمالية وأوروبا. واستخدم Price Class All للتطبيقات العالمية الموجهة إلى المستهلكين فعلًا.

مجموعات المصادر والتجاوز عند التعطل

تتيح مجموعات المصادر إمكانية التجاوز عند تعطل مصدر CloudFront. وتحدد مصدرًا أساسيًا ومصدرًا ثانويًا في مجموعة واحدة. فإذا أعاد المصدر الأساسي رمز خطأ HTTP محددًا (مثل 500 أو 502 أو 503 أو 504)، تعيد CloudFront محاولة الطلب تلقائيًا باستخدام المصدر الثانوي.

يفيد التجاوز عند تعطل المصدر في التعافي من الكوارث: احتفظ بحاوية S3 أساسية في us-east-1 ونسخة احتياطية منسوخة في us-west-2 بصفتها المصدر الثانوي. وتنتقل CloudFront بشفافية إلى المصدر الاحتياطي أثناء انقطاع S3، من دون الحاجة إلى تغيير DNS. ويكمل هذا النمط ميزة S3 Cross-Region Replication.

سجلات وصول CloudFront

يمكن لـ CloudFront تسليم سجلات الوصول إلى حاوية S3، مع تسجيل تفاصيل كل طلب من المشاهد: الطابع الزمني، وموقع الحافة، ورمز الحالة، والبايتات المنقولة، وحالة إصابة ذاكرة التخزين المؤقت أو عدمها، ووكيل المستخدم، وغير ذلك. وتُسلَّم السجلات على دفعات كل بضع دقائق.

استخدم سجلات الوصول لتحليل أنماط حركة المرور، وتحديد المحتوى الأكثر طلبًا، وتدقيق الحقول المتعلقة بالأمان (عنوان IP، والمُحيل، ووكيل المستخدم)، وقياس نسب إصابة ذاكرة التخزين المؤقت. ويُخبرك الحقل x-edge-result-type بما إذا كان الطلب قد حقق حالة Hit أو Miss أو RefreshHit عند الحافة.

# Enable access logging on a distribution
aws cloudfront update-distribution \
  --id EDFDVBD6EXAMPLE \
  --distribution-config '{
    ...existing config...
    "Logging": {
      "Enabled": true,
      "Bucket": "my-logs-bucket.s3.amazonaws.com",
      "Prefix": "cloudfront-logs/",
      "IncludeCookies": false
    }
  }' \
  --if-match ETVPDKIKX0DER

مواقع الحافة مقابل ذاكرات التخزين المؤقت الإقليمية للحافة

لدى CloudFront مستويان من البنية التحتية للتخزين المؤقت:

  • مواقع الحافة: مئات نقاط الحضور المنتشرة عالميًا بالقرب من المستخدمين النهائيين، وتقدّم المحتوى المخزّن مؤقتًا بأقل زمن استجابة
  • Regional Edge Caches (RECs): 13 ذاكرة تخزين مؤقت أكبر وأطول عمرًا بين مواقع الحافة والمصادر، وتقدّم المحتوى الذي لا يحظى بشعبية كافية للبقاء في ذاكرات التخزين المؤقت الصغيرة في مواقع الحافة

عندما لا يجد الطلب المحتوى في ذاكرة التخزين المؤقت لموقع الحافة، تتحقق CloudFront من REC قبل الانتقال إلى المصدر. وتعمل RECs بشفافية، فلا تُكوِّنها مباشرةً، لكنها تحسّن نسب إصابة ذاكرة التخزين المؤقت بدرجة كبيرة للمحتوى قليل الطلب وتقلل الحمل على المصدر.

اختبار سريع

اختبر مدى فهمك لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.

مراجعة الدرس

تعلمت في هذا الدرس أن: توزيعات CloudFront تخزّن المحتوى مؤقتًا في مواقع الحافة حول العالم، وأن OAC يحافظ على خصوصية حاويات S3 مع السماح لـ CloudFront بالوصول إليها، وأن المصادر المخصصة تدعم ALBs وAPI Gateway وأي خادم HTTP. ويجب توفير شهادات ACM الخاصة بـ CloudFront في us-east-1. وفي الدرس التالي، سنستكشف سلوكيات التخزين المؤقت وإعدادات TTL.

الأسئلة الشائعة

هل درس «توزيعات CloudFront والمصادر الأصلية» مجاني؟

نعم — نص درس «توزيعات CloudFront والمصادر الأصلية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

ماذا ستتعلم في «توزيعات CloudFront والمصادر الأصلية»؟

أنشئوا توزيع CloudFront، واضبطوا مصادر S3 ومصادر HTTP المخصصة، وتعرّفوا إلى Origin Access Control لأمان S3. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟

لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «توزيعات CloudFront والمصادر الأصلية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟

نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. توزيعات CloudFront والمصادر الأصلية
  2. سلوكيات ذاكرة التخزين المؤقت وإعدادات TTL
  3. عناوين URL الموقعة وملفات تعريف الارتباط الموقعة والتقييد الجغرافي
  4. CloudFront مع WAF وLambda@Edge
← العودة إلى Cloud & IT Cert Prep