View a markdown version of this page

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é constitue la base de l'exécution des instances gérées Lambda. Il constitue la limite de sécurité pour vos fonctions d'événements Lambda et définit les ressources de calcul que Lambda provisionne et gère en votre nom.

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

  • Configuration du VPC - Les sous-réseaux et les groupes de sécurité sur lesquels les instances s'exécutent

  • Autorisations - Rôles IAM permettant à Lambda de gérer les ressources EC2

  • Exigences relatives à l'instance (facultatif) - Architecture et type d'instance préférences

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

Comprendre les fournisseurs de capacités en tant que limite de sécurité

Les fournisseurs de capacité constituent la limite de sécurité pour les fonctions Lambda au sein de votre VPC, remplaçant Firecracker-based isolement. 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 aux Firecracker MicroVMS.

Concepts de sécurité clés :

  • Fournisseur de capacité : La 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 vous y fiez pas pour 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 du AWS CLI, AWS Console de gestion, ou AWS SDK.

En utilisant 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, maximum de 16. Utilisez des sous-réseaux dans plusieurs zones de disponibilité pour garantir la résilience

  • SecurityGroupIds (facultatif) : groupes de sécurité pour vos instances. Par défaut, 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 gérer les ressources EC2 dans votre fournisseur de capacité

Paramètres facultatifs

InstanceRequirements

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

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

  • AllowedInstanceTypes: Spécifiez les types d'instances autorisés ou des familles d'instances complètes. Vous pouvez utiliser un caractère générique (*) pour correspondre à la taille des instances au sein d'une famille de types d'instances spécifique. Le caractère générique s'applique uniquement à la partie taille (après le point). Par exemple :

    • m5.8xlarge — Correspond au type d'instance exact

    • c6i.* — Correspond à toutes les tailles du C6i famille (c6i.xlarge, c6i.2xlarge, c6i.4xlarge, et ainsi de suite)

    Les caractères génériques sur les familles ou les générations d'instances ne sont pas pris en charge. Par exemple, c5*.*, r*, et *3* ne sont pas des modèles valides pour les instances gérées Lambda.

  • ExcludedInstanceTypes: Spécifiez les types d'instances à exclure, en utilisant le même format que AllowedInstanceTypes. Vous ne pouvez spécifier qu'un seul des AllowedInstanceTypes ou ExcludedInstanceTypes.

Par défaut, Lambda choisit les types d'instance optimaux pour votre charge de travail. Nous vous recommandons de laisser les instances gérées Lambda choisir les types d'instance pour vous, 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 le contrôle manuel. La valeur par défaut est Auto

  • MaxVCpuCount: nombre maximum de vCPU 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 un AWS KMS clé pour le cryptage EBS. La valeur par défaut est AWS clé gérée si elle n'est pas spécifiée.

Balises

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

PropagateTags

Configurez la propagation des balises pour appliquer automatiquement des balises aux ressources gérées (instances Amazon EC2, volumes Amazon EBS et ENI) lancées par le fournisseur de capacité. Utilisez la propagation des balises pour appliquer la répartition des coûts, les SCP et les exigences de conformité. Pour plus d'informations, voir Propagation des balises.

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 du UpdateCapacityProvider API.

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 du DeleteCapacityProvider API.

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

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

Affichage des informations sur le fournisseur de capacité

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

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és est en cours de création

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

  • Échoué: é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 maximal de versions de fonctions par fournisseur de capacité: 100 (ne peut pas être augmenté)

Bonnes pratiques

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

  2. Utiliser des noms descriptifs: Nommez les fournisseurs de capacités pour indiquer clairement leur utilisation prévue et leur niveau de confiance (par exemple, production-trusted, dev-sandbox).

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

  4. Laissez Lambda choisir les types d'instances: sauf si vous avez des exigences matérielles spécifiques, autorisez Lambda à sélectionner les types d'instance optimaux en termes de disponibilité

  5. Utilisation du moniteur: Utilisation AWS CloudTrail pour surveiller les affectations et les modèles d'accès des fournisseurs de capacité

Étapes suivantes