Tutorial Amazon CloudFront: Menyiapkan Distribusi Konten Dinamis untuk Amazon S3

Cara menyiapkan distribusi Amazon CloudFront untuk Amazon S3

Amazon CloudFront bekerja secara baik dengan Amazon Simple Storage Service (Amazon S3) untuk mempercepat pengiriman konten web Anda dan mengurangi beban pada server asal Anda. Amazon S3 adalah pilihan tepat bagi mereka yang ingin menyimpan data di cloud dan mengirimkannya sebagai konten web. Jika Anda lebih memilih untuk memberikan fungsionalitas atau konten dinamis, lihat cara menyiapkan distribusi Amazon CloudFront untuk Amazon Elastic Compute Cloud (Amazon EC2).

Tonton demo AWS TechTips ini untuk mempelajari cara menyiapkan distribusi CDN Amazon CloudFront dengan Anda

Apa manfaat menyiapkan distribusi Amazon CloudFront dengan Amazon S3?

Distribusi jaringan pengiriman konten (CDN) Amazon CloudFront memberikan banyak manfaat bagi pengguna S3.

Kecepatan transfer data yang cepat

CloudFront memungkinkan Anda menyajikan konten Anda dengan cepat kepada pemirsa di seluruh dunia. Banyak lokasi edge CloudFront melakukan cache dan mengirimkan konten Anda lebih dekat ke pengguna, sehingga mengurangi latensi dan menurunkan kapasitas dari server asal Anda.

Peningkatan keamanan dan performa

CloudFront juga membatasi akses ke bucket S3 Anda. Dengan hanya mengizinkan titik akhir CloudFront memberikan akses ke konten Anda, aplikasi Anda akan lebih aman dan responsif.

Transfer data hemat biaya

Harga CloudFront memungkinkan Anda menyesuaikan pengiriman sesuai anggaran Anda. AWS tidak mengenakan biaya untuk transfer data di antara asal yang di-hosting AWS seperti S3 dan CloudFront, sehingga pengambilan asal menjadi opsi yang hemat biaya.

Cara mempercepat kecepatan pemuatan konten dinamis Anda dengan CloudFront dan S3

Langkah 1. Buka Konsol AWS

Untuk memulai, masuk ke Konsol Manajemen AWS Anda dan pilih Amazon S3 dari daftar layanan. 

Langkah 2. Membuat bucket Amazon S3

Dari sana, Anda dapat:

  • Membuat bucket S3 jika Anda belum memilikinya, dengan memilih Buat bucket.
  • Menentukan nama bucket yang sesuai dengan DNS.
  • Memilih Wilayah tempat Anda ingin menempatkan bucket.

Anda kemudian dapat membuat bucket Anda. Dengan menggunakan konsol atau API S3, Anda dapat menambahkan lebih banyak file ke bucket Anda atau membuat bucket baru, jika diinginkan. Saat Anda pertama kali membuat bucket S3, diperlukan beberapa waktu untuk menerapkan perubahan nama DNS—biasanya hingga 15 menit.

Langkah 3. Buat distribusi CloudFront

Selanjutnya, buka CloudFront dari bagian Jaringan & Pengiriman Konten di daftar layanan konsol AWS. Jika Anda telah membuka CloudFront, CloudFront mungkin juga ada dalam riwayat Anda untuk akses yang lebih cepat. Dari sini, Anda dapat membuat distribusi web baru dengan mengklik Buat Distribusi.  

Langkah 4. Tentukan pengaturan distribusi Anda

Sekarang, Anda dapat mulai memasukkan pengaturan distribusi Anda. Mulai dengan menentukan domain S3 yang Anda buat di bidang Nama Domain Asal.  

Langkah 5. Konfigurasikan asal Anda

Masukkan Nama Domain Asal Anda. Jika Anda membuat bucket S3 di akun AWS yang sama, bucket tersebut akan muncul di daftar drop-down di dalam bidang. Jika berada di akun lain, periksa pengaturan bucket Anda untuk memberikan izin akses CloudFront.

Memberikan izin akses memungkinkan CloudFront membaca objek dari bucket Anda. Anda juga dapat menentukan jalur asal jika Anda meletakkan semua objek dalam subfolder.

Langkah 6. Konfigurasikan Identitas Akses Asal

Dari sini, Anda dapat membatasi akses ke asal Amazon S3 Anda. Jika Anda memilih ya, sistem akan meminta Anda membuat Identitas Akses Asal atau memilih yang sudah ada, sehingga memungkinkan CloudFront membaca objek dari bucket Anda. Anda juga memiliki opsi untuk mengizinkan CloudFront memperbarui kebijakan bucket untuk Anda.

