Runtime Lambda - AWS Lambda

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

Runtime Lambda

Lambda mendukung banyak bahasa melalui penggunaan runtime. Runtime menyediakan lingkungan khusus bahasa yang menyampaikan peristiwa pemanggilan, informasi konteks, dan respons antara Lambda dan fungsinya. Anda dapat menggunakan runtime yang disediakan Lambda, atau membangun sendiri.

Setiap rilis bahasa pemrograman utama memiliki runtime terpisah, dengan pengidentifikasi runtime yang unik, seperti atau. nodejs20.x python3.12 Untuk mengonfigurasi fungsi untuk menggunakan versi bahasa utama yang baru, Anda perlu mengubah pengenal runtime. Karena AWS Lambda tidak dapat menjamin kompatibilitas mundur antara versi utama, ini adalah operasi yang digerakkan oleh pelanggan.

Untuk fungsi yang didefinisikan sebagai image container, Anda memilih runtime dan distribusi Linux saat membuat image container. Untuk mengubah runtime, Anda membuat gambar kontainer baru.

Ketika Anda menggunakan arsip file .zip untuk paket deployment, Anda memilih runtime ketika Anda membuat fungsi. Untuk mengubah runtime, Anda dapat memperbarui konfigurasi fungsi. Runtime dipasangkan dengan salah satu distribusi Amazon Linux. Lingkungan eksekusi yang mendasari menyediakan pustaka dan variabel lingkungan tambahan yang dapat Anda akses dari kode fungsi Anda.

Lambda memanggil fungsi Anda di lingkungan eksekusi. Lingkungan eksekusi menyediakan lingkungan runtime yang aman dan terisolasi yang mengelola sumber daya yang diperlukan untuk menjalankan fungsi Anda. Lambda menggunakan kembali lingkungan eksekusi dari pemanggilan sebelumnya jika tersedia, atau dapat membuat lingkungan eksekusi baru.

Untuk menggunakan bahasa lain di Lambda, seperti Go atau Rust, gunakan runtime khusus OS. Area pelaksanaan Lambda menyediakan antarmuka runtime atas adanya event invokasi dan mengirimkan tanggapan. Anda dapat menerapkan bahasa lain dengan menerapkan runtime kustom di samping kode fungsi Anda, atau dalam lapisan.

Waktu aktif yang didukung

Tabel berikut mencantumkan runtime Lambda yang didukung dan tanggal penghentian yang diproyeksikan. Setelah runtime tidak digunakan lagi, Anda masih dapat membuat dan memperbarui fungsi untuk jangka waktu terbatas. Untuk informasi selengkapnya, lihat Penggunaan runtime setelah penghentian. Tabel ini menyediakan tanggal yang diperkirakan saat ini untuk penghentian runtime. Tanggal-tanggal ini disediakan untuk tujuan perencanaan dan dapat berubah sewaktu-waktu.

Runtime yang Didukung
Nama Pengidentifikasi Sistem operasi Tanggal pengusangan Buat fungsi blok Pembaruan fungsi blok

Node.js 20

nodejs20.x

Amazon Linux 2023

Node.js 18

nodejs18.x

Amazon Linux 2

Node.js 16

nodejs16.x

Amazon Linux 2

12 Jun 2024

Februari 28, 2025

31 Mar 2025

Python 3.12

python3.12

Amazon Linux 2023

Python 3.11

python3.11

Amazon Linux 2

Python 3.10

python3.10

Amazon Linux 2

Python 3.9

python3.9

Amazon Linux 2

Python 3.8

python3.8

Amazon Linux 2

Okt 14, 2024

Februari 28, 2025

31 Mar 2025

Jawa 21

java21

Amazon Linux 2023

Jawa 17

java17

Amazon Linux 2

Java 11

java11

Amazon Linux 2

Java 8

java8.al2

Amazon Linux 2

.NET 8

dotnet8

Amazon Linux 2023

.NET 6

dotnet6

Amazon Linux 2

November 12, 2024

Februari 28, 2025

31 Mar 2025

Ruby 3.3

ruby3.3

Amazon Linux 2023

Ruby 3.2

ruby3.2

Amazon Linux 2

Runtime Khusus OS

provided.al2023

Amazon Linux 2023

Runtime Khusus OS

provided.al2

Amazon Linux 2

catatan

Untuk wilayah baru, Lambda tidak akan mendukung runtime yang ditetapkan untuk tidak digunakan lagi dalam 6 bulan ke depan.

