

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

# Debug fungsi Lambda dari jarak jauh dengan Visual Studio Code
<a name="debugging"></a>

Dengan fitur debugging jarak jauh di [AWS Toolkit for Visual Studio Code](https://aws.amazon.com/visualstudiocode/), Anda dapat men-debug fungsi Lambda yang berjalan langsung di cloud. AWS Ini berguna saat menyelidiki masalah yang sulit direplikasi secara lokal atau didiagnosis hanya dengan log.

Dengan debugging jarak jauh, Anda dapat:
+ Tetapkan breakpoint dalam kode fungsi Lambda Anda.
+ Melangkah melalui eksekusi kode secara real-time.
+ Periksa variabel dan status selama runtime.
+ Debug fungsi Lambda yang digunakan AWS, termasuk yang ada VPCs di atau dengan izin IAM tertentu.

## Waktu aktif yang didukung
<a name="debugging-runtimes"></a>

Debugging jarak jauh didukung untuk runtime berikut:
+ Python (023) AL2
+ Java
+ JavaScript/Node.js (AL2023)

**catatan**  
Debugging jarak jauh didukung untuk arsitektur x86\$164 dan arm64.

## Keamanan dan debugging jarak jauh
<a name="debugging-security"></a>

Debugging jarak jauh beroperasi dalam batas keamanan Lambda yang ada. Pengguna dapat melampirkan lapisan ke fungsi menggunakan `UpdateFunctionConfiguration` izin, yang sudah memiliki kemampuan untuk mengakses variabel dan konfigurasi lingkungan fungsi. Debugging jarak jauh tidak melampaui izin yang ada ini. Sebaliknya, ia menambahkan kontrol keamanan ekstra melalui tunneling aman dan manajemen sesi otomatis. Selain itu, debugging jarak jauh sepenuhnya merupakan fitur yang dikendalikan pelanggan yang memerlukan izin dan tindakan eksplisit:
+ **Pembuatan Terowongan Aman IoT**: AWS Toolkit harus membuat terowongan aman IoT, yang hanya terjadi dengan izin eksplisit pengguna menggunakan. `iot:OpenTunnel`
+ **Debug Layer Attachment dan Token Management**: Proses debugging menjaga keamanan melalui kontrol ini:
  + Lapisan debugging harus dilampirkan ke fungsi Lambda dan proses ini memerlukan izin `lambda:UpdateFunctionConfiguration` berikut: dan. `lambda:GetLayerVersion`
  + Token keamanan (dihasilkan melalui`iot:OpenTunnel`) harus diperbarui dalam variabel lingkungan fungsi sebelum setiap sesi debug, yang juga membutuhkan`lambda:UpdateFunctionConfiguration`.
  + Untuk keamanan, token ini secara otomatis diputar dan lapisan debug secara otomatis dihapus pada akhir setiap sesi debug dan tidak dapat digunakan kembali.

**catatan**  
Debugging jarak jauh didukung untuk arsitektur x86\$164 dan arm64.

## Prasyarat
<a name="debugging-prerequisites"></a>

Sebelum Anda memulai debugging jarak jauh, pastikan Anda memiliki yang berikut:

1. Fungsi Lambda diterapkan ke akun Anda. AWS 

1. AWS Toolkit for Visual Studio Code. Lihat [Menyiapkan AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-toolkit.html) petunjuk penginstalan.

1. Versi AWS Toolkit yang telah Anda instal adalah **3.69.0** atau yang lebih baru.

1. AWS kredensional dikonfigurasi di. AWS Toolkit for Visual Studio Code Untuk informasi selengkapnya, lihat [Kontrol autentikasi dan akses](foundation-iac-local-development.md#lambda-functions-vscode-authentication-and-access-control).

## Debug fungsi Lambda dari jarak jauh
<a name="debugging-procedure"></a>

Ikuti langkah-langkah ini untuk memulai sesi debugging jarak jauh:

1. Buka AWS Explorer di VS Code dengan memilih AWS ikon di sidebar kiri.

1. Perluas bagian Lambda untuk melihat fungsi Anda.

1. Klik kanan pada fungsi yang ingin Anda debug.

1. Dari menu konteks, pilih **Memanggil dari jarak jauh**.

1. Di jendela pemanggilan yang terbuka, centang kotak untuk **Aktifkan debugging**.

1. Klik **Memanggil untuk** memulai sesi debugging jarak jauh.

**catatan**  
Fungsi Lambda memiliki batas gabungan 250MB untuk kode fungsi dan semua lapisan terlampir. Lapisan debugging jarak jauh menambahkan sekitar 40MB ke ukuran fungsi Anda.

Sesi debugging jarak jauh berakhir saat Anda:
+ Pilih **Hapus Pengaturan Debug** dari layar konfigurasi panggilan jarak jauh.
+ Pilih ikon putuskan sambungan di kontrol debugging VS Code.
+ Pilih file handler di editor VS Code.

**catatan**  
Lapisan debug secara otomatis dihapus setelah 60 detik tidak aktif setelah pemanggilan terakhir Anda.

## Nonaktifkan debugging jarak jauh
<a name="debugging-disable"></a>

Ada tiga cara untuk menonaktifkan fitur ini:
+ **Tolak Pembaruan Fungsi**: Setel `lambda:UpdateFunctionConfiguration` ke`deny`.
+ **Batasi Izin IoT: Tolak izin terkait IoT**
+ **Blokir Lapisan Debug**: Tolak `lambda:GetLayerVersion` untuk hal berikut ARNs:
  + `arn:aws:lambda:*:*:layer:LDKLayerX86:*`
  + `arn:aws:lambda:*:*:layer:LDKLayerArm64:*`
**catatan**  
Menonaktifkan fitur ini mencegah lapisan debugging ditambahkan selama pembaruan konfigurasi fungsi.

## Informasi tambahan
<a name="debugging-related-info"></a>

Untuk informasi lebih lanjut tentang penggunaan Lambda di VS Code, lihat Mengembangkan [fungsi Lambda secara lokal](foundation-iac-local-development.md) dengan VS Code.

Untuk petunjuk mendetail tentang pemecahan masalah, kasus penggunaan lanjutan, dan ketersediaan wilayah, lihat Fungsi [Lambda debugging jarak jauh](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/lambda-remote-debug.html) di Panduan Pengguna. AWS Toolkit for Visual Studio Code 