Jika Anda memilih untuk tidak membatasi akses, pengguna mungkin dapat melewati CloudFront Anda dan mengakses konten Anda secara langsung melalui URL bucket S3. Untuk konten privat atau sensitif apa pun, penting untuk menetapkan pembatasan akses yang benar.

Di bagian ini, Anda juga dapat menentukan Jalur Asal jika Anda menyimpan semua objek dalam subfolder. Anda dapat memberikan Header Kustom Asal dengan nilai tertentu yang akan diteruskan CloudFront ke asal pada setiap permintaan. Ini berguna untuk asal kustom, karena menunjukkan permintaan mana yang berasal dari CloudFront versus klien lain.

Langkah 7. Konfigurasikan perilaku cache default

Anda kemudian memiliki berbagai opsi di bawah Pengaturan Perilaku Cache Default.

Kebijakan Protokol Penampil memungkinkan Anda memilih cara menangani protokol HTTP dan HTTPS. Anda dapat memilih untuk Mengalihkan permintaan HTTP ke HTTPS, misalnya, memungkinkan Anda mendukung permintaan menggunakan salah satu protokol. Anda juga dapat menentukan untuk mendukung Hanya HTTPS, dalam hal ini lalu lintas HTTP akan terhenti. Hal ini memastikan Anda mematuhi praktik terbaik dalam keamanan web.

CloudFront memungkinkan Anda menentukan metode HTTP mana yang ingin Anda terima. Pengaturan default adalah GET, HEAD. Memilih salah satu opsi lainnya (GET, HEAD, OPTIONS atau GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE) akan memungkinkan Anda mengonfigurasi cara CloudFront melakukan cache metode opsi.

Anda kemudian dapat menentukan header HTTP mana yang ingin Anda teruskan ke asal Anda. Biasanya disarankan untuk mengizinkan header sesuai dengan perilaku permintaan dan respons yang relevan untuk asal Amazon S3 Anda. Khususnya, jika asal Anda melihat header HTTP tertentu untuk memutuskan objek mana yang akan dikembalikan, Anda harus mengizinkannya. Jika Anda meneruskan semua header HTTP, CloudFront sebenarnya akan melewati lapisan cache dan tidak mencoba melakukan cache objek sama sekali.

Langkah 8. Konfigurasikan TTL Anda

Di bagian berikutnya, Anda dapat menentukan Time to Live (TTL), yang mengatur berapa lama konten tetap berada di cache sebelum kedaluwarsa. Secara default, Gunakan Header Cache Asal akan dipilih. Atau, Anda dapat menyesuaikan batas waktu atas dan bawah untuk objek yang akan disimpan di cache CloudFront Anda.

Jika Anda memilih untuk mengedit pengaturan ini, Anda akan diminta memasukkan TTL minimum dan maksimum dalam hitungan detik. Kemudian, jika header Anda mengembalikan nilai di luar nilai minimum atau maksimum, CloudFront akan menggunakan TTL minimum atau maksimum Anda. Jika berada dalam batas tersebut, CloudFront akan menggunakan nilai yang dikembalikan dari asal Anda.

Jika asal Anda tidak mengembalikan header kontrol cache, TTL default akan digunakan. Dalam contoh video kami, nilai default ditetapkan ke 86.400 detik, yang setara dengan 24 jam.

Langkah 9. Konfigurasikan fitur tambahan

Di bagian berikutnya, Anda dapat memilih untuk melakukan cache konten berdasarkan cookie dan parameter string kueri.

Seperti halnya header HTTP, rekomendasinya hanya mengizinkan cookie atau nilai string kueri yang relevan dengan asal Anda. Anda juga dapat meneruskannya dan CDN akan tetap mencoba melakukan cache. Berhati-hatilah jika memilih untuk meneruskan semuanya—hal ini dapat sangat mengurangi laju hit cache Anda jika CloudFront meneruskan semuanya. Akibatnya, Anda mungkin memiliki sejumlah besar objek yang di-cache beberapa kali karena kemungkinan variasi kueri dan nilai cookie yang berbeda.

Anda kemudian memiliki lebih banyak opsi di bidang berikut:

Di bawah Pengaturan Distribusi, Anda dapat menentukan bagian mana dari jaringan CloudFront yang ingin Anda gunakan. Secara default, CloudFront akan menggunakan semua lokasi edge untuk performa terbaik. Lokasi ini akan membantu menayangkan konten Anda secepat mungkin ke seluruh dunia.

