0Pricing
AWS Solutions Architect · Pelajaran

Distribusi dan Asal CloudFront

Buat distribusi CloudFront, konfigurasikan asal HTTP S3 dan kustom, serta pahami Origin Access Control untuk keamanan S3.

Distribusi dan Asal CloudFront adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Solutions Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Apa Itu Amazon CloudFront?

Amazon CloudFront adalah Jaringan Pengiriman Konten (CDN) global AWS yang menyimpan cache dan mengirimkan konten dari lokasi edge yang tersebar di lebih dari 400 kota di lebih dari 90 negara. Ketika pengguna meminta konten, CloudFront menyajikannya dari lokasi edge terdekat, sehingga latensinya jauh lebih rendah dibandingkan mengambilnya dari server origin.

CloudFront bukan hanya untuk berkas statis—layanan ini juga mempercepat konten dinamis, API, dan streaming video. CloudFront terintegrasi dengan layanan AWS lainnya seperti S3, ALB, Lambda@Edge, WAF, dan Shield, sehingga menjadi lapisan distribusi standar untuk arsitektur AWS modern.

Distribusi CloudFront

Distribusi CloudFront adalah unit konfigurasi utama. Distribusi ini menentukan: satu atau beberapa origin (tempat konten berada), perilaku cache (cara jalur URL yang berbeda disimpan dalam cache), pengaturan keamanan, dan tingkatan harga. Anda mengakses konten melalui nama domain distribusi (misalnya, d1234abcdef.cloudfront.net) atau domain khusus (misalnya, cdn.example.com) menggunakan rekaman CNAME atau ALIAS.

Setelah dibuat, distribusi memerlukan waktu 10–15 menit untuk diterapkan secara global di semua lokasi edge. Perubahan pada distribusi yang sudah ada juga memerlukan waktu beberapa menit untuk disebarkan. Secara historis terdapat dua tipe distribusi, tetapi saat ini semua distribusi menggunakan antarmuka konfigurasi terpadu.

# 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 Origin CloudFront

Menggunakan bucket S3 sebagai origin CloudFront adalah salah satu pola yang paling umum. CloudFront mengambil objek dari S3, menyimpannya di cache pada lokasi edge, dan menyajikan permintaan berikutnya dari cache tanpa mengakses S3 lagi. Hal ini mengurangi biaya permintaan S3, meningkatkan latensi bagi pengguna global, dan mengurangi beban bandwidth dari S3.

Untuk menyajikan situs berbasis S3, Anda tidak perlu menjadikan bucket publik. Sebagai gantinya, gunakan Origin Access Control (OAC)—pengganti modern untuk Origin Access Identity (OAI). OAC hanya memberikan izin kepada distribusi CloudFront untuk membaca dari bucket, sehingga S3 tetap privat sementara CloudFront menyajikan konten secara publik.

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

Origin HTTP/HTTPS Khusus

CloudFront juga mendukung origin khusus: server HTTP atau HTTPS apa pun yang dapat diakses dari internet, termasuk instans EC2, Application Load Balancer, titik akhir API Gateway, dan server lokal. Origin khusus memungkinkan CloudFront menyimpan dalam cache dan mempercepat aplikasi dinamis serta API, bukan hanya berkas statis.

Jika menggunakan ALB sebagai origin khusus, konfigurasikan ALB agar hanya menerima koneksi dari rentang IP CloudFront pada grup keamanannya. Hal ini memaksa semua lalu lintas eksternal melewati CloudFront, sehingga aturan WAF dan penghentian TLS dapat diterapkan di edge, sementara ALB tetap berada di dalam AWS.

Origin Access Control (OAC) vs OAI

Origin Access Identity (OAI) adalah cara awal untuk membatasi akses bucket S3 ke CloudFront. OAI merupakan identitas pengguna CloudFront khusus yang diberikan dalam kebijakan bucket S3. Meskipun OAI masih berfungsi, fitur ini dianggap sebagai teknologi lama.

Origin Access Control (OAC) adalah pengganti modernnya. OAC mendukung semua tipe bucket S3 (termasuk S3 di Region AWS China dan bucket yang dienkripsi SSE-KMS), menggunakan principal layanan IAM untuk kontrol yang lebih terperinci, dan secara otomatis menandatangani permintaan ke S3 menggunakan SigV4. Untuk distribusi baru, selalu gunakan OAC, bukan OAI.

Kebijakan Protokol Penampil

Kebijakan Protokol Penampil mengontrol cara CloudFront menangani koneksi antara pengguna (penampil) dan lokasi edge:

  • HTTP dan HTTPS: izinkan keduanya; tidak disarankan untuk konten sensitif
  • Alihkan HTTP ke HTTPS: alihkan permintaan HTTP ke HTTPS secara transparan; ini adalah pengaturan yang paling umum
  • HTTPS Saja: tolak koneksi HTTP sepenuhnya; gunakan untuk penerapan TLS yang ketat

Secara terpisah, Kebijakan Protokol Origin mengontrol cara CloudFront berkomunikasi dengan origin Anda: HTTP saja, HTTPS saja, atau cocok dengan penampil. Untuk origin S3 dengan OAC, CloudFront selalu menggunakan HTTPS.

