Esegui il debug remoto delle funzioni Lambda con Visual Studio Code - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui il debug remoto delle funzioni Lambda con Visual Studio Code

Con la funzionalità di debug remoto di AWS Toolkit for Visual Studio Code, puoi eseguire il debug delle funzioni Lambda in esecuzione direttamente nel cloud. AWS Ciò è utile quando si esaminano problemi difficili da replicare localmente o da diagnosticare solo con i log.

Con il debug remoto, puoi:

  • Imposta i punti di interruzione nel codice della funzione Lambda.

  • Esegui l'esecuzione del codice in tempo reale.

  • Ispeziona le variabili e lo stato durante l'esecuzione.

  • Funzioni di debug Lambda distribuite su AWS, incluse quelle VPCs in o con autorizzazioni IAM specifiche.

Runtime supportati

Il debug remoto è supportato per i seguenti runtime:

  • Python (023) AL2

  • Java

  • JavaScript/Node.js (023) AL2

Nota

Il debug remoto è supportato per entrambe le architetture x86_64 e arm64.

Sicurezza e debug remoto

Il debug remoto opera entro i limiti di sicurezza Lambda esistenti. Gli utenti possono collegare livelli a una funzione utilizzando l'UpdateFunctionConfigurationautorizzazione, che ha già la possibilità di accedere alle variabili di ambiente e alla configurazione della funzione. Il debug remoto non va oltre queste autorizzazioni esistenti. Aggiunge invece controlli di sicurezza aggiuntivi attraverso il tunneling sicuro e la gestione automatica delle sessioni. Inoltre, il debug remoto è interamente una funzionalità controllata dal cliente che richiede autorizzazioni e azioni esplicite:

  • Creazione di tunnel IoT sicuri: il AWS Toolkit deve creare un tunnel sicuro IoT, che si verifica solo con l'autorizzazione esplicita dell'utente. iot:OpenTunnel

  • Gestione degli allegati e dei token del livello di debug: il processo di debug mantiene la sicurezza attraverso questi controlli:

    • Il livello di debug deve essere collegato alla funzione Lambda e questo processo richiede le seguenti autorizzazioni: e. lambda:UpdateFunctionConfiguration lambda:GetLayerVersion

    • Un token di sicurezza (generato tramiteiot:OpenTunnel) deve essere aggiornato nella variabile di ambiente della funzione prima di ogni sessione di debug, il che richiede anch'esso. lambda:UpdateFunctionConfiguration

    • Per motivi di sicurezza, questo token viene ruotato automaticamente e il livello di debug viene rimosso automaticamente alla fine di ogni sessione di debug e non può essere riutilizzato.

Nota

Il debug remoto è supportato per entrambe le architetture x86_64 e arm64.

Prerequisiti

Prima di iniziare il debug remoto, assicurati di disporre di quanto segue:

  1. Una funzione Lambda distribuita sul tuo account. AWS

  2. AWS Toolkit for Visual Studio Code. Vedi Configurazione AWS Toolkit for Visual Studio Code per le istruzioni di installazione.

  3. La versione del AWS Toolkit che hai installato è la 3.69.0 o successiva.

  4. AWS credenziali configurate in. AWS Toolkit for Visual Studio Code Per ulteriori informazioni, consulta Autenticazione e controllo degli accessi.

Eseguire il debug in remoto delle funzioni Lambda

Segui questi passaggi per avviare una sessione di debug remota:

  1. Apri AWS Explorer in VS Code selezionando l' AWS icona nella barra laterale sinistra.

  2. Espandi la sezione Lambda per vedere le tue funzioni.

  3. Fai clic con il pulsante destro del mouse sulla funzione di cui desideri eseguire il debug.

  4. Dal menu contestuale, seleziona Richiama da remoto.

  5. Nella finestra di richiamo che si apre, seleziona la casella Abilita il debug.

  6. Fai clic su Invoke per avviare la sessione di debug remota.

Nota

Le funzioni Lambda hanno un limite combinato di 250 MB per il codice funzione e tutti i livelli collegati. Il livello di debug remoto aggiunge circa 40 MB alle dimensioni della funzione.

Una sessione di debug remota termina quando:

  • Scegli Remove Debug Setup dalla schermata di configurazione Remote Invoke.

  • Seleziona l'icona di disconnessione nei controlli di debug di VS Code.

  • Seleziona il file del gestore nell'editor VS Code.

Nota

Il livello di debug viene rimosso automaticamente dopo 60 secondi di inattività dopo l'ultima chiamata.

Disabilita il debug remoto

Esistono tre modi per disabilitare questa funzionalità:

  • Nega aggiornamenti delle funzioni: imposta sulambda:UpdateFunctionConfiguration. deny

  • Limita le autorizzazioni IoT: nega le autorizzazioni relative all'IoT

  • Blocca livelli di debug: nega per quanto segue: lambda:GetLayerVersion ARNs

    • arn:aws:lambda:*:*:layer:LDKLayerX86:*

    • arn:aws:lambda:*:*:layer:LDKLayerArm64:*

    Nota

    La disabilitazione di questa funzionalità impedisce l'aggiunta del livello di debug durante gli aggiornamenti della configurazione delle funzioni.

Per ulteriori informazioni sull'utilizzo di Lambda in VS Code, consulta Sviluppo locale di funzioni Lambda con VS Code.

Per istruzioni dettagliate sulla risoluzione dei problemi, sui casi d'uso avanzati e sulla disponibilità delle regioni, consulta il debug remoto delle funzioni Lambda nella Guida per l'utente. AWS Toolkit for Visual Studio Code