

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

# Pemecahan Masalah
<a name="microvms-troubleshooting"></a>

Bagian ini menjelaskan cara men-debug dan memecahkan masalah umum saat bekerja dengan AWS Lambda MicroVM.

## Akses shell
<a name="microvms-troubleshooting-shell"></a>

Gunakan akses shell untuk terhubung langsung ke microVM yang sedang berjalan untuk debugging dan pemecahan masalah.

Anda dapat terhubung ke shell microVM dengan dua cara:
+ **Konsol ** — Pilih MicroVM Anda di konsol Lambda dan pilih Connect.
+ **CLI ** — Hasilkan token shell dengan`create-microvm-shell-auth-token`, lalu gunakan token untuk membuat koneksi.

Buat token shell, lalu hubungkan:

```
aws lambda-microvms create-microvm-shell-auth-token \
  --microvm-identifier <id> --expiration-in-minutes 30
# In Console: select MicroVM -> Connect
# In shell: ctr task ls, then ctr task exec -t --exec-id shell <id> /bin/sh
```

MicroVM harus dijalankan dengan konektor `SHELL_INGRESS` jaringan (`arn:aws:lambda:{{us-east-1}}:aws:network-connector:aws-network-connector:SHELL_INGRESS`). Jika microVM tidak diluncurkan dengan konektor ini, `create-microvm-shell-auth-token` mengembalikan a`ValidationException`.

Untuk masalah lain:
+ Periksa `terminationMessage` bidang dalam `get-microvm` respons untuk microVM yang dihentikan.
+ Per CloudWatch iksa log build untuk masalah pembuatan gambar.
+ Periksa `StateReason` bidang untuk konektor jaringan dalam `FAILED` keadaan.

## Pemecahan masalah
<a name="microvms-troubleshooting-troubleshooting"></a>

Bagian ini memberikan solusi untuk masalah umum saat bekerja dengan Lambda MicroVMS.


| Gejala | Kemungkinan penyebab dan resolusi | 
| --- | --- | 
| Pembuatan gambar gagal (CREATION\_FAILED) | Periksa log build di/aws/lambda/microvms/<image-name>. Verifikasi Dockerfile sintaks, izin Amazon S3, dan ketersediaan gambar dasar. Jalan docker build kan secara lokal untuk mereproduksi. | 
| MicroVM macet PENDING | Tunggu dan coba lagi. Jika persisten, periksa kesehatan layanan. Pastikan kuota konkurensi Anda tidak habis. | 
| Aplikasi tidak merespons setelah dilanjutkan | Terapkan kait /resume siklus hidup untuk membangun kembali koneksi dan memvalidasi status. Periksa apakah aplikasi Anda terikat ke port 8080 (atau port yang dikonfigurasi) setelah dilanjutkan. | 
| 502 Bad Gateway dari titik akhir | Aplikasi macet atau tidak mendengarkan. Periksa log runtime. Veri EXPOSE fikasi dan CMD masukDockerfile. Jika melanjutkan otomatis, microVM mungkin gagal melanjutkan (periksa status dengan menggunakanget-microvm). | 
| 429 Terlalu Banyak Permintaan | Tingkat permintaan terlampaui. Coba lagi dengan backoff eksponensial dan jitter. | 
| Koneksi terputus | Waktu tunggu idle dipicu. Terapkan ping/pong keepalives. Atau maxIdleDurationSeconds perpanjang kebijakan idle. | 
| Latensi tinggi pada titik akhir | Saturasi bandwidth. Periksa apakah lalu lintas melebihi kemampuan bandwidth untuk ukuran microVM Anda. Skala hingga ukuran yang lebih besar. | 
| Token autentikasi kedaluwarsa (403) | Token memiliki kedaluwarsa yang dapat dikonfigurasi. Hasilkan token baru sebelum yang lama kedaluwarsa. Terapkan logika penyegaran token di klien Anda. | 
| Keluar VPC tidak berfungsi | Verifikasi konektor jaringan dalam ACTIVE keadaan. Periksa aturan grup keamanan mengizinkan lalu lintas keluar. Konfirmasikan bahwa subnet memiliki rute ke sumber daya target Anda. | 

## Kesalahan umum (pembuatan gambar)
<a name="microvms-troubleshooting-image-errors"></a>