Lambda membuat runtime terkelola dan gambar dasar kontainer yang sesuai diperbarui dengan tambalan dan dukungan untuk rilis versi minor. Untuk informasi selengkapnya, lihat pembaruan runtime Lambda.

Lambda terus mendukung bahasa pemrograman Go setelah penghentian runtime Go 1.x. Untuk informasi selengkapnya, lihat Memigrasi AWS Lambda fungsi dari runtime Go1.x ke runtime khusus di Amazon Linux 2 di Blog Komputasi.AWS

Semua runtime Lambda yang didukung mendukung arsitektur x86_64 dan arm64.

Rilis runtime baru

Lambda menyediakan runtime terkelola untuk versi bahasa baru hanya ketika rilis mencapai fase dukungan jangka panjang (LTS) dari siklus rilis bahasa. Misalnya, untuk siklus rilis Node.js, saat rilis mencapai fase LTS Aktif.

Sebelum rilis mencapai fase dukungan jangka panjang, ia tetap dalam pengembangan dan masih dapat mengalami perubahan yang melanggar. Lambda menerapkan pembaruan runtime secara otomatis secara default, sehingga melanggar perubahan pada versi runtime dapat menghentikan fungsi Anda berfungsi seperti yang diharapkan.

Lambda tidak menyediakan runtime terkelola untuk versi bahasa yang tidak dijadwalkan untuk rilis LTS.

Daftar berikut menunjukkan bulan peluncuran target untuk runtime Lambda mendatang. Tanggal-tanggal ini hanya bersifat indikatif dan dapat berubah sewaktu-waktu.

  • Python 3.13 - November 2024

  • Node.js 22 - November 2024

Kebijakan penghentian runtime

Runtime Lambda untuk arsip file .zip dibangun di sekitar kombinasi sistem operasi, bahasa pemrograman, dan pustaka perangkat lunak yang tunduk pada pemeliharaan dan pembaruan keamanan. Kebijakan penghentian standar Lambda adalah menghentikan runtime ketika komponen utama runtime mencapai akhir dukungan jangka panjang komunitas (LTS) dan pembaruan keamanan tidak lagi tersedia. Biasanya, ini adalah runtime bahasa, meskipun dalam beberapa kasus, runtime dapat dihentikan karena sistem operasi (OS) mencapai akhir LTS.

Setelah runtime tidak digunakan lagi, AWS mungkin tidak lagi menerapkan patch keamanan atau pembaruan ke runtime tersebut, dan fungsi yang menggunakan runtime tersebut tidak lagi memenuhi syarat untuk dukungan teknis. Runtime yang tidak digunakan lagi tersebut disediakan 'apa adanya', tanpa jaminan apa pun, dan mungkin mengandung bug, kesalahan, cacat, atau kerentanan lainnya.

Untuk mempelajari lebih lanjut tentang mengelola upgrade runtime dan penghentian, lihat bagian berikut dan Mengelola upgrade AWS Lambda runtime di Compute Blog.AWS

penting

Lambda terkadang menunda penghentian runtime Lambda untuk periode terbatas di luar akhir tanggal dukungan versi bahasa yang didukung runtime. Selama periode ini, Lambda hanya menerapkan patch keamanan ke OS runtime. Lambda tidak menerapkan patch keamanan untuk runtime bahasa pemrograman setelah mereka mencapai akhir tanggal dukungan mereka.

penghentian runtime untuk Node.js 16

Menanggapi umpan balik pelanggan, AWS menunda penghentian runtime Node.js 16 hingga 9 bulan setelah berakhirnya komunitas LTS. Runtime Node.js 16 akan dihentikan pada tanggal yang disediakan dalam tabel Runtime yang Didukung. Seperti yang dinyatakan dalam catatan sebelumnya, antara akhir LTS pada 11 September 2023 dan tanggal penghentian, Lambda hanya akan menerapkan patch OS ke runtime. Tidak ada patch keamanan untuk runtime bahasa yang akan diterapkan selama periode ini.

Menunda penghentian Node.js 16 memberi pelanggan yang menggunakan runtime ini kesempatan untuk memigrasikan fungsi mereka langsung ke Node.js 20, melewatkan Node.js 18.

Model tanggung jawab bersama

Lambda bertanggung jawab untuk mengkurasi dan menerbitkan pembaruan keamanan untuk semua runtime terkelola dan gambar dasar kontainer yang didukung. Secara default, Lambda akan menerapkan pembaruan ini secara otomatis ke fungsi menggunakan runtime terkelola. Jika pengaturan pembaruan runtime otomatis default telah diubah, lihat model tanggung jawab bersama kontrol manajemen runtime. Untuk fungsi yang digunakan menggunakan gambar kontainer, Anda bertanggung jawab untuk membangun kembali gambar kontainer fungsi Anda dari gambar dasar terbaru dan menerapkan kembali gambar kontainer.

