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 |
|
|
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 |