

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

# Memecahkan Masalah Instans Terkelola Lambda
<a name="lambda-managed-instances-troubleshooting"></a>

## Masalah pelambatan dan penskalaan
<a name="lambda-managed-instances-ts-throttling"></a>

### Pelambatan sesekali
<a name="lambda-managed-instances-ts-occasional-throttling"></a>

**Masalah: ** Anda mengalami kesalahan pelambatan (HTTP 429) selama operasi normal.

**Penyebab: Inst ** ans Terkelola Lambda mungkin menolak panggilan baru untuk melindungi panggilan yang sudah dalam penerbangan. Jika lingkungan eksekusi Anda memiliki pemanfaatan tinggi secara konsisten, pemanggilan baru mungkin dibatasi.

**Solusi:**
+ **Memantau metrik penskalaan: Per ** iksa grafik Throttle Reasons untuk memahami alasan pembatasan dan masalah penskalaan kapasitas. Dalam contoh berikut, CPU tinggi menyebabkan throttle.
+ **Tinjau konfigurasi fungsi: ** Pastikan memori fungsi dan pengaturan vCPU mendukung eksekusi multi-bersamaan. Tingkatkan memori fungsi atau alokasi vCPU jika diperlukan. Jika `ExecutionEnvironmentVCPUUtilization` tinggi, coba tambahkan lebih banyak vCPU per fungsi.

  ```
  aws lambda update-function \
    --function-name my-function \
    ...
    --memory-size 8192
  ```

  Jika `ExecutionEnvironmentMemoryUtilization` tinggi, coba tambahkan lebih banyak memori per vCPU:

  ```
  aws lambda update-function \
    --function-name my-function \
    --capacity-provider-config '{
      "LambdaManagedInstancesCapacityProviderConfig": {
        "ExecutionEnvironmentMemoryGiBPerVCpu": 4.0
      }
    }'
  ```

### Throttle selama peningkatan skala
<a name="lambda-managed-instances-ts-throttles-during-scale-up"></a>

**Masalah: ** Anda mengalami kesalahan pelambatan (HTTP 429) ketika lalu lintas meningkat dengan cepat.

**Penyebab: ** Lambda Managed Instances menskalakan secara asinkron berdasarkan pemanfaatan sumber daya CPU dan saturasi multi-konkurensi. Jika lalu lintas Anda lebih dari dua kali lipat dalam waktu 5 menit, Anda mungkin melihat pembatasan saat Lambda meningkatkan instans dan lingkungan eksekusi untuk memenuhi permintaan.

**Solusi: **
+ **Sesuaikan pemanfaatan sumber daya target: ** Jika beban kerja Anda memiliki pola lalu lintas yang dapat diprediksi, tetapkan pemanfaatan sumber daya target yang lebih rendah untuk mempertahankan ruang tambahan untuk ledakan lalu lintas.

  ```
  aws lambda create-capacity-provider \
    --name my-capacity-provider \
    ...
    --capacity-provider-scaling-config '{
      "ScalingMode": "Manual",
      "ScalingPolicies": [
        {
          "PredefinedMetricType": "LambdaCapacityProviderAverageCPUUtilization",
          "TargetValue": 30.0
        }
      ]
    }'
  ```
+ **Pre-warm kapasitas: ** Untuk peningkatan lalu lintas yang direncanakan, gunakan `PutFunctionScalingConfig` API untuk melakukan pra-pemanasan kapasitas tambahan.

  ```
  aws lambda put-function-scaling-config \
    --function-name my-function \
    --qualifier 1 \
    --function-scaling-config '{
      "MinExecutionEnvironments": 100
    }'
  ```

### Menurunkan skala lambat
<a name="lambda-managed-instances-ts-slow-scale-down"></a>

**Masalah: ** Instans membutuhkan waktu lama untuk diturunkan setelah lalu lintas berkurang.

**Penyebab: ** Lambda Managed Instances akan menurunkan skala secara bertahap untuk menjaga ketersediaan dan menghindari perubahan kapasitas yang cepat yang dapat memengaruhi kinerja.