Ketika runtime tidak digunakan lagi, tanggung jawab Lambda untuk memperbarui runtime terkelola dan gambar dasar kontainer berhenti. Anda bertanggung jawab untuk meningkatkan fungsi Anda untuk menggunakan runtime atau gambar dasar yang didukung.

Dalam semua kasus, Anda bertanggung jawab untuk menerapkan pembaruan pada kode fungsi Anda, termasuk dependensinya. Tanggung jawab Anda di bawah model tanggung jawab bersama dirangkum dalam tabel berikut.

Fase siklus hidup runtime Tanggung jawab Lambda Tanggung jawab Anda
Runtime terkelola yang didukung

Berikan pembaruan runtime reguler dengan tambalan keamanan dan pembaruan lainnya.

Menerapkan pembaruan runtime secara otomatis secara default (lihat Kontrol manajemen runtime perilaku non-default).

Perbarui kode fungsi Anda, termasuk dependensi, untuk mengatasi kerentanan keamanan apa pun.
Gambar kontainer yang didukung Berikan pembaruan rutin ke gambar dasar kontainer dengan tambalan keamanan dan pembaruan lainnya.

Perbarui kode fungsi Anda, termasuk dependensi, untuk mengatasi kerentanan keamanan apa pun.

Buat ulang dan terapkan ulang image container Anda secara teratur menggunakan image dasar terbaru.

Runtime terkelola mendekati penghentian

Beri tahu pelanggan sebelum penghentian runtime melalui dokumentasi,, email, AWS Health Dashboard dan. Trusted Advisor

Tanggung jawab untuk pembaruan runtime berakhir pada penghentian.

Pantau dokumentasi Lambda, email AWS Health Dashboard, atau informasi Trusted Advisor penghentian runtime.

Tingkatkan fungsi ke runtime yang didukung sebelum runtime sebelumnya tidak digunakan lagi.

Gambar kontainer mendekati penghentian

Pemberitahuan penghentian tidak tersedia untuk fungsi yang menggunakan gambar kontainer.

Tanggung jawab atas pembaruan gambar dasar kontainer berakhir dengan penghentian.

Perhatikan jadwal penghentian dan tingkatkan fungsi ke gambar dasar yang didukung sebelum gambar sebelumnya tidak digunakan lagi.

Penggunaan runtime setelah penghentian

Setelah runtime tidak digunakan lagi, AWS mungkin tidak lagi menerapkan patch keamanan atau pembaruan ke runtime tersebut, dan fungsi yang menggunakan runtime tersebut tidak lagi memenuhi syarat untuk dukungan teknis. Runtime yang tidak digunakan lagi tersebut disediakan 'apa adanya', tanpa jaminan apa pun, dan mungkin mengandung bug, kesalahan, cacat, atau kerentanan lainnya. Fungsi yang menggunakan runtime usang juga dapat mengalami penurunan kinerja atau masalah lain, seperti kedaluwarsa sertifikat, yang dapat menyebabkan mereka berhenti bekerja dengan benar.

Setidaknya selama 30 hari setelah runtime tidak digunakan lagi, Anda masih dapat membuat fungsi Lambda baru menggunakan runtime tersebut. Mulai dari 30 hari setelah penghentian, Lambda mulai memblokir pembuatan fungsi baru.

Setidaknya selama 60 hari setelah runtime tidak digunakan lagi, Anda masih dapat memperbarui kode fungsi dan konfigurasi untuk fungsi yang ada. Mulai dari 60 hari setelah penghentian, Lambda mulai memblokir pembaruan kode fungsi dan konfigurasi untuk fungsi yang ada.

catatan

Untuk beberapa runtime, AWS menunda block-function-update tanggal block-function-create dan melebihi 30 dan 60 hari biasa setelah penghentian. AWS telah membuat perubahan ini sebagai tanggapan atas umpan balik pelanggan untuk memberi Anda lebih banyak waktu untuk meningkatkan fungsi Anda. Lihat tabel di Waktu aktif yang didukung dan Waktu pengoperasian terdepresiasi untuk melihat tanggal runtime Anda.

