View a markdown version of this page

Pemecahan SnapStart masalah kesalahan untuk fungsi Lambda - AWS Lambda

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

Pemecahan SnapStart masalah kesalahan untuk fungsi Lambda

Halaman ini membahas masalah umum yang terjadi saat menggunakan Lambda SnapStart, termasuk kesalahan pembuatan snapshot, kesalahan batas waktu, dan kesalahan layanan internal.

SnapStartNotReadyException

Kesalahan: Terjadi kesalahan (SnapStartNotReadyException) saat memanggil operasi Invoke20150331: Lambda menginisialisasi fungsi Anda. Ini akan siap untuk dipanggil setelah status fungsi Anda menjadi AKTIF.

Penyebab umum

Kesalahan ini terjadi ketika Anda mencoba memanggil versi fungsi yang ada dalam Inactive status. Versi fungsi Anda menjadi Inactive ketika belum dipanggil selama 14 hari atau ketika Lambda mendaur ulang lingkungan eksekusi secara berkala

Resolusi

Tunggu sampai versi fungsi mencapai Active status, lalu panggil lagi.

SnapStartTimeoutException

Masalah: Anda menerima SnapStartTimeoutException saat mencoba memanggil versi SnapStart fungsi.

Penyebab umum

Selama fase Restore, Lambda mengembalikan runtime Java dan menjalankan kait runtime setelah pemulihan. Jika hook runtime setelah pemulihan berjalan lebih dari 10 detik, waktu Restore fase habis dan Anda mendapatkan kesalahan saat mencoba memanggil fungsi. Masalah koneksi jaringan dan kredenSIAL juga dapat menyebabkan Restore batas waktu fase.

Resolusi

Periksa CloudWatch log fungsi untuk kesalahan batas waktu yang terjadi selama fase Pem ulihan. Pastikan semua kait setelah pemulihan selesai dalam waktu kurang dari 10 detik.

contoh CloudWatch log
{ "cause": "Lambda couldn't restore the snapshot within the timeout limit. (Service: Lambda, Status Code: 408, Request ID: 11a222c3-410f-427c-ab22-931d6bcbf4f2)", "error": "Lambda.SnapStartTimeoutException"}

500 Kesalahan Layanan Internal

Kesalahan: Lambda tidak dapat membuat snapshot baru karena Anda telah mencapai batas pembuatan snapshot bersamaan.

Penyebab umum

Kesalahan 500 adalah kesalahan internal dalam layanan Lambda itu sendiri, bukan masalah dengan fungsi atau kode Anda. Kesalahan ini sering terputus-putus.

Resolusi

Coba publikasikan versi fungsi lagi.

401 Tidak sah

Kesalahan: Token sesi atau kunci header yang buruk

Penyebab umum

Kesalahan ini terjadi ketika Anda menggunakan Penyimpanan AWS Systems Manager Parameter dan AWS Secrets Manager ekstensi dengan Lambda SnapStart. Ketika fungsi Anda menggunakan SnapStart, ia memperoleh kredenSIAL dari titik akhir kontainer, dan Lambda tidak menyetel variabel AWS_SESSION_TOKEN lingkungan. Jika fungsi Anda menetapkan X-Aws-Parameters-Secrets-Token header dari variabel lingkungan itu, header kosong dan ekstensi menolak permintaan.

Resolusi

Untuk memperbaiki kesalahan ini, gunakan rantai penyedia kredensia AWS SDK untuk mengambil token sesi alih-alih membaca variabel AWS_SESSION_TOKEN lingkungan secara langsung. Atur X-Aws-Parameters-Secrets-Token header ke token yang dikembalikan oleh rantai penyedia. Rantain penyedia kredensi mengembalikan token sesi yang benar di semua mode inisialisasi, termasuk. SnapStart Untuk kode sampel, lihat Gunakan rahasia Manajer Rahasia dalam fungsi Lambda.

UnknownHostException (Jawa)

Kesalahan: Tidak dapat menjalankan permintaan HTTP: Sertifikat untuk abc.us-east-1.amazonaws.com tidak cocok dengan nama alternatif subjek mana pun.

Penyebab umum

Fungsi lambda sudah men-cache respons DNS. Jika Anda menggunakan cache DNS lain dengan SnapStart, maka Anda mungkin mengalami batas waktu koneksi saat fungsi dilanjutkan dari snapshot.

Resolusi

Untuk mencegah UnknownHostException kegagalan dalam runtime Java 11, sebaiknya setel networkaddress.cache.negative.ttl ke 0. Di Java 17 dan runtime yang lebih baru, langkah ini tidak diperlukan. Anda dapat mengatur properti ini untuk fungsi Lambda dengan variabel AWS_LAMBDA_JAVA_NETWORKADDRESS_CACHE_NEGATIVE_TTL=0 lingkungan.

Kegagalan pembuatan snapshot

Kesalahan: tidak AWS Lambda dapat memanggil SnapStart fungsi Anda. Jika kesalahan ini berlanjut, periksa CloudWatch log fungsi Anda untuk kesalahan inisialisasi.

Resolusi

Tinjau CloudWatch log Amazon fungsi Anda untuk batas waktu proses hook sebelum checkpoint. Anda juga dapat mencoba menerbitkan versi fungsi baru, yang terkadang dapat menyelesaikan masalah.

Latensi pembuatan snapshot

Masalah: Saat Anda menerbitkan versi fungsi baru, fungsi tetap dalam Pending status untuk waktu yang lama.

Penyebab umum

Saat Lambda membuat snapshot, kode inisialisasi Anda dapat berjalan hingga 15 menit. Batas waktu adalah 130 detik atau batas waktu fungsi yang dikonfigurasi (maksimum 900 detik), mana yang lebih tinggi.

Jika fungsi Anda dil ampirkan ke VPC, Lambda mungkin juga perlu membuat antarmuka jaringan sebelum fungsi menjadi. Active Jika Anda mencoba memanggil versi fungsi saat fungsinya adaPending, Anda mungkin mendapatkan 409ResourceConflictException. Jika fungsi dipanggil menggunakan titik akhir Amazon API Gateway, Anda mungkin mendapatkan kesalahan 500 di API Gateway.

Resolusi

Tunggu setidaknya 15 menit hingga versi fungsi diinisialisasi sebelum memanggilnya.