Domain Kustom dan Sertifikat SSL/TLS

Untuk menyajikan konten dari cdn.example.com, bukan dari domain CloudFront, Anda mengonfigurasi Alternate Domain Name (CNAME) dalam distribusi dan melampirkan sertifikat SSL/TLS dari AWS Certificate Manager (ACM). Sertifikat ACM harus berada di Region us-east-1 (terlepas dari lokasi distribusi Anda melayani traffic), karena CloudFront adalah layanan global yang dikelola dari us-east-1.

Buat catatan Route 53 sebagai catatan ALIAS yang mengarah ke nama domain distribusi CloudFront. CloudFront secara otomatis menyajikan sertifikat Anda kepada Request SNI yang cocok.

# 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 mengontrol lokasi edge mana yang digunakan untuk menyajikan distribusi Anda. Kelas harga yang lebih tinggi mencakup lokasi edge yang lebih mahal (biasanya di wilayah dengan biaya bandwidth lebih tinggi):

  • Kelas Harga 100: hanya Amerika Utara dan Eropa (biaya terendah)
  • Kelas Harga 200: Amerika Utara, Eropa, Asia, Timur Tengah, Afrika
  • Kelas Harga All: semua lokasi edge di seluruh dunia (performa terbaik, biaya tertinggi)

Gunakan Kelas Harga 100 untuk alat internal atau audiens yang terbatas pada Amerika Utara/Eropa. Gunakan Kelas Harga All untuk aplikasi yang benar-benar ditujukan bagi konsumen global.

Grup Origin dan Failover

Grup origin memungkinkan failover origin CloudFront. Anda menentukan origin utama dan origin sekunder dalam satu grup. Jika origin utama mengembalikan kode error HTTP tertentu (misalnya, 500, 502, 503, 504), CloudFront secara otomatis mencoba kembali Request tersebut ke origin sekunder.

Failover origin berguna untuk pemulihan bencana: simpan Bucket S3 utama di us-east-1 dan cadangan yang direplikasi di us-west-2 sebagai origin sekunder. CloudFront secara transparan beralih selama gangguan S3 tanpa memerlukan perubahan DNS. Pola ini melengkapi S3 Cross-Region Replication.

Log Akses CloudFront

CloudFront dapat mengirimkan log akses ke Bucket S3, yang mencatat detail setiap Request viewer: stempel waktu, lokasi edge, kode status, byte yang ditransfer, cache hit/miss, agen pengguna, dan lainnya. Log dikirimkan secara berkelompok setiap beberapa menit.

Gunakan log akses untuk menganalisis pola traffic, mengidentifikasi konten yang sering diakses, mengaudit bidang yang relevan dengan keamanan (IP, perujuk, agen pengguna), dan mengukur rasio cache hit. Bidang x-edge-result-type memberi tahu apakah Request tersebut merupakan Hit, Miss, atau RefreshHit di edge.

# 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 Edge vs Cache Edge Regional

CloudFront memiliki dua tingkat infrastruktur caching:

  • Lokasi edge: ratusan PoPs global yang dekat dengan pengguna akhir; menyajikan konten yang di-cache dengan latensi minimal
  • Cache Edge Regional (REC): 13 cache yang lebih besar dan bertahan lebih lama di antara lokasi edge dan origin; menyajikan konten yang tidak cukup populer untuk tetap berada di cache lokasi edge yang kecil

Saat Request tidak menemukan konten di cache lokasi edge, CloudFront memeriksa REC sebelum meneruskan Request hingga ke origin. REC bersifat transparan—Anda tidak mengonfigurasinya secara langsung—tetapi REC secara signifikan meningkatkan rasio cache hit untuk konten ekor panjang dan mengurangi beban origin.

Pemeriksaan Cepat

Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.

Rangkuman Pelajaran

Dalam pelajaran ini Anda mempelajari: distribusi CloudFront menyimpan konten di lokasi edge secara global, OAC menjaga Bucket S3 tetap privat sekaligus memungkinkan akses CloudFront, dan origin kustom mendukung ALB, API Gateway, serta server HTTP apa pun. Sertifikat ACM untuk CloudFront harus disediakan di us-east-1. Selanjutnya kita akan membahas perilaku cache dan pengaturan TTL.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Distribusi dan Asal CloudFront” gratis?

Ya — teks lengkap “Distribusi dan Asal CloudFront” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Solutions Architect, upgrade ke CoddyKit PRO. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Distribusi dan Asal CloudFront”?

Buat distribusi CloudFront, konfigurasikan asal HTTP S3 dan kustom, serta pahami Origin Access Control untuk keamanan S3. Kamu berlatih AWS Solutions Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AWS Solutions Architect?

Tidak diperlukan pengalaman sebelumnya. AWS Solutions Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Distribusi dan Asal CloudFront” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Solutions Architect ini?

Ya. Setiap pelajaran AWS Solutions Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Distribusi dan Asal CloudFront
  2. Perilaku Tembolok dan Pengaturan TTL
  3. URL Bertanda Tangan, Cookie Bertanda Tangan, dan Pembatasan Geografis
  4. CloudFront dengan WAF dan Lambda@Edge
← Kembali ke AWS Solutions Architect