Anda dapat memperbarui fungsi untuk menggunakan runtime yang didukung lebih baru tanpa batas waktu setelah runtime tidak digunakan lagi. Anda harus menguji apakah fungsi Anda berfungsi dengan runtime baru sebelum menerapkan perubahan runtime di lingkungan produksi, karena Anda tidak akan dapat kembali ke runtime yang tidak digunakan lagi setelah periode 60 hari berlalu. Sebaiknya gunakan versi fungsi dan alias untuk mengaktifkan penerapan yang aman dengan rollback.

Perhatikan bahwa lamanya waktu yang tepat untuk terus membuat dan memperbarui fungsi tidak tetap. Periode ini dapat bervariasi untuk setiap penghentian dan untuk yang berbeda. Wilayah AWS Tanggal nominal untuk pemblokiran pembuatan dan pembaruan fungsi disediakan di tabel Runtime yang Didukung di bagian pertama halaman ini. Lambda tidak akan mulai memblokir fungsi membuat atau memperbarui sebelum tanggal yang diberikan dalam tabel ini.

Anda dapat terus menjalankan fungsi Anda tanpa batas waktu setelah runtime tidak digunakan lagi. Namun, AWS sangat disarankan agar Anda memigrasikan fungsi ke runtime yang didukung sehingga fungsi Anda terus menerima tambalan keamanan dan tetap memenuhi syarat untuk mendapatkan dukungan teknis.

Menerima pemberitahuan penghentian runtime

Saat runtime mendekati tanggal penghentiannya, Lambda mengirimi Anda peringatan email jika ada fungsi dalam penggunaan runtime tersebut. Akun AWS Pemberitahuan juga ditampilkan di dalam AWS Health Dashboard dan di AWS Trusted Advisor.

  • Menerima pemberitahuan email:

    Lambda mengirimi Anda peringatan email setidaknya 180 hari sebelum runtime tidak digunakan lagi. Email ini mencantumkan versi $LATEST dari semua fungsi menggunakan runtime. Untuk melihat daftar lengkap versi fungsi yang terpengaruh, gunakan Trusted Advisor atau lihatMencantumkan fungsi yang menggunakan runtime usang.

    Lambda mengirimkan pemberitahuan email ke kontak akun Akun AWS utama Anda. Untuk informasi tentang melihat atau memperbarui alamat email di akun Anda, lihat Memperbarui informasi kontak di Referensi AWS Umum.

  • Menerima pemberitahuan melalui AWS Health Dashboard:

    Ini AWS Health Dashboard menampilkan pemberitahuan setidaknya 180 hari sebelum runtime tidak digunakan lagi. Pemberitahuan muncul di halaman kesehatan akun Anda di bawah Pemberitahuan lain. Tab Sumber daya yang terpengaruh pada notifikasi mencantumkan versi $LATEST dari semua fungsi menggunakan runtime.

    catatan

    Untuk melihat lengkap dan up-to-date daftar versi fungsi yang terpengaruh, gunakan Trusted Advisor atau lihatMencantumkan fungsi yang menggunakan runtime usang.

    AWS Health Dashboard notifikasi kedaluwarsa 90 hari setelah runtime yang terpengaruh tidak digunakan lagi.

  • Menggunakan AWS Trusted Advisor

    Trusted Advisor menampilkan pemberitahuan 180 hari sebelum runtime tidak digunakan lagi. Pemberitahuan muncul di halaman Keamanan. Daftar fungsi yang terpengaruh ditampilkan di bawah AWS Lambda Functions Using Deprecated Runtimes. Daftar fungsi ini menunjukkan versi $LATEST dan yang diterbitkan dan diperbarui secara otomatis untuk mencerminkan status fungsi Anda saat ini.

    Anda dapat mengaktifkan notifikasi email mingguan dari Trusted Advisor halaman Preferensi Trusted Advisor konsol.

Mencantumkan fungsi yang menggunakan runtime usang

Selain menggunakan Trusted Advisor untuk melihat daftar langsung fungsi yang dipengaruhi oleh penghentian runtime terjadwal, Anda juga dapat menggunakan AWS Command Line Interface (AWS CLI) atau salah satu AWS SDK untuk mencantumkan semua versi fungsi yang menggunakan runtime tertentu.

Untuk menghasilkan daftar ini menggunakan AWS CLI, jalankan perintah berikut. Ganti RUNTIME_IDENTIFIER dengan nama runtime yang sudah tidak digunakan lagi dan pilih sendiri. Wilayah AWS Untuk daftar hanya versi fungsi $LATEST, hilangkan --function-version ALL dari perintah.

aws lambda list-functions --function-version ALL --region us-east-1 --output text --query "Functions[?Runtime=='RUNTIME_IDENTIFIER'].FunctionArn"
Tip