**Solusi:**

Ini adalah perilaku yang diharapkan. Lambda mengurangi instance secara konservatif untuk memastikan stabilitas. Pantau CloudWatch metrik Anda untuk melacak jumlah instans yang sedang berjalan.

## Masalah konkurensi
<a name="lambda-managed-instances-ts-concurrency"></a>

### Lingkungan eksekusi dengan pengalaman konkurensi rendah membatasi
<a name="lambda-managed-instances-ts-low-concurrency-throttles"></a>

**Masalah: Fungsi ** Anda mengalami pelambatan meskipun memiliki kapasitas yang tersedia.

**Penyebab: Lingkungan ** eksekusi dengan konkurensi maksimum yang sangat rendah mungkin mengalami kesulitan melakukan penskalaan secara efektif. Instans Terkelola Lambda dirancang untuk aplikasi multi-concurrent.

**Solusi: **
+ **Tingkatkan konkurensi maksimum: ** Jika pemanggilan fungsi Anda menggunakan CPU yang sangat sedikit, tingkatkan pengaturan konkurensi maksimum hingga 64 per vCPU.

  ```
  aws lambda update-function \
    --function-name ordering-api-backend \
    --capacity-provider-config '{
      "LambdaManagedInstancesCapacityProviderConfig": {
        "PerExecutionEnvironmentMaxConcurrency": 32
      }
    }'
  ```
+ **Optimalkan kode fungsi: T ** injau kode fungsi Anda untuk mengurangi konsumsi CPU per pemanggilan, memungkinkan konkurensi yang lebih tinggi.
+ **Sesuaikan memori fungsi dan vCPU: ** Pastikan fungsi Anda memiliki sumber daya yang cukup untuk menangani beberapa pemanggilan bersamaan.

### Masalah keamanan utas (runtime Java)
<a name="lambda-managed-instances-ts-thread-safety-java"></a>

**Masalah: Fungsi Java ** Anda menghasilkan hasil yang salah atau mengalami kondisi balapan di bawah beban.

**Penyebab: ** Beberapa utas mengeksekusi metode handler secara bersamaan, dan status bersama tidak aman untuk utas.

**Solusi:**
+ Gunakan `AtomicInteger` atau `AtomicLong` untuk penghitung alih-alih tipe primitif
+ Ganti `HashMap` dengan `ConcurrentHashMap`
+ Gunakan `Collections.synchronizedList()` untuk membungkus `ArrayList`
+ Gunakan `ThreadLocal` untuk status khusus permintaan
+ Akses ID jejak dari objek Lambda Context, bukan variabel lingkungan

Untuk panduan terperinci, lihat [ dokumentasi runtime ](lambda-managed-instances-java-runtime.md) Java untuk Lambda Managed Instances.

### Masalah isolasi status (Node.js runtime)
<a name="lambda-managed-instances-ts-state-isolation-nodejs"></a>

**Masalah: Node.js Fungsi ** Anda mengembalikan data dari permintaan yang berbeda atau mengalami kerusakan data.

**Penyebab: Vari ** abel global dibagikan di seluruh pemanggilan bersamaan pada utas pekerja yang sama. Ketika operasi asinkron menghasilkan kontrol, pemanggilan lain dapat memodifikasi status bersama.

**Solusi:**
+ Instal dan gunakan `@aws/lambda-invoke-store` untuk semua status khusus permintaan
+ Ganti variabel global dengan `InvokeStore.set()` dan `InvokeStore.get()`
+ Gunakan nama file unik `/tmp` dengan ID permintaan
+ Akses ID jejak menggunakan al `InvokeStore.getXRayTraceId()` ih-alih variabel lingkungan

Untuk panduan terperinci, lihat [ dokumentasi ](lambda-managed-instances-nodejs-runtime.md) Node.js runtime untuk Lambda Managed Instances.

### Konflik file (runtime Python)
<a name="lambda-managed-instances-ts-file-conflicts-python"></a>

