AWS Solutions Architect · Pelajaran

Edaran dan Asal CloudFront

Cipta edaran CloudFront, konfigurasikan asal S3 dan HTTP tersuai, serta fahami Kawalan Akses Asal untuk keselamatan S3.

Pelajaran 1 daripada 413 langkah

Edaran dan Asal CloudFront ialah pelajaran AWS Solutions Architect percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AWS Solutions Architect, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.

Apakah Amazon CloudFront?

Amazon CloudFront ialah Rangkaian Penghantaran Kandungan (CDN) global AWS yang menyimpan cache dan menghantar kandungan dari lokasi pinggir yang tersebar di lebih 400 bandar di lebih 90 negara. Apabila pengguna meminta kandungan, CloudFront menyampaikannya dari lokasi pinggir terdekat, lalu mengurangkan kependaman dengan ketara berbanding mendapatkannya daripada pelayan asal.

CloudFront bukan hanya untuk fail statik—ia juga mempercepat kandungan dinamik, API, dan penstriman video. Ia berintegrasi dengan perkhidmatan AWS lain seperti S3, ALB, Lambda@Edge, WAF, dan Shield, menjadikannya lapisan edaran standard untuk seni bina AWS moden.

Edaran CloudFront

Edaran CloudFront ialah unit konfigurasi utama. Ia mentakrifkan: satu atau lebih asal (tempat kandungan disimpan), tingkah laku cache (cara laluan URL yang berbeza dicache), tetapan keselamatan, dan peringkat harga. Anda mengakses kandungan melalui nama domain edaran tersebut (contohnya, d1234abcdef.cloudfront.net) atau domain tersuai (contohnya, cdn.example.com) menggunakan rekod CNAME atau ALIAS.

Selepas dicipta, edaran mengambil masa 10–15 minit untuk digunakan secara global di semua lokasi pinggir. Perubahan pada edaran sedia ada juga mengambil masa beberapa minit untuk disebarkan. Dari segi sejarah, terdapat dua jenis edaran, tetapi kini semua edaran menggunakan antara muka konfigurasi yang disatukan.

# 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 sebagai Asal CloudFront

Menggunakan bucket S3 sebagai asal CloudFront ialah salah satu pola yang paling biasa. CloudFront mengambil objek daripada S3, menyimpannya dalam cache di lokasi pinggir, dan menyampaikan permintaan seterusnya daripada cache tanpa mengakses S3 lagi. Ini mengurangkan kos permintaan S3, meningkatkan kependaman untuk pengguna global, dan mengurangkan beban lebar jalur daripada S3.

Untuk menyampaikan tapak yang disokong S3, anda tidak perlu menjadikan bucket itu awam. Sebaliknya, gunakan Origin Access Control (OAC)—pengganti moden bagi Origin Access Identity (OAI). OAC hanya memberikan edaran CloudFront kebenaran untuk membaca daripada bucket, mengekalkan S3 sebagai persendirian sementara CloudFront menyampaikan kandungan kepada umum.

# 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'
      }
    }
  }]
}

Asal HTTP/HTTPS Tersuai

CloudFront juga menyokong asal tersuai: mana-mana pelayan HTTP atau HTTPS yang boleh dicapai dari internet, termasuk tika EC2, Application Load Balancers, titik akhir API Gateway, dan pelayan di premis. Asal tersuai membolehkan CloudFront mencache dan mempercepat aplikasi dinamik serta API, bukan hanya fail statik.

Apabila menggunakan ALB sebagai asal tersuai, konfigurasikan ALB supaya hanya menerima sambungan daripada julat IP CloudFront dalam kumpulan keselamatannya. Ini memaksa semua trafik luaran melalui CloudFront, membolehkan peraturan WAF dan penamatan TLS di lokasi pinggir sambil mengekalkan ALB secara dalaman dalam AWS.

Origin Access Control (OAC) berbanding OAI

Origin Access Identity (OAI) ialah kaedah asal untuk mengehadkan akses bucket S3 kepada CloudFront. Ia merupakan identiti pengguna CloudFront khas yang diberikan dalam dasar bucket S3. Walaupun OAI masih berfungsi, ia dianggap sebagai teknologi lama.

Origin Access Control (OAC) ialah pengganti moden. OAC menyokong semua jenis bucket S3 (termasuk S3 dalam Region AWS China dan bucket yang disulitkan SSE-KMS), menggunakan prinsipal perkhidmatan IAM untuk kawalan yang lebih terperinci, dan menandatangani permintaan ke S3 secara automatik menggunakan SigV4. Untuk edaran baharu, sentiasa gunakan OAC dan bukannya OAI.

Dasar Protokol Pelawat

Dasar Protokol Pelawat mengawal cara CloudFront mengendalikan sambungan antara pengguna (pelawat) dengan lokasi pinggir:

  • HTTP dan HTTPS: benarkan kedua-duanya; tidak disyorkan untuk kandungan sensitif
  • Halakan Semula HTTP ke HTTPS: halakan semula permintaan HTTP ke HTTPS secara telus; tetapan yang paling biasa
  • HTTPS Sahaja: tolak sambungan HTTP sepenuhnya; gunakan untuk penguatkuasaan TLS yang ketat

Secara berasingan, Dasar Protokol Asal mengawal cara CloudFront berkomunikasi dengan asal anda: HTTP sahaja, HTTPS sahaja, atau sepadan dengan pelawat. Untuk asal S3 dengan OAC, CloudFront sentiasa menggunakan HTTPS.

Domain Tersuai dan Sijil SSL/TLS

