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
-
Architectures : Choisissez
x86_64ouarm64. La valeur par défaut estx86_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
Autopour une mise à l'échelle automatique ouManualpour un contrôle manuel. La valeur par défaut estAuto -
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
-
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
-
Utilisez des noms descriptifs : nommez les fournisseurs de capacité pour indiquer clairement leur utilisation prévue et leur niveau de confiance (par exemple
production-trusted,dev-sandbox) -
Utiliser plusieurs zones de disponibilité : Spécifiez des sous-réseaux sur plusieurs AZs pour une haute disponibilité
-
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
-
Surveiller l'utilisation : AWS CloudTrail à utiliser pour surveiller les attributions des fournisseurs de capacité et les modèles d'accès