**Masalah: Fungsi Python ** Anda membaca data yang salah dari file di`/tmp`.

**Penyebab: ** Beberapa proses berbagi `/tmp` direktori. Menulis secara bersamaan ke file yang sama dapat menyebabkan kerusakan data.

**Solusi:**
+ Gunakan nama file unik dengan ID permintaan: `/tmp/request_{context.request_id}.txt`
+ Gunakan penguncian file dengan `fcntl.flock()` untuk file bersama
+ Bersihkan file sementara `os.remove()` setelah digunakan

Untuk panduan terperinci, lihat [ dokumentasi runtime ](lambda-managed-instances-python-runtime.md) Python untuk Lambda Managed Instances.

## Masalah kinerja
<a name="lambda-managed-instances-ts-performance"></a>

### Pemanfaatan memori tinggi
<a name="lambda-managed-instances-ts-high-memory"></a>

**Masalah: Fungsi ** Anda mengalami pemanfaatan memori yang tinggi atau kesalahan kehabisan memori.

**Penyebab: ** Setiap permintaan bersamaan di Python berjalan dalam proses terpisah dengan ruang memori sendiri. Total penggunaan memori sama dengan memori per proses dikalikan dengan proses bersamaan.

**Solusi:**
+ Pantau `MemoryUtilization` metrik di CloudWatch
+ Kurangi `MaxConcurrency` pengaturan jika penggunaan memori mendekati batas memori fungsi
+ Tingkatkan alokasi memori fungsi untuk mendukung konkurensi yang lebih tinggi
+ Optimalkan penggunaan memori dengan memuat data sesuai permintaan alih-alih selama inisialisasi

### Kinerja yang tidak konsisten
<a name="lambda-managed-instances-ts-inconsistent-performance"></a>

**Masalah: Kin ** erja fungsi bervariasi secara signifikan antara pemanggilan.

**Penyebab: ** Lambda mungkin memilih jenis instans yang berbeda berdasarkan ketersediaan, atau fungsi mungkin berjalan pada instans dengan ketersediaan sumber daya yang bervariasi.

**Solusi:**
+ **Tentukan jenis instans yang diizinkan: ** Jika Anda memiliki persyaratan kinerja tertentu, konfigurasikan jenis instans yang diizinkan di penyedia kapasitas Anda untuk membatasi jenis instans yang dapat dipilih Lambda.
+ **Memantau metrik tingkat instance: ** Lacak `CPUUtilization` dan `MemoryUtilization` pada tingkat penyedia kapasitas untuk mengidentifikasi kendala sumber daya.
+ **Tinjau metrik kapasitas: `vCPUAvailable` Per ** iksa dan `MemoryAvailable` pastikan sumber daya yang cukup tersedia di instans Anda.

## Masalah penyedia kapasitas
<a name="lambda-managed-instances-ts-capacity-provider"></a>

### Versi fungsi gagal menjadi AKTIF
<a name="lambda-managed-instances-ts-function-not-active"></a>

**Masalah: Versi fungsi ** Anda tetap dalam keadaan tertunda setelah penerbitan.

**Penyebab: ** Lambda meluncurkan Instans Terkelola dan memulai lingkungan eksekusi. Proses ini membutuhkan waktu, terutama untuk versi fungsi pertama pada penyedia kapasitas baru.

**Solusi:**

Tunggu Lambda menyelesaikan proses inisialisasi. Lambda meluncurkan tiga instance secara default untuk ketahanan AZ dan memulai tiga lingkungan eksekusi sebelum menandai versi fungsi Anda AKTIF. Ini biasanya memerlukan waktu beberapa menit.

### Tidak dapat menghapus penyedia kapasitas
<a name="lambda-managed-instances-ts-cannot-delete"></a>

**Masalah: ** Anda menerima kesalahan saat mencoba menghapus penyedia kapasitas.

**Penyebab: ** Anda tidak dapat menghapus penyedia kapasitas yang memiliki versi fungsi yang dilampirkan padanya.

