

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
<a name="microvms-how-it-works"></a>

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
<a name="microvms-key-concepts"></a>

**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](#microvms-build-process)  
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 (`PENDING`→ `IN_PROGRESS` → `SUCCESSFUL` or`FAILED`), dan versi yang berhasil dapat diatur ke `ACTIVE` atau`INACTIVE`. Untuk detail tentang status dan manajemen gambar, lihat[Gambar MicroVM](microvms-images.md).

**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
<a name="microvms-build-process"></a>

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.

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

1. Lambda memulai aplikasi Anda menggunakan perintah `ENTRYPOINT` or`CMD`.

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

1. 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 di[Gambar MicroVM](microvms-images.md).

## Siklus hidup MicroVM
<a name="microvms-lifecycle-overview"></a>

Saat runtime, microVM bertransisi melalui tahapan berikut:

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

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

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

1. **Lanjutkan** — MicroVM bertransisi dari `SUSPENDED` langsung kembali ke `RUNNING` saat lalu lintas tiba (jika`autoResumeEnabled=true`) atau Anda menelepon. `resume-microvm`

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

### Status
<a name="microvms-states"></a>

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
<a name="microvms-transitions"></a>

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.