| Kesalahan | Penyebab | Solusi | 
| --- | --- | --- | 
| S3\_ACCESS\_DENIED | Peran build tidak memiliki izin untuk mengambil artefak Amazon S3. | Tambahkan s3:GetObject izin untuk ember artefak Anda. | 
| S3\_NO\_SUCH\_KEY | Kunci artefak tidak ada di bucket. | Pastikan jalur Amazon S3 benar. | 
| S3\_NO\_SUCH\_BUCKET | Bucket Amazon S3 tidak ada. | Periksa nama bucket dan konfirmasikan telah dibuat. | 
| S3\_INVALID\_OBJECT | Artefak di Glacier atau kelas penyimpanan yang tidak dapat diakses langsung. | Pindahkan artefak ke kelas penyimpanan Standar. | 
| S3\_CROSS\_REGION\_ACCESS\_DENIED | Artefak berada di Wilayah yang berbeda dari gambar microVM. | Pastikan artefak Anda berada di Wilayah yang sama dengan gambar microVM Anda. | 
| ARCHIVE\_DOCKERFILE\_NOT\_FOUND | Arsip zip tidak ada Dockerfile di direktori root. | Tambahkan a Dockerfile ke root arsip zip Anda. | 
| ARCHIVE\_INVALID | File arsip bukan ZIP yang valid atau rusak. | Re-create arsip zip dan upload ulang. | 
| CONTAINER\_BUILD\_FAILED | DockerfileInstruksi tidak valid, file hilang, atau kesalahan sintaks. | Debug penggunaan Dockerfile docker build lokal Anda. | 
| DISK\_STORAGE\_FULL | MicroVM kehabisan penyimpanan selama pembuatan. | Kurangi ukuran artefak atau hubungi dukungan. | 
| INTERNAL\_PLATFORM\_ERROR | Terjadi kesalahan internal. | Coba lagi operasi. Jika gigih, hubungi dukungan. | 

## Pemecahan masalah konektor jaringan
<a name="microvms-troubleshooting-connector-errors"></a>


| Kode kesalahan | Penyebab | Solusi | 
| --- | --- | --- | 
| DisallowedByVpcEncryptionControl | VPC memiliki kebijakan kontrol enkripsi yang mencegah antarmuka jaringan atau lalu lintas yang tidak dienkripsi. Lambda tidak dapat membuat ENI yang memenuhi persyaratan enkripsi. | Tambahkan Lambda ke daftar pengecualian kontrol enkripsi VPC. Jika pengecualian tidak memungkinkan, gunakan VPC atau subnet yang tidak memiliki kontrol enkripsi ketat yang diterapkan. | 
| Ec2RequestLimitExceeded | Lambda membuat panggilan API EC2 (misalnya,CreateNetworkInterface,DescribeSubnets) untuk mengatur konektivitas. Terlalu banyak panggilan API EC2 bersamaan menyebabkan pelambatan. | Coba kembali operasi setelah penundaan singkat. Jika persisten, kurangi operasi konektor jaringan bersamaan atau minta peningkatan batas pelambatan API EC2 melalui Dukungan. AWS  | 
| InsufficientRolePermissions | Peran operator tidak memiliki izin EC2 yang diperlukan. | Pastikan peran IAM memiliki izin jaringan EC2 yang diperlukan. | 
| InternalError | Kesalahan tak terduga terjadi dalam layanan Lambda saat memproses permintaan konektor jaringan. | Coba lagi operasi. Jika terus berlanjut setelah beberapa kali percobaan ulang, hubungi AWS Dukungan dengan konektor jaringan ARN dan perkiraan stempel waktu. | 
| InvalidSecurityGroup | ID grup keamanan tidak ada, telah dihapus, atau bukan milik VPC yang sama dengan subnet yang ditentukan. | Verifikasi semua ID grup keamanan ada dan milik VPC yang sama dengan subnet. Gunakan aws ec2 describe-security-groups --group-ids <sg-id> untuk memvalidasi. | 
| InvalidSubnet | ID subnet tidak ada, telah dihapus, atau milik VPC yang berbeda dari yang diharapkan. | Verifikasi semua ID subnet ada dan milik VPC yang benar. Gunakan aws ec2 describe-subnets --subnet-ids <subnet-id> untuk memvalidasi. | 
| SubnetOutOfIPAddresses | Blok CIDR subnet habis — semua IP dialokasikan ke ENI, instance, dan sumber daya lainnya, sehingga Lambda tidak dapat membuat antarmuka jaringan. | Kosongkan alamat IP dengan menghapus yang tidak digunakan ENIs/instances, atau gunakan subnet yang berbeda dengan kapasitas yang tersedia. Pertimbangkan subnet yang lebih besar (misalnya, /24 atau lebih besar) untuk konektor jaringan. | 