Debug fungsi Lambda dari jarak jauh dengan Visual Studio Code - AWS Lambda

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

Dengan fitur debugging jarak jauh di AWS Toolkit for Visual Studio Code, 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

Debugging jarak jauh didukung untuk runtime berikut:

  • Python (023) AL2

  • Java

  • JavaScript/Node.js (AL2023)

catatan

Debugging jarak jauh didukung untuk arsitektur x86_64 dan arm64.

Keamanan dan debugging jarak jauh

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 melaluiiot:OpenTunnel) harus diperbarui dalam variabel lingkungan fungsi sebelum setiap sesi debug, yang juga membutuhkanlambda: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_64 dan arm64.

Prasyarat

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

  1. Fungsi Lambda diterapkan ke akun Anda. AWS

  2. AWS Toolkit for Visual Studio Code. Lihat Menyiapkan AWS Toolkit for Visual Studio Code petunjuk penginstalan.

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

  4. AWS kredensional dikonfigurasi di. AWS Toolkit for Visual Studio Code Untuk informasi selengkapnya, lihat Kontrol autentikasi dan akses.

Debug fungsi Lambda dari jarak jauh

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

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

  2. Perluas bagian Lambda untuk melihat fungsi Anda.

  3. Klik kanan pada fungsi yang ingin Anda debug.

  4. Dari menu konteks, pilih Memanggil dari jarak jauh.

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

  6. 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

Ada tiga cara untuk menonaktifkan fitur ini:

  • Tolak Pembaruan Fungsi: Setel lambda:UpdateFunctionConfiguration kedeny.

  • 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.

Untuk informasi lebih lanjut tentang penggunaan Lambda di VS Code, lihat Mengembangkan fungsi Lambda secara lokal dengan VS Code.

Untuk petunjuk mendetail tentang pemecahan masalah, kasus penggunaan lanjutan, dan ketersediaan wilayah, lihat Fungsi Lambda debugging jarak jauh di Panduan Pengguna. AWS Toolkit for Visual Studio Code