Fournisseurs de capacité - 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.

Fournisseurs de capacité

Un fournisseur de capacité est la base de l'exécution des instances gérées Lambda. Il sert de limite de sécurité pour vos fonctions et définit les ressources de calcul que Lambda fournira et gérera en votre nom.

Lorsque vous créez un fournisseur de capacité, vous spécifiez :

  • Configuration VPC : sous-réseaux et groupes de sécurité sur lesquels les instances seront exécutées

  • Autorisations : rôles IAM permettant à Lambda de gérer les ressources EC2

  • Exigences relatives à l'instance (facultatif) : préférences en matière d'architecture et de type d'instance

  • Configuration de dimensionnement (facultatif) - Comment Lambda fait évoluer vos instances

Comprendre les fournisseurs de capacité comme une limite de sécurité

Les fournisseurs de capacité servent de limite de sécurité pour les fonctions Lambda au sein de votre VPC, remplaçant ainsi l'isolation basée sur FireCracker. Les fonctions s'exécutent dans des conteneurs au sein des instances, mais les conteneurs ne fournissent pas une isolation de sécurité solide entre les fonctions, contrairement à Firecracker micro. VMs

Concepts de sécurité clés :

  • Fournisseur de capacité : limite de sécurité qui définit les niveaux de confiance pour les fonctions Lambda

  • Isolation des conteneurs : les conteneurs ne sont PAS un fournisseur de sécurité. Ne comptez pas sur eux pour assurer la sécurité entre des charges de travail non fiables

  • Séparation de confiance : Séparez les charges de travail qui ne sont pas mutuellement fiables en utilisant différents fournisseurs de capacité

Création d'un fournisseur de capacité

Vous pouvez créer un fournisseur de capacité à l'aide de la AWS CLI, AWS de la console de gestion ou AWS SDKs.

À l'aide de la AWS CLI :

aws lambda create-capacity-provider \ --capacity-provider-name my-capacity-provider \ --vpc-config SubnetIds=subnet-12345,subnet-67890,subnet-11111,SecurityGroupIds=sg-12345 \ --permissions-config CapacityProviderOperatorRoleArn=arn:aws:iam::123456789012:role/MyOperatorRole \ --instance-requirements Architectures=x86_64 \ --capacity-provider-scaling-config ScalingMode=Auto

Paramètres requis

CapacityProviderName

  • Un nom unique pour votre fournisseur de capacité

  • Doit être unique au sein de votre AWS compte

VpcConfig

  • SubnetIds(obligatoire) : Au moins un sous-réseau, 16 au maximum. Utilisez des sous-réseaux répartis sur plusieurs zones de disponibilité pour renforcer la résilience

  • SecurityGroupIds(facultatif) : groupes de sécurité pour vos instances. Par défaut, c'est le groupe de sécurité par défaut du VPC s'il n'est pas spécifié

PermissionsConfig

  • CapacityProviderOperatorRoleArn(obligatoire) : rôle IAM qui permet à Lambda de EC2 gérer les ressources de votre fournisseur de capacités

Paramètres facultatifs

InstanceRequirements

Spécifiez l'architecture et les types d'instances de votre fournisseur de capacité :

  • Architectures : Choisissez x86_64 ouarm64. La valeur par défaut est x86_64

  • AllowedInstanceTypes: Spécifiez les types d'instances autorisés. Exemple : m5.8xlarge

  • ExcludedInstanceTypes: Spécifiez les types d'instances exclus à l'aide de caractères génériques. Vous ne pouvez spécifier qu'un AllowedInstanceTypes ou ExcludedInstanceTypes

Par défaut, Lambda choisit les types d'instances les mieux adaptés à votre charge de travail. Nous vous recommandons de laisser les instances gérées Lambda choisir les types d'instances à votre place, car la restriction du nombre de types d'instances possibles peut entraîner une baisse de disponibilité.

CapacityProviderScalingConfig

Configurez la manière dont Lambda fait évoluer vos instances :

  • ScalingMode: Réglez sur Auto pour une mise à l'échelle automatique ou Manual pour un contrôle manuel. La valeur par défaut est Auto

  • VCpuNombre maximum : nombre maximal de v CPUs pour le fournisseur de capacité. La valeur par défaut est 400.

  • ScalingPolicies: Définissez des politiques de dimensionnement du suivi des cibles pour l'utilisation du processeur et de la mémoire

KmsKeyArn

Spécifiez une AWS KMS clé pour le chiffrement EBS. La valeur par défaut est la clé AWS gérée si elle n'est pas spécifiée.

Balises

Ajoutez des balises pour organiser et gérer vos fournisseurs de capacités.

Gestion des fournisseurs de capacités

Mise à jour d’un fournisseur de capacité

Vous pouvez mettre à jour certaines propriétés d'un fournisseur de capacité à l'aide de l'UpdateCapacityProviderAPI.

aws lambda update-capacity-provider \ --capacity-provider-name my-capacity-provider \ --capacity-provider-scaling-config ScalingMode=Auto

Suppression d’un fournisseur de capacité

Vous pouvez supprimer un fournisseur de capacité lorsqu'il n'est plus nécessaire à l'aide de l'DeleteCapacityProviderAPI.

aws lambda delete-capacity-provider \ --capacity-provider-name my-capacity-provider

Remarque : vous ne pouvez pas supprimer un fournisseur de capacité auquel des versions de fonctions sont associées.

Afficher les détails du fournisseur de capacité

Récupérez des informations sur un fournisseur de capacité à l'aide de l'GetCapacityProviderAPI.

aws lambda get-capacity-provider \ --capacity-provider-name my-capacity-provider

États fournisseurs de capacités

Un fournisseur de capacité peut se trouver dans l'un des états suivants :

  • En attente : le fournisseur de capacité est en cours de création

  • Actif : le fournisseur de capacité est prêt à être utilisé

  • Échec : échec de la création du fournisseur de capacité

  • Suppression : le fournisseur de capacité est en cours de suppression

Quotas

  • Capacité maximale de fournisseurs par compte : 1 000

  • Nombre maximum de versions de fonctions par fournisseur de capacité : 100 (ne peut pas être augmenté)

Bonnes pratiques

  1. Séparation par niveau de confiance : créez différents fournisseurs de capacité pour les charges de travail ayant des exigences de sécurité différentes

  2. Utilisez des noms descriptifs : nommez les fournisseurs de capacité pour indiquer clairement leur utilisation prévue et leur niveau de confiance (par exempleproduction-trusted,dev-sandbox)

  3. Utiliser plusieurs zones de disponibilité : Spécifiez des sous-réseaux sur plusieurs AZs pour une haute disponibilité

  4. Laissez Lambda choisir les types d'instances : sauf si vous avez des exigences matérielles spécifiques, permettez à Lambda de sélectionner les meilleurs types d'instances pour une disponibilité optimale

  5. Surveiller l'utilisation : AWS CloudTrail à utiliser pour surveiller les attributions des fournisseurs de capacité et les modèles d'accès

Étapes suivantes