Déboguer à distance des fonctions Lambda avec Visual Studio Code - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déboguer à distance des fonctions Lambda avec Visual Studio Code

Grâce à la fonction de débogage à distance intégrée au AWS Toolkit for Visual Studio Code, vous pouvez déboguer vos fonctions Lambda exécutées directement dans le cloud. AWS Cela est utile lorsque vous étudiez des problèmes difficiles à reproduire localement ou à diagnostiquer uniquement à l'aide de journaux.

Grâce au débogage à distance, vous pouvez :

  • Définissez des points d'arrêt dans le code de votre fonction Lambda.

  • Exécutez le code étape par étape en temps réel.

  • Inspectez les variables et leur état pendant l'exécution.

  • Déboguez les fonctions Lambda déployées sur, y compris celles VPCs dotées AWS d'autorisations IAM spécifiques ou dotées de ces autorisations.

Environnements d'exécution pris en charge

Le débogage à distance est pris en charge pour les environnements d'exécution suivants :

  • Python (AL2023)

  • Java

  • JavaScript/Node.js (AL2023)

Note

Le débogage à distance est pris en charge pour les architectures x86_64 et arm64.

Sécurité et débogage à distance

Le débogage à distance fonctionne dans les limites de sécurité Lambda existantes. Les utilisateurs peuvent associer des couches à une fonction à l'aide de l'UpdateFunctionConfigurationautorisation, qui permet déjà d'accéder aux variables d'environnement et à la configuration de la fonction. Le débogage à distance ne s'étend pas au-delà de ces autorisations existantes. Au lieu de cela, il ajoute des contrôles de sécurité supplémentaires grâce à un tunneling sécurisé et à une gestion automatique des sessions. En outre, le débogage à distance est une fonctionnalité entièrement contrôlée par le client qui nécessite des autorisations et des actions explicites :

  • Création d'un tunnel sécurisé IoT : le AWS kit d'outils doit créer un tunnel sécurisé IoT, ce qui n'est possible qu'avec l'autorisation explicite de l'utilisateuriot:OpenTunnel.

  • Attachement de la couche de débogage et gestion des jetons : le processus de débogage assure la sécurité grâce aux contrôles suivants :

    • La couche de débogage doit être attachée à la fonction Lambda et ce processus nécessite les autorisations lambda:UpdateFunctionConfiguration suivantes : et. lambda:GetLayerVersion

    • Un jeton de sécurité (généré viaiot:OpenTunnel) doit être mis à jour dans la variable d'environnement de la fonction avant chaque session de débogage, ce qui nécessite lambda:UpdateFunctionConfiguration également.

    • Pour des raisons de sécurité, ce jeton est automatiquement pivoté et la couche de débogage est automatiquement supprimée à la fin de chaque session de débogage et ne peut pas être réutilisée.

Note

Le débogage à distance est pris en charge pour les architectures x86_64 et arm64.

Prérequis

Avant de commencer le débogage à distance, assurez-vous que vous disposez des éléments suivants :

  1. Une fonction Lambda déployée sur votre AWS compte.

  2. AWS Toolkit for Visual Studio Code. Reportez-vous à la section Configuration du AWS Toolkit for Visual Studio Code pour les instructions d'installation.

  3. La version du AWS Toolkit que vous avez installée est 3.69.0 ou ultérieure.

  4. AWS informations d'identification configurées dans AWS Toolkit for Visual Studio Code. Pour de plus amples informations, veuillez consulter Authentification et contrôle d’accès.

Déboguer à distance les fonctions Lambda

Pour démarrer une session de débogage à distance, procédez comme suit :

  1. Ouvrez l' AWS explorateur dans VS Code en sélectionnant l' AWS icône dans la barre latérale gauche.

  2. Développez la section Lambda pour voir vos fonctions.

  3. Cliquez avec le bouton droit sur la fonction que vous souhaitez déboguer.

  4. Dans le menu contextuel, sélectionnez Invoquer à distance.

  5. Dans la fenêtre d'appel qui s'ouvre, cochez la case Activer le débogage.

  6. Cliquez sur Invoke pour démarrer la session de débogage à distance.

Note

Les fonctions Lambda ont une limite combinée de 250 Mo pour le code de fonction et toutes les couches associées. La couche de débogage à distance ajoute environ 40 Mo à la taille de votre fonction.

Une session de débogage à distance se termine lorsque vous :

  • Choisissez Supprimer la configuration de débogage sur l'écran de configuration de l'appel à distance.

  • Sélectionnez l'icône de déconnexion dans les commandes de débogage de VS Code.

  • Sélectionnez le fichier de gestionnaire dans l'éditeur VS Code.

Note

La couche de débogage est automatiquement supprimée après 60 secondes d'inactivité après votre dernier appel.

Désactiver le débogage à distance

Vous pouvez désactiver cette fonctionnalité de trois manières :

  • Refuser les mises à jour des fonctions : défini lambda:UpdateFunctionConfiguration surdeny.

  • Restreindre les autorisations liées à l'IoT : refuser les autorisations liées à l'IoT

  • Bloquer les couches de débogage : refuser lambda:GetLayerVersion pour les éléments suivants ARNs :

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

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

    Note

    La désactivation de cette fonctionnalité empêche l'ajout de la couche de débogage lors des mises à jour de configuration des fonctions.

Pour plus d'informations sur l'utilisation de Lambda dans VS Code, reportez-vous à la section Développement de fonctions Lambda localement avec VS Code.

Pour obtenir des instructions détaillées sur le dépannage, les cas d'utilisation avancés et la disponibilité régionale, consultez la section Débogage à distance des fonctions Lambda dans AWS Toolkit for Visual Studio Code le guide de l'utilisateur.