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, bagaimana Lambda membangun image microVM Anda menjadi snapshot, dan siklus hidup menyatakan transisi microVM saat runtime — dasar untuk membangun aplikasi dengan microVM.
Konsep Utama
- MicroVM
-
MicroVM adalah sumber daya yang mewakili lingkungan komputasi terisolasi untuk satu penyewa, sesi pengguna, atau pekerjaan. Setiap MicroVM menjalankan sistem operasi Amazon Linux 2023 dengan kemampuan sistem operasi, menyediakan peluncuran dan peluncuran hampir instan. MicroVM menerima permintaan melalui koneksi HTTPS masuk dan dapat ditangguhkan saat idle, menjaga 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 Bagaimana Lambda membangun citra Anda di bawah).
Untuk membuat gambar microVM, Anda menyediakan paket zip yang berisi artefak
Dockerfiledan aplikasi Anda, diunggah ke Amazon S3. Anda harus menggunakan gambar Lambda-published dasar terkelola sebagai fondasi - tentukan denganbase-image-arnparameter. AndaDockerfilemenentukan lapisan aplikasi yang dibangun Lambda di atas basis terkelola.Gambar MicroVM diberi versi. Setiap versi mewakili satu build yang dihasilkan dari artefak kode tertentu dan gambar dasar. Versi berkembang melalui status build (
PENDING→IN_PROGRESS→SUCCESSFULatauFAILED), dan versi yang berhasil dapat disetel keACTIVEatauINACTIVE. Untuk detail tentang status gambar dan manajemen, lihatImage 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 keluar internet publik. Buat konektor jaringan Anda sendiri untuk merutekan lalu lintas keluar melalui VPC Anda.
Bagaimana Lambda membangun citra Anda
Saat Anda membuat atau memperbarui gambar microVM, Lambda melakukan proses pembuatan yang menghasilkan snapshot Firecracker. Snapshot ini menangkap status aplikasi Anda yang diinisialisasi sepenuhnya, memungkinkan peluncuran dan dilanjutkan hampir instan untuk microVM yang berjalan darinya.
Proses pembangunan:
-
Lambda menyediakan microVM baru menggunakan image dasar terkelola yang Anda tentukan.
-
Lambda mengeksekusi
Dockerfileinstruksi Anda untuk menginstal dependensi dan mengkonfigurasi lingkungan Anda. -
Lambda memulai aplikasi Anda menggunakan
CMDperintahENTRYPOINTor. -
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 dibagikan di semua MicroVM yang dijalankan dari versi gambar yang sama. Untuk menghindari hal ini, buat konten unik setelah microVM mulai menggunakan hook /run siklus hidup. Untuk detailnya, lihat bagian kompatibilitas snapshot diImage MicroVM.
Siklus hidup MicroVM
Saat runtime, transisi microVM melalui tahapan berikut:
-
Lari - Anda menelepon
run-microvm. Lambda mengembalikan microVM dari snapshot gambar, menetapkan ID unik, dan membuat titik akhir. Transisi MicroVM dariPENDINGkeRUNNING. -
Menjalankan — Aplikasi Anda menerima dan memproses permintaan melalui URL titik puncaknya.
-
Men angguhkan - Setelah periode idle yang dapat dikonfigurasi (atau melalui
suspend-microvmAPI), microVM beralih ke.SUSPENDINGSUSPENDEDMemori dan status disk dipertahankan. -
Lanjutkan — Transisi microVM dari
SUSPENDEDlangsung kembali keRUNNINGsaat lalu lintas tiba (jikaautoResumeEnabled=true) atau Anda menelepresume-microvmon. -
H entikan — Transisi microVM
TERMINATINGhinggaTERMINATEDsaat 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 dialokasikan dan snapshot sedang dimuat. |
RUNNING |
MicroVM aktif dan menerima lalu lintas melalui URL titik puncaknya. Peng /run ait telah selesai. |
SUSPENDING |
MicroVM sedang ditangguhkan. Peng /suspend ait sedang dieksekusi. Disk dan memori sedang diperiksa. |
SUSPENDED |
MicroVM ditangguhkan. Negara dipertahankan. Tidak ada biaya komputasi yang bertambah. Dapat dilanjutkan atau dihentikan. |
TERMINATING |
MicroVM sedang dihentikan. Peng /terminate ait sedang dieksekusi. Sumber daya sedang dilepaskan. |
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 suspend-microvm API eksplisit. |
SUSPENDING |
SUSPENDED |
/suspendkait 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 ter maximumDurationInSeconds lampaui. |
SUSPENDED |
TERMINATING |
suspendedDurationSecondsterlampaui, atau panggilan terminate-microvm API eksplisit. |
TERMINATING |
TERMINATED |
/terminatekait selesai, semua sumber daya dilepaskan. |
penting
Jika /run hook Anda gagal atau habis waktu, microVM dapat beralih langsung ke TERMINATING tanpa pernah mencapaiRUNNING. Terapkan batas waktu dan penanganan kesalahan di kait Anda untuk menghindari kegagalan diam.