View a markdown version of this page

AWS Lambda Konsep inti MicroVMS - AWS Lambda

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

AWS Lambda Konsep inti MicroVMS

AWS Lambda MicroVMS menggunakan beberapa jenis sumber daya yang Anda buat dan kelola. Halaman ini menjelaskan setiap jenis sumber daya, cara Lambda membuat gambar microVM Anda menjadi snapshot, dan siklus hidup menyatakan transisi microVM saat runtime — fondasi untuk membangun aplikasi dengan microVMS.

Konsep utama

MicroVM

MicroVM adalah sumber daya yang mewakili lingkungan komputasi terisolasi untuk penyewa tunggal, sesi pengguna, atau pekerjaan. Setiap microVM menjalankan sistem operasi Amazon Linux 2023 dengan kemampuan sistem operasi, menyediakan peluncuran dan resume yang hampir instan. MicroVMS menerima permintaan melalui koneksi HTTPS masuk dan dapat ditangguhkan saat idle, mempertahankan memori dan status disk. MicroVM yang ditangguhkan dilanjutkan saat lalu lintas kembali.

Gambar MicroVM

Gambar microVM adalah sumber daya yang mendefinisikan lingkungan aplikasi microVM. Saat Anda membuat gambar, Lambda membuatnya menjadi snapshot yang memungkinkan peluncuran hampir instan (lihat di bawah). Bagaimana Lambda membangun gambar Anda

Untuk membuat gambar microVM, Anda menyediakan paket zip yang berisi artefak Dockerfile dan aplikasi Anda, yang diunggah ke Amazon S3. Anda harus menggunakan gambar dasar Lambda-published terkelola sebagai fondasi - tentukan dengan base-image-arn parameter. Anda Dockerfile mendefinisikan lapisan aplikasi yang dibangun Lambda di atas basis terkelola.

Gambar MicroVM berversi. Setiap versi mewakili satu build yang dihasilkan dari artefak kode tertentu dan gambar dasar. Versi berkembang melalui status build (PENDINGIN_PROGRESSSUCCESSFUL orFAILED), dan versi yang berhasil dapat diatur ke ACTIVE atauINACTIVE. Untuk detail tentang status dan manajemen gambar, lihatGambar MicroVM.

Konektor jaringan

Konektor jaringan adalah sumber daya yang mengontrol bagaimana lalu lintas mencapai microVM Anda dan bagaimana microVM Anda mencapai layanan eksternal. Anda mengaitkan konektor dengan microVM pada waktu berjalan untuk mengonfigurasi akses masuk dan keluar secara independen.

Build-time dan konektor run-time dapat berbeda, memungkinkan microVM Anda menjangkau lingkungan yang berbeda selama pembuatan gambar versus runtime.

Gunakan Lambda-provided default untuk akses port masuk (dengan otentikasi JWE), akses shell, dan jalan keluar internet publik. Buat konektor jaringan Anda sendiri untuk merutekan lalu lintas keluar melalui VPC Anda.

Bagaimana Lambda membangun gambar Anda

Saat Anda membuat atau memperbarui gambar MicroVM, Lambda melakukan proses pembuatan yang menghasilkan snapshot Petasan. Snapshot ini menangkap status aplikasi Anda yang sepenuhnya diinisialisasi, memungkinkan peluncuran dan melanjutkan hampir seketika untuk microVM yang berjalan darinya.

Proses membangun:

  1. Lambda menyediakan microVM baru menggunakan gambar dasar terkelola yang Anda tentukan.

  2. Lambda mengeksekusi Dockerfile instruksi Anda untuk menginstal dependensi dan mengkonfigurasi lingkungan Anda.

  3. Lambda memulai aplikasi Anda menggunakan perintah ENTRYPOINT orCMD.

  4. Jika Anda mengaktifkan /ready hook, Lambda menunggu aplikasi Anda memberi sinyal kesiapan (HTTP 200).

  5. Lambda menangkap snapshot dari disk dan status memori, termasuk semua proses yang berjalan.

