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.