**Solusi:**

1. Identifikasi semua versi fungsi menggunakan penyedia kapasitas dengan `ListFunctionVersionsByCapacityProvider` API.

1. Hapus atau perbarui versi fungsi tersebut untuk menghapus asosiasi penyedia kapasitas.

1. Coba lagi menghapus penyedia kapasitas.

### Pesan kesalahan umum selama penerbitan fungsi
<a name="lambda-managed-instances-ts-generic-errors"></a>

**Masalah: ** Anda menemukan pesan kesalahan umum seperti “Terjadi kesalahan internal selama penerbitan” saat menerbitkan fungsi.

**Solusi:**
+ **Periksa izin IAM: ** Pastikan Anda memiliki `lambda:PassCapacityProvider` izin untuk penyedia kapasitas yang Anda coba gunakan.
+ **Verifikasi konfigurasi penyedia kapasitas: ** Konfirmasikan bahwa penyedia kapasitas Anda berada dalam status AKTIF menggunakan `GetCapacityProvider` API.
+ **Tinjau konfigurasi VPC: ** Pastikan subnet dan grup keamanan yang ditentukan di penyedia kapasitas Anda dikonfigurasi dan dapat diakses dengan benar.
+ **Periksa AWS CloudTrail log: ** Tinjau CloudTrail log untuk informasi kesalahan terperinci tentang operasi yang gagal.

## Masalah pemantauan dan pengamatan
<a name="lambda-managed-instances-ts-monitoring"></a>

### CloudWatch Metrik yang hilang
<a name="lambda-managed-instances-ts-missing-metrics"></a>

**Masalah: ** Anda tidak melihat metrik yang diharapkan CloudWatch untuk penyedia kapasitas atau fungsi Anda.

**Penyebab: ** Metrik dipublikasikan pada interval 5 menit. Penyedia kapasitas atau fungsi baru mungkin tidak memiliki metrik yang tersedia segera.

**Solusi:**

Tunggu setidaknya 5-10 menit setelah menerbitkan versi fungsi sebelum mengharapkan metrik muncul di CloudWatch. Pastikan Anda melihat namespace (`AWS/Lambda`) dan dimensi (`CapacityProviderName`,`FunctionName`, atau`InstanceType`) yang benar.

### Tidak dapat menemukan CloudWatch log
<a name="lambda-managed-instances-ts-no-logs"></a>

**Masalah: Fungsi ** Anda berhasil dijalankan, tetapi Anda tidak dapat menemukan CloudWatch log di Log.

**Penyebab: Inst ** ans Terkelola Lambda berjalan di VPC Anda dan memerlukan konektivitas jaringan untuk mengirim log ke CloudWatch Log. Tanpa konfigurasi konektivitas VPC yang tepat, fungsi Anda tidak dapat mencapai titik akhir layanan CloudWatch Logs.

**Solusi:**

Konfigurasikan konektivitas VPC untuk mengaktifkan fungsi Anda mengirim log ke CloudWatch Log. Anda memiliki tiga opsi:

**Opsi 1: Titik akhir VPC untuk CloudWatch Log (direkomendasikan untuk produksi) **