Saat Anda menjalankan microVM, Lambda mengembalikannya dari snapshot ini. Aplikasi Anda dilanjutkan dari status pra-inisialisasi tanpa mengulangi startup.

Jika aplikasi Anda menghasilkan konten unik selama pembuatan (seperti ID unik, rahasia, atau koneksi jaringan), konten tersebut akan dibagikan di semua microVM yang dijalankan dari versi gambar yang sama. Untuk menghindari hal ini, buat konten unik setelah microVM mulai menggunakan kait siklus /run hidup. Untuk detailnya, lihat bagian kompatibilitas snapshot diGambar MicroVM.

Siklus hidup MicroVM

Saat runtime, microVM bertransisi melalui tahapan berikut:

  1. Jalankan - Anda meneleponrun-microvm. Lambda mengembalikan microVM dari snapshot gambar, menetapkan ID unik, dan membuat titik akhir. Transisi microVM dari ke. PENDING RUNNING

  2. Running — Aplikasi Anda menerima dan memproses permintaan melalui URL endpoint-nya.

  3. Tangguhkan — Setelah periode idle yang dapat dikonfigurasi (atau melalui suspend-microvm API), microVM beralih ke. SUSPENDING SUSPENDED Memori dan status disk dipertahankan.

  4. Lanjutkan — MicroVM bertransisi dari SUSPENDED langsung kembali ke RUNNING saat lalu lintas tiba (jikaautoResumeEnabled=true) atau Anda menelepon. resume-microvm

  5. Terminate — MicroVM beralih TERMINATING ke TERMINATED saat Anda menelepon terminate-microvm atau durasi maksimum terlampaui.

Status

Tabel berikut menjelaskan setiap status microVM. Status ini memungkinkan Anda untuk membangun aplikasi yang andal dan menerapkan penanganan kesalahan yang tepat.

Status Deskripsi
PENDING MicroVM sedang disediakan. Sumber daya sedang dialokasikan dan snapshot sedang dimuat.
RUNNING MicroVM aktif dan menerima lalu lintas melalui URL endpoint-nya. /runKait telah selesai.
SUSPENDING MicroVM sedang ditangguhkan. /suspendHook sedang mengeksekusi. Disk dan memori sedang diperiksa.
SUSPENDED MicroVM ditangguhkan. Negara dilestarikan. Tidak ada biaya komputasi yang timbul. Dapat dilanjutkan atau dihentikan.
TERMINATING MicroVM sedang dihentikan. /terminateHook sedang mengeksekusi. Sumber daya sedang dirilis.
TERMINATED MicroVM telah dihentikan. Ini adalah status terakhir. MicroVM tidak dapat dilanjutkan atau dimulai ulang.

Transisi negara

Tabel berikut menunjukkan transisi yang valid antara status microVM dan apa yang memicu setiap transisi.

Keadaan awal Status target Pemicu
PENDING RUNNING Penyediaan selesai, /run hook berhasil.
RUNNING SUSPENDING Durasi idle terlampaui, atau panggilan API eksplisitsuspend-microvm.
SUSPENDING SUSPENDED /suspendhook selesai, memori dan status disk diperiksa.
SUSPENDED RUNNING Lalu lintas tiba (autoResumeEnabled=true) atau panggilan resume-microvm API eksplisit.
RUNNING TERMINATING Panggilan terminate-microvm API eksplisit, atau maximumDurationInSeconds terlampaui.
SUSPENDED TERMINATING suspendedDurationSecondsterlampaui, atau panggilan terminate-microvm API eksplisit.
TERMINATING TERMINATED /terminatehook selesai, semua sumber daya dirilis.
penting

Jika /run kait Anda gagal atau habis waktu, microVM dapat bertransisi langsung ke TERMINATING tanpa pernah mencapai. RUNNING Terapkan batas waktu dan penanganan kesalahan di kait Anda untuk menghindari kegagalan diam.