Sélection et configuration d'une architecture de jeu d'instructions pour votre fonction Lambda - 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.

Sélection et configuration d'une architecture de jeu d'instructions pour votre fonction Lambda

L'architecture de l'ensemble des instructions d'une fonction Lambda détermine le type de processeur d'ordinateur que Lambda utilise pour exécuter la fonction. Lambda permet de choisir parmi plusieurs architectures de l'ensemble des instructions :

  • arm64 — ARM architecture 64 bits, pour le processeur AWS Graviton2.

  • x86_64 : architecture 64 bits x86, pour les processeurs x86.

Note

L'architecture arm64 est disponible dans la plupart des Régions AWS cas. Pour plus d'informations, consultez AWS Lambda Pricing (Tarification CTlong). Dans le tableau des prix de la mémoire, choisissez l'onglet Arm Price, puis ouvrez la liste déroulante des régions pour voir qui Régions AWS prend en charge arm64 avec Lambda.

Pour un exemple de création d'une fonction avec l'architecture arm64, voir AWS Lambda Fonctions alimentées par le processeur AWS Graviton2.

Avantages liés à l'utilisation de l'architecture arm64

Les fonctions Lambda qui utilisent l'architecture arm64 (processeur AWS Graviton2) peuvent atteindre un prix et des performances nettement supérieurs à ceux des fonctions équivalentes exécutées sur l'architecture x86_64. Envisagez d'utiliser arm64 pour les applications de calcul intensif telles que le calcul haute performance, le codage vidéo et les applications de simulation.

Le Graviton2 CPU utilise le noyau Neoverse N1 et supporte Armv8.2 (y compris les extensions cryptographiques) CRC ainsi que plusieurs autres extensions architecturales.

Graviton2 réduit le temps de lecture de la mémoire en fournissant un cache L2 plus important par vCPU, ce qui améliore les performances de latence des backends Web et mobiles, des microservices et des systèmes de traitement de données. Graviton2 fournit également des performances de chiffrement améliorées et prend en charge des ensembles d'instructions qui améliorent la latence des inférences CPU basées sur l'apprentissage automatique.

Pour plus d'informations sur AWS Graviton2, consultez la section Processeur AWS Graviton.

Exigences pour la migration vers l'architecture arm64

Lorsque vous sélectionnez une fonction Lambda à migrer vers l'architecture arm64, pour que la migration soit fluide, assurez-vous que la fonction répond aux exigences suivantes :

  • Le package de déploiement ne contient que des composants open source et le code source que vous contrôlez, ce qui vous permet d'effectuer les mises à jour nécessaires à la migration.

  • Si le code de la fonction inclut des dépendances tierces, chaque bibliothèque ou package fournit une version arm64.

Compatibilité des codes de fonction avec l'architecture arm64

Le code de la fonction Lambda doit être compatible avec l'architecture de l'ensemble des instructions de la fonction. Avant de migrer une fonction vers l'architecture arm64, veuillez noter les points suivants concernant le code de fonction actuel :

  • Si vous avez ajouté le code de la fonction à l'aide de l'éditeur de code intégré, le code s'exécute probablement sur l'une des architectures sans modification.

  • Si vous avez chargé le code de la fonction, vous devez charger un nouveau code compatible avec l'architecture cible.

  • Si la fonction utilise des couches, vous devez vérifier chaque couche afin de vous assurer qu'elle est compatible avec la nouvelle architecture. Si une couche n'est pas compatible, modifiez la fonction, afin de remplacer la version actuelle de la couche par une version de couche compatible.

  • Si la fonction utilise des extensions Lambda, vous devez vérifier chaque extension, afin de vous assurer de sa compatibilité avec la nouvelle architecture.

  • Si votre fonction utilise un type de package de déploiement de l'image de conteneur, vous devez créer une nouvelle image de conteneur compatible avec l'architecture de la fonction.

Comment migrer vers l'architecture arm64

Pour migrer une fonction Lambda vers l'architecture arm64, nous recommandons de procéder comme suit :

  1. Créez la liste des dépendances de l'application ou de la charge de travail. Les dépendances courantes comprennent :

    • Toutes les bibliothèques et les packages utilisés par la fonction.

    • Les outils que vous utilisez pour créer, déployer et tester la fonction, tels que les compilateurs, les suites de tests, les pipelines d'intégration continue et de livraison continue (CI/CD), les outils d'approvisionnement et les scripts.

    • Les extensions Lambda et les outils tiers que vous utilisez pour contrôler la fonction en production.

  2. Pour chacune des dépendances, vérifiez la version, puis vérifiez si les versions arm64 sont disponibles.

  3. Créez un environnement pour migrer l'application.

  4. Amorcez l'application.

  5. Testez et déboguez l'application.

  6. Testez la performance de la fonction arm64. Comparez la performance avec celle de la version x86_64.

  7. Mettez à jour le pipeline d'infrastructure pour prendre en charge les fonctions Lambda arm64.

  8. Établissez le déploiement vers la production.

    Par exemple, utilisez la configuration du routage d'alias pour fractionner le trafic entre les versions x86 et arm64 de la fonction et comparez les performances et la latence.

Pour plus d'informations sur la création d'un environnement de code pour l'architecture arm64, y compris des informations spécifiques au langage pour Java, Go,. NET, et Python, consultez le GitHub référentiel Getting started with AWS Graviton.

Configuration de l'architecture de l'ensemble des instructions

Vous pouvez configurer l'architecture du jeu d'instructions pour les fonctions Lambda nouvelles et existantes à l'aide de la console Lambda, AWS SDKs, AWS Command Line Interface ()AWS CLI ou. AWS CloudFormation Procédez comme suit pour modifier l'architecture de l'ensemble des instructions d'une fonction Lambda existante à partir de la console.

  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Choisissez le nom de la fonction pour laquelle vous voulez configurer l'architecture de l'ensemble des instructions.

  3. Dans l'onglet principal Code, pour la section Paramètres d'exécution, choisissez Modifier.

  4. Sous Architecture, choisissez l'architecture de l'ensemble des instructions que votre fonction doit utiliser.

  5. Choisissez Save (Enregistrer).