Untuk menyampaikan kandungan daripada cdn.example.com dan bukannya domain CloudFront, konfigurasikan Nama Domain Alternatif (CNAME) dalam pengedaran tersebut dan lampirkan sijil SSL/TLS daripada AWS Certificate Manager (ACM). Sijil ACM mestilah berada di Rantau us-east-1 (tanpa mengira lokasi pengedaran anda menyampaikan trafik), kerana CloudFront ialah perkhidmatan global yang diuruskan dari us-east-1.

Cipta rekod Route 53 sebagai rekod ALIAS yang menunjuk kepada nama domain pengedaran CloudFront. CloudFront secara automatik menyampaikan sijil anda kepada permintaan SNI yang sepadan.

# 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

Kelas Harga

Kelas Harga CloudFront menentukan lokasi pinggir yang digunakan untuk menyampaikan pengedaran anda. Kelas harga yang lebih tinggi merangkumi lokasi pinggir yang lebih mahal (biasanya di rantau dengan kos lebar jalur yang lebih tinggi):

  • Kelas Harga 100: Amerika Utara dan Eropah sahaja (kos terendah)
  • Kelas Harga 200: Amerika Utara, Eropah, Asia, Timur Tengah, Afrika
  • Kelas Harga Semua: semua lokasi pinggir di seluruh dunia (prestasi terbaik, kos tertinggi)

Gunakan Kelas Harga 100 untuk alat dalaman atau khalayak yang terhad kepada Amerika Utara dan Eropah. Gunakan Kelas Harga Semua untuk aplikasi yang benar-benar ditujukan kepada pengguna global.

Kumpulan Asal dan Pengambilalihan

Kumpulan asal membolehkan pengambilalihan asal CloudFront. Anda mentakrifkan asal utama dan asal sekunder dalam satu kumpulan. Jika asal utama mengembalikan kod ralat HTTP tertentu (contohnya, 500, 502, 503, 504), CloudFront akan mencuba semula permintaan secara automatik terhadap asal sekunder.

Pengambilalihan asal berguna untuk pemulihan bencana: kekalkan bucket S3 utama di us-east-1 dan sandaran yang direplikasi di us-west-2 sebagai asal sekunder. CloudFront beralih kepada asal sekunder secara telus semasa gangguan S3 tanpa memerlukan perubahan DNS. Corak ini melengkapi Replikasi S3 Rentas Rantau.

Log Akses CloudFront

CloudFront boleh menghantar log akses ke bucket S3, dengan merekodkan butiran tentang setiap permintaan penonton: cap masa, lokasi pinggir, kod status, bait yang dipindahkan, cache hit/miss, ejen pengguna dan banyak lagi. Log dihantar secara berkelompok setiap beberapa minit.

Gunakan log akses untuk menganalisis corak trafik, mengenal pasti kandungan tumpuan, mengaudit medan yang berkaitan dengan keselamatan (IP, perujuk, ejen pengguna) dan mengukur nisbah cache hit. Medan x-edge-result-type memberitahu anda sama ada permintaan itu ialah Hit, Miss atau RefreshHit di lokasi pinggir.

# 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

Lokasi Pinggir berbanding Cache Pinggir Serantau

CloudFront mempunyai dua peringkat infrastruktur caching:

  • Lokasi pinggir: ratusan PoPs di seluruh dunia yang dekat dengan pengguna akhir; menyampaikan kandungan cache dengan kependaman minimum
  • Cache Pinggir Serantau (RECs): 13 cache yang lebih besar dan bertahan lebih lama antara lokasi pinggir dengan asal; menyampaikan kandungan yang tidak cukup popular untuk kekal dalam cache lokasi pinggir yang kecil

Apabila cache lokasi pinggir tidak menemui permintaan, CloudFront menyemak REC sebelum pergi terus ke asal. REC adalah telus—anda tidak mengkonfigurasikannya secara langsung—tetapi REC meningkatkan nisbah cache hit dengan ketara untuk kandungan ekor panjang dan mengurangkan beban asal.

Semakan Pantas

Uji pemahaman anda tentang konsep AWS Solutions Architect (SAA-C03) daripada pelajaran ini.

Ulang Kaji Pelajaran

Dalam pelajaran ini, anda telah mempelajari bahawa: pengedaran CloudFront mencache kandungan di lokasi pinggir di seluruh dunia, OAC memastikan bucket S3 kekal peribadi sambil membenarkan akses CloudFront dan asal tersuai menyokong ALB, API Gateway dan sebarang pelayan HTTP. Sijil ACM untuk CloudFront mesti diperuntukkan di us-east-1. Seterusnya, kita akan meneroka tingkah laku cache dan tetapan TTL.

Percuma untuk bermula

Pelajari AWS Solutions Architect dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Edaran dan Asal CloudFront” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran AWS Solutions Architect, termasuk “Edaran dan Asal CloudFront”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Edaran dan Asal CloudFront”?

Cipta edaran CloudFront, konfigurasikan asal S3 dan HTTP tersuai, serta fahami Kawalan Akses Asal untuk keselamatan S3. Anda berlatih AWS Solutions Architect menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan AWS Solutions Architect?

Tiada pengalaman terdahulu diperlukan. Pembelajaran AWS Solutions Architect di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Edaran dan Asal CloudFront” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran AWS Solutions Architect ini?

Ya. Setiap pelajaran AWS Solutions Architect menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Edaran dan Asal CloudFront
  2. Tingkah Laku Cache dan Tetapan TTL
  3. URL Ditandatangani, Kuki Ditandatangani dan Sekatan Geografi
  4. CloudFront dengan WAF dan Lambda@Edge
← Kembali ke AWS Solutions Architect