Menerapkan fungsi Lambda - AWS Lambda

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

Menerapkan fungsi Lambda

Anda dapat menerapkan kode ke fungsi Lambda Anda dengan mengunggah arsip file zip, atau dengan membuat dan mengunggah gambar kontainer.

arsip file .zip

Arsip file. zip termasuk kode aplikasi Anda dan dependensinya. Ketika Anda menulis fungsi menggunakan konsol Lambda atau toolkit, Lambda secara otomatis membuat arsip file .zip dari kode Anda.

Saat membuat fungsi dengan API Lambda, alat baris perintah, atau AWS SDK, Anda harus membuat paket penerapan. Anda juga harus membuat paket deployment jika fungsi Anda menggunakan bahasa kompilasi, atau untuk menambahkan dependensi ke fungsi Anda. Untuk men-deploy kode fungsi Anda, Anda mengunggah paket deployment dari Amazon Simple Storage Service (Amazon S3) atau mesin lokal Anda.

Anda dapat mengunggah file.zip sebagai paket penyebaran menggunakan konsol Lambda, AWS Command Line Interface (AWS CLI), atau ke bucket Amazon Simple Storage Service (Amazon S3).

Izin berkas paket penyebaran

Runtime Lambda membutuhkan izin untuk membaca file dalam paket deployment Anda. Dalam notasi oktal izin Linux, Lambda membutuhkan 644 izin untuk file yang tidak dapat dieksekusi (rw-r - r--) dan 755 izin (rwxr-xr-x) untuk direktori dan file yang dapat dieksekusi.

Di Linux dan macOS, gunakan chmod perintah untuk mengubah izin file pada file dan direktori dalam paket penyebaran Anda. Misalnya, untuk memberikan file yang dapat dieksekusi izin yang benar, jalankan perintah berikut.

chmod 755 <filepath>

Untuk mengubah izin file di Windows, lihat Mengatur, Melihat, Mengubah, atau Menghapus Izin pada Objek dalam dokumentasi Microsoft Windows.

Gambar kontainer

Anda dapat mengemas kode dan dependensi sebagai gambar kontainer menggunakan alat seperti antarmuka baris perintah (CLI) Docker. Anda kemudian dapat mengunggah gambar ke registri kontainer Anda yang di-host di Amazon Elastic Container Registry (Amazon ECR).

Ketika Anda memanggil fungsi, Lambda men-deploy gambar kontainer untuk lingkungan eksekusi. Lambda menginisialisasi Ekstensi, lalu menjalankan kode inisialisasi fungsi (kode di luar handler utama). Perhatikan bahwa durasi inisialisasi fungsi disertakan dalam waktu eksekusi yang ditagih.

Lambda kemudian menjalankan fungsi dengan memanggil titik masuk kode yang ditentukan dalam konfigurasi fungsi (pengaturan gambar kontainer ENTRYPOINT dan CMD).

AWS menyediakan satu set gambar dasar sumber terbuka yang dapat Anda gunakan untuk membangun gambar kontainer untuk kode fungsi Anda. Anda juga dapat menggunakan gambar dasar alternatif dari pendaftar kontainer lainnya. AWS juga menyediakan klien runtime open-source yang Anda tambahkan ke gambar dasar alternatif Anda agar kompatibel dengan layanan Lambda.

Selain itu, AWS menyediakan emulator antarmuka runtime bagi Anda untuk menguji fungsi Anda secara lokal menggunakan alat seperti CLI Docker.

catatan

Anda membuat setiap gambar kontainer agar kompatibel dengan salah satu arsitektur set instruksi yang didukung Lambda. Lambda menyediakan gambar dasar untuk setiap arsitektur set instruksi dan Lambda juga menyediakan gambar dasar yang mendukung kedua arsitektur.

Gambar yang Anda buat untuk fungsi Anda harus menargetkan hanya satu arsitektur.

Tidak ada biaya tambahan untuk pengemasan dan deployment fungsi sebagai image kontainer. Ketika fungsi yang di-deploy sebagai gambar kontainer dipanggil, Anda membayar untuk permintaan invokasi dan durasi eksekusi. Anda dikenakan biaya yang terkait dengan menyimpan gambar kontainer Anda di Amazon ECR. Untuk informasi selengkapnya, lihat Harga Amazon ECR.

Keamanan gambar

Ketika Lambda pertama mengunduh gambar kontainer dari sumber aslinya (Amazon ECR), gambar kontainer dioptimalkan, dienkripsi, dan disimpan menggunakan metode enkripsi konvergen yang diautentikasi. Semua kunci yang diperlukan untuk mendekripsi data pelanggan dilindungi menggunakan kunci yang dikelola AWS KMS pelanggan. Untuk melacak dan mengaudit penggunaan Lambda atas kunci yang dikelola pelanggan, Anda dapat melihat AWS CloudTrail log.