Perbedaan antara CloudFront Fungsi dan Lambda @Edge - Amazon CloudFront

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perbedaan antara CloudFront Fungsi dan Lambda @Edge

CloudFront Fungsi dan Lambda @Edge keduanya menyediakan cara untuk menjalankan kode sebagai respons terhadap CloudFront peristiwa.

CloudFront Fungsi sangat ideal untuk fungsi ringan dan berjalan pendek untuk kasus penggunaan berikut:

  • Normalisasi kunci cache - Ubah atribut HTTP permintaan (header, string kueri, cookie, dan bahkan URL jalur) untuk membuat kunci cache yang optimal, yang dapat meningkatkan rasio hit cache Anda.

  • Manipulasi header - Menyisipkan, memodifikasi, atau menghapus HTTP header dalam permintaan atau tanggapan. Misalnya, Anda dapat menambah header True-Client-IP untuk setiap permintaan.

  • URLpengalihan atau penulisan ulang — Mengarahkan pemirsa ke halaman lain berdasarkan informasi dalam permintaan, atau menulis ulang semua permintaan dari satu jalur ke jalur lainnya.

  • Permintaan otorisasi — Validasi token otorisasi hash, seperti token JSON web (JWT), dengan memeriksa header otorisasi atau metadata permintaan lainnya.

Untuk memulai dengan CloudFront Functions, lihatSesuaikan di tepi dengan CloudFront Fungsi.

Lambda @Edge sangat ideal untuk kasus penggunaan berikut:

  • Fungsi yang membutuhkan beberapa milidetik atau lebih untuk diselesaikan

  • Fungsi yang membutuhkan disesuaikan CPU atau memori

  • Fungsi yang bergantung pada pustaka pihak ketiga (termasuk AWS SDK, untuk integrasi dengan yang lain Layanan AWS)

  • Fungsi yang memerlukan akses jaringan untuk menggunakan layanan eksternal untuk diproses

  • Fungsi yang memerlukan akses sistem file atau akses ke badan HTTP permintaan

Untuk memulai dengan Lambda@Edge, lihat Sesuaikan di tepi dengan Lambda @Edge.

Untuk membantu Anda memilih opsi untuk kasus penggunaan Anda, gunakan tabel berikut untuk memahami perbedaan antara CloudFront Fungsi dan Lambda @Edge.

CloudFront Fungsi Lambda@Edge
Bahasa pemrograman JavaScript (ECMAScript5.1 sesuai) Node.js dan Python
Sumber peristiwa
  • Permintaan penampil

  • Respons penampil

  • Permintaan penampil

  • Respons penampil

  • Permintaan asal

  • Respons asal

Mendukung Amazon CloudFront KeyValueStore

Ya

CloudFront KeyValueStore hanya mendukung JavaScript runtime 2.0

Tidak

Penskalaan 10.000.000 permintaan per detik atau lebih Hingga 10.000 permintaan per detik per Wilayah
Durasi fungsi Submilidetik

Hingga 5 detik (permintaan dan respons penampil)

Hingga 30 detik (permintaan asal dan respons asal)

Ukuran memori fungsi maksimum

2 MB

128 MB (permintaan penampil dan respons penampil)

10.240 MB (10 GB) (permintaan asal dan respons asal)

Untuk informasi selengkapnya, lihat Kuotas di Lambda@Edge.

Ukuran maksimum dari kode fungsi dan termasuk pustaka 10 KB

1 MB (permintaan penampil dan respons penampil)

50 MB (permintaan asal dan respons asal)

Akses jaringan Tidak Ya
Akses sistem file Tidak Ya
Akses ke isi permintaan Tidak Ya
Akses ke data geolokasi dan perangkat Ya

Tidak (permintaan penampil dan respons penampil)

Ya (permintaan asal dan respons asal)

Dapat membangun dan menguji sepenuhnya di dalam CloudFront Ya Tidak
Pencatatan dan metrik fungsi Ya Ya
Penetapan harga Tingkat gratis tersedia; dikenakan biaya per permintaan Tidak ada tingkat gratis; dikenakan biaya per permintaan dan durasi fungsi