View a markdown version of this page

AWS Fungsi Web Lambda - AWS Lambda

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

AWS Fungsi Web Lambda

Dengan Fungsi AWS Lambda Web, Anda dapat menjalankan aplikasi web dan backend API sebagai server HTTP tanpa server. Kode Anda mendengarkan pada port jaringan dan menangani permintaan secara langsung. Anda dapat menggunakan kerangka kerja Node.js web yang sudah dikenal sepertiExpress,Hono, atau React Router tanpa Lambda-specific adaptor atau pembungkus. Anda mengembangkan dan menjalankan server Anda secara lokal seperti aplikasi Node.js web lainnya.

Anda menerapkan kode Anda sebagai file.zip. Lambda membuat titik akhir HTTPS, mengelola lingkungan eksekusi, dan menskalakan aplikasi Anda dengan lalu lintas, termasuk ke nol saat idle. Untuk mengurangi latensi bagi pengguna yang didistribusikan secara global, Anda dapat menerapkan beberapa di Wilayah AWS belakang satu titik akhir. Lambda menggunakan routing berbasis latensi untuk mengirim setiap permintaan ke salah satu Wilayah tersebut. Anda membayar permintaan, waktu CPU aktif, memori yang dikonsumsi selama masa pakai setiap lingkungan eksekusi, dan transfer data.

Kapan menggunakan Fungsi Web

Gunakan Fungsi Web untuk beban kerja yang menerima dan merespons lalu lintas HTTP secara langsung. Kasus penggunaan umum meliputi:

  • Aplikasi web — Menyebarkan aplikasi full-stack atau front-end yang melayani rute HTML, aset, dan API dari satu penerapan.

  • REST dan GraphQL API — Buat backend API yang melayani volume permintaan tinggi.

  • Microservices — Jalankan layanan HTTP yang menskalakan secara independen dengan lalu lintas, termasuk ke nol saat idle.

  • Server-side rendering (SSR) - Sajikan halaman yang dirender di server pada waktu permintaan daripada pra-dibangun. Fungsi Web menjalankan server produksi kerangka kerja Anda secara langsung. Ini menangani permintaan SSR, streaming, dan rute API tanpa lapisan hosting terpisah. Ini juga berskala dengan lalu lintas. Ini sesuai dengan aplikasi yang membuat konten yang dipersonalisasi atau sering berubah pada setiap permintaan.

  • Streaming Respons — Streaming output ke klien saat diproduksi, seperti respons dari model bahasa besar.

Untuk pemrosesan berbasis peristiwa, seperti menangani pesan antrian atau unggahan file, gunakan Lambda Event Functions sebagai gantinya.

catatan

AWS Lambda Fungsi Web saat ini hanya mendukung Node.js runtime. Jika Anda menggunakanJava,, Python.NET, atau bahasa lain, lihat Fungsi AWS Lambda Peristiwa, atau Buat fungsi Lambda pertama Anda AWS Lambda MicroVM untuk MicroVM Lambda.

Cara Kerja Fungsi Web

Fungsi Web berisi revisi dan titik akhir. Revisi adalah snapshot yang tidak dapat diubah dari kode dan konfigurasi Anda. Titik akhir merutekan permintaan HTTP ke satu atau dua revisi. Lambda menjalankan server Anda di lingkungan eksekusi yang masing-masing menangani beberapa permintaan bersamaan. Lambda menskalakan lingkungan eksekusi ini dengan lalu lintas. Lihat perinciannya di Konsep inti.

Manfaat utama

Fungsi Web memberikan manfaat berikut untuk aplikasi web dan backend API:

  • Pengalaman pengembangan web standar — Menyebarkan Node.js aplikasi standar yang mendengarkan pada port. Anda menggunakan kerangka kerja web yang sudah dikenal dan struktur aplikasi normal Anda.

  • Penskalaan adaptif - Setiap lingkungan eksekusi melayani beberapa permintaan bersamaan, seperti server web standar. Akibatnya, lingkungan eksekusi yang lebih sedikit menangani lebih banyak lalu lintas. Lingkungan eksekusi yang ada dapat menyerap peningkatan lalu lintas kecil, sehingga lebih sedikit permintaan menunggu lingkungan eksekusi baru dimulai.

  • Usage-based penagihan — Anda membayar permintaan, waktu CPU yang digunakan aplikasi dan runtime Anda secara aktif, memori selama masa pakai setiap lingkungan eksekusi, dan transfer data. Permintaan yang menunggu pada kueri database atau panggilan API eksternal menghabiskan sedikit CPU saat menunggu. Namun, memori terus bertambah saat lingkungan eksekusi ada, termasuk waktu idle antar permintaan.

  • Streaming respons — Streaming tanggapan ke klien saat aplikasi Anda menghasilkannya, tanpa konfigurasi tambahan.

  • Skala ke nol — Lambda menghapus lingkungan eksekusi idle saat tidak ada lalu lintas dan membuat yang baru saat permintaan tiba. Permintaan mungkin menunggu sementara lingkungan eksekusi diinisialisasi. Untuk detail tentang cara kerja penskalaan dan pelambatan, lihat. Perilaku penskalaan untuk Fungsi Web Lambda

  • Built-in Titik akhir HTTPS - Setiap titik akhir menyediakan domain HTTPS dengan TLS. Anda memilih autentikasi IAM atau otentikasi yang dikelola aplikasi untuk setiap titik akhir. Lihat perinciannya di Kontrol akses titik akhir Fungsi Web Lambda. Untuk menggunakan domain atau AWS WAF perlindungan khusus, letakkan CloudFront distribusi Amazon di depan titik akhir.

  • Endpoint-level kontrol lalu lintas - Tetapkan batas tingkat permintaan (permintaan per detik) pada setiap titik akhir HTTPS, yang diberlakukan Lambda di setiap Wilayah, dan jumlah maksimum lingkungan eksekusi maxEnvironments (), juga diberlakukan di setiap Wilayah. Bersama-sama, ini memungkinkan Anda membatasi lalu lintas yang diterima titik akhir. Mereka juga memungkinkan Anda membatasi berapa banyak beban yang diteruskan titik akhir ke dependensi hilir seperti database dan API eksternal. Lihat informasi yang lebih lengkap di Perilaku penskalaan untuk Fungsi Web Lambda.