Contoh perintah mencantumkan fungsi di us-east-1 wilayah untuk tertentu Akun AWS Anda harus mengulangi perintah ini untuk setiap wilayah di mana akun Anda memiliki fungsi dan untuk masing-masing Akun AWS.

Untuk mempelajari lebih lanjut tentang menggunakan AWS SDK untuk mencantumkan fungsi Anda menggunakan ListFunctionstindakan, lihat dokumentasi SDK untuk bahasa pemrograman pilihan Anda. Anda juga dapat menggunakan salah satu AWS SDK untuk mengumpulkan statistik tentang most-recently-invoked fungsi yang paling sering dipanggil dan menggunakan tindakan API DescribeLogStreams and Statistics. GetMetric

Anda juga dapat menggunakan fitur Kueri AWS Config lanjutan untuk mencantumkan semua fungsi yang menggunakan runtime yang terpengaruh. Kueri ini hanya mengembalikan fungsi $LATEST versi, tetapi Anda dapat menggabungkan kueri ke daftar fungsi di semua wilayah dan beberapa Akun AWS dengan satu perintah. Untuk mempelajari selengkapnya, lihat Menanyakan Status AWS Auto Scaling Sumber Daya Konfigurasi Saat Ini di Panduan AWS Config Pengembang.

Waktu pengoperasian terdepresiasi

Runtime berikut telah mencapai akhir dukungan:

Waktu pengoperasian terdepresiasi
Nama Pengidentifikasi Sistem operasi Tanggal pengusangan Buat fungsi blok Pembaruan fungsi blok

.NET 7 (hanya wadah)

dotnet7

Amazon Linux 2

14 Mei 2024

Java 8

java8

Amazon Linux

8 Jan 2024

Februari 8, 2024

Februari 28, 2025

Jalankan 1.x

go1.x

Amazon Linux

8 Jan 2024

Februari 8, 2024

Februari 28, 2025

Runtime Khusus OS

provided

Amazon Linux

8 Jan 2024

Februari 8, 2024

Februari 28, 2025

Ruby 2.7

ruby2.7

Amazon Linux 2

7 Desember 2023

9 Jan 2024

Februari 28, 2025

Node.js 14

nodejs14.x

Amazon Linux 2

4 Desember 2023

9 Jan 2024

Februari 28, 2025

Python 3.7

python3.7

Amazon Linux

4 Desember 2023

9 Jan 2024

Februari 28, 2025

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

Apr 3, 2023

Apr 3, 2023

3 Mei 2023

Node.js 12

nodejs12.x

Amazon Linux 2

31 Mar 2023

31 Mar 2023

Apr 30, 2023

Python 3.6

python3.6

Amazon Linux

Jul 18, 2022

Jul 18, 2022

Agustus 29, 2022

.NET 5 (hanya wadah)

dotnet5.0

Amazon Linux 2

10 Mei 2022

.NET Core 2.1

dotnetcore2.1

Amazon Linux

Jan 5, 2022

Jan 5, 2022

Apr 13, 2022

Node.js 10

nodejs10.x

Amazon Linux 2

Juli 30, 2021

Juli 30, 2021

Feb 14, 2022

Ruby 2.5

ruby2.5

Amazon Linux

Juli 30, 2021

Juli 30, 2021

Mar 31, 2022

Python 2.7

python2.7

Amazon Linux

Juli 15, 2021

Juli 15, 2021

Mei 30, 2022

Node.js 8.10

nodejs8.10

Amazon Linux

Mar 6, 2020

Mar 6, 2020

Node.js 4.3

nodejs4.3

Amazon Linux

Mar 5, 2020

Mar 5, 2020

Node.js 4.3 edge

nodejs4.3-edge

Amazon Linux

Mar 5, 2020

Apr 30, 2019

Node.js 6.10

nodejs6.10

Amazon Linux

Agustus 12, 2019

Agustus 12, 2019

.NET Core 1.0

dotnetcore1.0

Amazon Linux

27 Jun 2019

30 Jul 2019

.NET Core 2.0

dotnetcore2.0

Amazon Linux

30 Mei 2019

30 Mei 2019

Node.js 0.10

nodejs

Amazon Linux

Okt 31, 2016

Dalam hampir semua kasus, end-of-life tanggal versi bahasa atau sistem operasi sudah diketahui sebelumnya. Tautan berikut memberikan end-of-life jadwal untuk setiap bahasa yang didukung Lambda sebagai runtime terkelola.

Kebijakan dukungan bahasa dan framework