Jika Anda hanya mengharapkan pemirsa di wilayah tertentu, seperti AS, Kanada, dan Eropa, Anda hanya dapat menentukan wilayah tersebut sebagai kelas harga yang lebih rendah. Ini tidak berarti bahwa pemirsa di luar wilayah tersebut tidak dapat mengakses konten Anda—CloudFront hanya akan mengarahkan mereka ke lokasi edge terdekat. Jika Anda akan menggunakan AWS Web Application Firewall (AWS WAF) dengan CloudFront, Anda juga dapat mengonfigurasi pengaturan tersebut di sini.

Sebelum Anda menyimpan distribusi Anda, penting untuk mengelola sertifikat Lapisan Soken Aman (SSL) Anda. Ada dua opsi di sini:

  • Gunakan Sertifikat CloudFront Default.
  • Unggah atau minta Sertifikat SSL Kustom dari AWS Certificate Manager (ACM) dan kaitkan dengan distribusi CloudFront Anda; ini cocok jika Anda menggunakan domain kustom.

Terakhir, Anda dapat menggunakan pengaturan lainnya untuk menentukan:

  • Versi HTTP yang Didukung yang ingin Anda gunakan.
  • Apakah Anda akan menggunakan Logging, dan Bucket untuk Log CloudFront mana yang harus digunakan untuk menyimpan log akses apa pun.
  • Apakah Cookie Logging aktif.

Dari sana, Anda dapat memasukkan deskripsi dan membuat distribusinya. Setelah disimpan, diperlukan waktu sekitar 15 menit agar distribusi Anda dapat diterapkan ke seluruh dunia.

Langkah 10. Uji distribusi CloudFront Anda

Setelah distribusinya siap, Anda dapat mengkliknya untuk meninjau pengaturan Anda. Layar pertama akan menampilkan sejumlah tab dan pengaturan konfigurasi yang Anda tentukan. Dari sana, Anda dapat menambahkan asal tambahan dan beberapa perilaku cache, jika diperlukan.

CloudFront juga memungkinkan Anda membuat halaman kesalahan kustom atau mengubah berapa lama respons kesalahan tetap berada di cache dengan memilih Buat Respons Kesalahan Pelanggan. Anda dapat menyesuaikan pengaturan ini untuk setiap kode kesalahan HTTP. Katakanlah Anda ingin mencoba lagi untuk setiap 403, Anda dapat menentukan TTL Minimum 0 detik. Secara default, CloudFront melakukan cache semuanya selama 300 detik untuk mengurangi sebagian beban pada asalnya. Anda juga dapat membuat respons kesalahan kustom untuk setiap kode kesalahan, jika diinginkan.

Di tab Pembatasan, Anda dapat Mengaktifkan Pembatasan Geografis untuk mengizinkan atau melarang pemirsa di lokasi tertentu melihat konten Anda. Tab Pembatalan akan memungkinkan Anda menghapus objek khusus dari cache edge CloudFront. Terakhir, Anda dapat menggunakan tab Tanda untuk menerapkan tanda kustom, membantu Anda mengatur dan mengidentifikasi distribusi Anda.

Setelah selesai, salin domain dan tempel ke browser Anda untuk melihat distribusi Anda beraksi. Anda juga dapat mempelajari cara mengirimkan konten dinamis aplikasi Anda menggunakan CloudFront dengan instans server web Amazon EC2.

Templat Amazon CloudFormation untuk membantu Anda memulai CloudFront

Templat Amazon CloudFormation juga akan membantu Anda memulai CloudFront. Templat ini akan meluncurkan bucket S3 untuk menyimpan file statis Anda dalam skala besar, lalu mengirimkan konten tersebut ke pengguna Anda melalui CDN CloudFront.

Untuk informasi selengkapnya, baca postingan blog berjudul Amazon S3 + Amazon CloudFront: Kecocokan yang Dibuat di Cloud dan dapatkan templat CloudFormation.

Sumber daya tambahan tentang Pengiriman Konten dengan CloudFront

Tidak yakin bagaimana cara memulai CloudFront? Lihat panduan memulai jaringan pengiriman konten kami, atau buka hub Dokumentasi Jaringan Pengiriman Konten Amazon Web Services.

Lihat sumber daya berikut tentang cara mengelola distribusi CloudFront Anda di S3 di Pusat Pengetahuan Dukungan Premium kami:

Temukan lebih banyak sumber daya Amazon CloudFront

Kunjungi halaman sumber daya
Siap membangun?
Memulai Amazon CloudFront secara gratis
Ada pertanyaan lainnya?
Hubungi kami