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
Dockerfiledan aplikasi Anda, yang diunggah ke Amazon S3. Anda harus menggunakan gambar dasar Lambda-published terkelola sebagai fondasi - tentukan denganbase-image-arnparameter. AndaDockerfilemendefinisikan 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 (
PENDING→IN_PROGRESS→SUCCESSFULorFAILED), dan versi yang berhasil dapat diatur keACTIVEatauINACTIVE. 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:
-
Lambda menyediakan microVM baru menggunakan gambar dasar terkelola yang Anda tentukan.
-
Lambda mengeksekusi
Dockerfileinstruksi Anda untuk menginstal dependensi dan mengkonfigurasi lingkungan Anda. -
Lambda memulai aplikasi Anda menggunakan perintah
ENTRYPOINTorCMD. -
Jika Anda mengaktifkan
/readyhook, Lambda menunggu aplikasi Anda memberi sinyal kesiapan (HTTP 200). -
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:
-
Jalankan - Anda menelepon
run-microvm. Lambda mengembalikan microVM dari snapshot gambar, menetapkan ID unik, dan membuat titik akhir. Transisi microVM dari ke.PENDINGRUNNING -
Running — Aplikasi Anda menerima dan memproses permintaan melalui URL endpoint-nya.
-
Tangguhkan — Setelah periode idle yang dapat dikonfigurasi (atau melalui
suspend-microvmAPI), microVM beralih ke.SUSPENDINGSUSPENDEDMemori dan status disk dipertahankan. -
Lanjutkan — MicroVM bertransisi dari
SUSPENDEDlangsung kembali keRUNNINGsaat lalu lintas tiba (jikaautoResumeEnabled=true) atau Anda menelepon.resume-microvm -
Terminate — MicroVM beralih
TERMINATINGkeTERMINATEDsaat Anda meneleponterminate-microvmatau 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.