1. Buka konsol Amazon VPC di [ console.aws.amazon. com/vpc/](https://console.aws.amazon.com/vpc/).

1. Di panel navigasi, pilih **Titik Akhir**.

1. Pilih **Buat Titik Akhir**.

1. Untuk kategori ** Layanan**, pilih **AWS layanan**.

1. Untuk Nama ** Layanan**, pilih `com.amazonaws.region.logs` (ganti `region` dengan Wil AWS ayah Anda).

1. Untuk ** VPC**, pilih VPC yang digunakan oleh penyedia kapasitas Anda.

1. Untuk ** Subnet**, pilih subnet tempat Anda ingin membuat antarmuka jaringan titik akhir. Untuk mendapatkan ketersediaan tinggi, pilih subnet di beberapa Zona Ketersediaan.

1. Untuk Grup ** keamanan**, pilih grup keamanan yang mengizinkan lalu lintas HTTPS masuk (port 443) dari grup keamanan fungsi Anda.

1. Aktif ** kan DNS Pri ** badi untuk titik akhir.

1. Pilih **Buat titik akhir**.

**Opsi 2: Subnet publik dengan gateway internet **

Jika penyedia kapasitas Anda menggunakan subnet publik, pastikan:

1. Gateway internet terpasang ke VPC Anda

1. Tabel rute merutekan `0.0.0.0/0` lalu lintas ke gateway internet

1. Grup keamanan mengizinkan lalu lintas HTTPS keluar pada port 443

**Opsi 3: Subnet pribadi dengan gateway NAT **

Jika penyedia kapasitas Anda menggunakan subnet pribadi, pastikan:

1. Gerbang NAT ada di subnet publik

1. Tabel rute subnet pribadi merutekan `0.0.0.0/0` lalu lintas ke gateway NAT

1. Tabel rute subnet publik merutekan `0.0.0.0/0` lalu lintas ke gateway internet

1. Grup keamanan mengizinkan lalu lintas HTTPS keluar pada port 443

Untuk panduan terperinci tentang opsi konektivitas VPC, lihat Konektivitas [ VPC untuk Instans Terkelola Lambda. ](lambda-managed-instances-networking.md)

### Kesulitan menghubungkan log dari permintaan bersamaan
<a name="lambda-managed-instances-ts-log-correlation"></a>

**Masalah: ** Log dari permintaan yang berbeda disisipkan, sehingga sulit untuk melacak permintaan individu.

**Penyebab: Inter ** leaving log diharapkan dan perilaku standar dalam sistem multi-bersamaan.

**Solusi:**
+ **Gunakan logging terstruktur dengan format JSON: ** Sertakan ID permintaan di semua pernyataan log
+ **Java: ** Gunakan Log4j dengan `ThreadContext` untuk secara otomatis menyertakan ID permintaan
+ **Node.js: ** Gunakan `console.log()` dengan pemformatan JSON dan sertakan `InvokeStore.getRequestId()`
+ **Python: ** Gunakan modul logging standar dengan pemformatan JSON dan sertakan `context.request_id`

Untuk panduan terperinci, lihat halaman dokumentasi khusus runtime.

## Mendapatkan bantuan tambahan
<a name="lambda-managed-instances-ts-getting-help"></a>

Jika Anda terus mengalami masalah setelah mencoba solusi ini:

1. **Tinjau CloudWatch metrik: ** Periksa penyedia kapasitas dan metrik lingkungan eksekusi untuk mengidentifikasi kendala sumber daya atau masalah penskalaan.

1. **Periksa AWS CloudTrail log: ** Tinjau CloudTrail log untuk informasi terperinci tentang panggilan dan kesalahan API.

1. **Hu AWS bungi Dukungan: ** Jika Anda tidak dapat menyelesaikan masalah, AWS hubungi Dukungan dengan rincian tentang konfigurasi penyedia kapasitas Anda, konfigurasi fungsi, dan pesan kesalahan spesifik yang Anda temui.

## Langkah selanjutnya
<a name="lambda-managed-instances-ts-next-steps"></a>
+ Pelajari tentang penyedia [ kapasitas untuk Instans Terkelola Lambda ](lambda-managed-instances-capacity-providers.md)
+ Memahami [ penskalaan untuk Instans Terkelola Lambda ](lambda-managed-instances-scaling.md)
+ Tinjau panduan khusus runtime untuk [ Java](lambda-managed-instances-java-runtime.md), [ Node.js](lambda-managed-instances-nodejs-runtime.md), dan Python [Runtime Python untuk Instans Terkelola Lambda](lambda-managed-instances-python-runtime.md)
+ Memantau Instans Terkelola Lambda dengan metrik [ CloudWatch ](lambda-managed-instances-monitoring.md)
+ Tinjau praktik [ terbaik untuk Instans Terkelola Lambda ](lambda-managed-instances-best-practices.md)