Gestion des quotas de service Amazon ECS et des seuils de limitation d’API - Amazon Elastic Container Service

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.

Gestion des quotas de service Amazon ECS et des seuils de limitation d’API

Amazon ECS est intégré à plusieurs d' Services AWS entre eux, notamment ELB et Amazon EC2. AWS Cloud Map Grâce à cette intégration fine, Amazon ECS inclut plusieurs fonctionnalités telles que l’équilibrage de charge des services, Service Connect, la mise en réseau des tâches et l’autoscaling de cluster. Amazon ECS et les autres Services AWS qu’il intègre à tous les systèmes maintiennent les quotas de service et les limites de débit des API afin de garantir des performances et une utilisation cohérentes. Ces quotas de service empêchent également l’allocation accidentelle de ressources supérieures à celles nécessaires et protègent contre les actions malveillantes susceptibles d’augmenter votre facture.

En vous familiarisant avec vos quotas de service et les limites de débit des AWS API, vous pouvez planifier le dimensionnement de vos charges de travail sans vous soucier d'une dégradation inattendue des performances. Pour plus d’informations, consultez la section Limitation des requêtes pour l’API Amazon ECS.

Lors de la mise à l’échelle de vos charges de travail sur Amazon ECS, nous vous recommandons de prendre en compte le quota de service suivant.

  • AWS Fargate possède des quotas qui limitent le nombre de tâches exécutées simultanément dans chacune d'elles Région AWS. Il existe des quotas pour les tâches à la demande et Fargate Spot sur Amazon ECS. Chaque quota de service inclut également tous les pods Amazon EKS que vous utilisez sur Fargate.

  • Pour les tâches exécutées sur des EC2 instances Amazon, le nombre maximum d' EC2 instances Amazon que vous pouvez enregistrer pour chaque cluster est de 5 000. Si vous utilisez le dimensionnement automatique du cluster Amazon ECS avec un fournisseur de capacité du groupe Amazon EC2 Auto Scaling, ou si vous gérez vous-même les EC2 instances Amazon de votre cluster, ce quota peut devenir un obstacle au déploiement. Si vous avez besoin de plus de capacité, vous pouvez créer d’autres clusters ou demander une augmentation de quota de service.

  • Si vous utilisez le dimensionnement automatique du cluster Amazon ECS avec un fournisseur de capacité du groupe Amazon EC2 Auto Scaling, tenez compte du Tasks in the PROVISIONING state per cluster quota lors du dimensionnement de vos services. Ce quota est le nombre maximum de tâches dans l’état PROVISIONING pour chaque cluster pour lesquelles les fournisseurs de capacité peuvent augmenter la capacité. Lorsque vous lancez un grand nombre de tâches simultanément, vous pouvez facilement atteindre ce quota. Par exemple, si vous déployez simultanément des dizaines de services, chacun comportant des centaines de tâches. Dans ce cas, le fournisseur de capacité doit lancer de nouvelles instances de conteneur pour placer les tâches lorsque la capacité du cluster est insuffisante. Pendant que le fournisseur de capacité lance des EC2 instances Amazon supplémentaires, le planificateur de services Amazon ECS continuera probablement à lancer des tâches en parallèle. Toutefois, cette activité peut être limitée en raison d’une capacité de cluster insuffisante. Le planificateur de service Amazon ECS met en œuvre une stratégie de ralentissement et de limitation exponentielle pour réessayer de placer des tâches lorsque de nouvelles instances de conteneur sont lancées. Par conséquent, les délais de déploiement ou de réduction horizontale peuvent être plus lents. Pour éviter cette situation, vous pouvez planifier vos déploiements de service selon l’une des méthodes suivantes. Déployez un grand nombre de tâches sans augmenter la capacité du cluster ou conservez une capacité de cluster inutilisée pour le lancement de nouvelles tâches.

En plus de prendre en compte le quota de service Amazon ECS lors du dimensionnement de vos charges de travail, tenez également compte du quota de service pour Services AWS les autres services intégrés à Amazon ECS.

ELB

Vous pouvez configurer vos services Amazon ECS pour utiliser ELB afin de répartir le trafic de manière uniforme entre les tâches. Pour plus d’informations et les pratiques exemplaires recommandées concernant le choix d’un équilibreur de charge, consultez la section Utiliser l'équilibrage de charge pour distribuer le trafic du service Amazon ECS.

Quotas de service ELB

Lorsque vous augmentez vos charges de travail, tenez compte des quotas de service ELB suivants. La plupart des quotas de service ELB sont ajustables et vous pouvez demander une augmentation dans la console Service Quotas.

Application Load Balancer

Lorsque vous utilisez un Application Load Balancer, selon votre cas d’utilisation, vous devrez peut-être demander une augmentation de quota pour :

  • Le quota Targets per Application Load Balancer, qui correspond au nombre de cibles derrière votre Application Load Balancer.

  • Le quota Targets per Target Group per Region, qui correspond au nombre de cibles derrière vos groupes cibles.

Pour plus d’informations, consultez la section Quotas pour vos Application Load Balancer du Guide de l’utilisateur des Application Load Balancer.

Network Load Balancer

Le nombre de cibles que vous pouvez enregistrer auprès d’un Network Load Balancer est soumis à des limites plus strictes. Lorsque vous utilisez un Network Load Balancer, vous souhaiterez souvent activer le support entre zones, ce qui implique des limites de mise à l’échelle supplémentaires sur les Targets per Availability Zone Per Network Load Balancer, qui correspond au nombre maximum de cibles par zone de disponibilité pour chaque Network Load Balancer. Pour plus d’informations, consultez la section Quotas pour vos Network Load Balancer dans le Guide de l’utilisateur pour les Network Load Balancer.

limitation d’API LEB

Lorsque vous configurez un service Amazon ECS pour utiliser un équilibreur de charge, les surveillances de l’état du groupe cible doivent réussir avant que le service ne soit considéré comme sain. Pour effectuer ces contrôles de santé, Amazon ECS invoque les opérations d'API ELB en votre nom. Si vous avez configuré un grand nombre de services avec des équilibreurs de charge dans votre compte, vous risquez de ralentir les déploiements de services en raison d'une limitation potentielle spécifique aux opérations d'API RegisterTargetDeregisterTarget, et DescribeTargetHealth ELB. En cas de limitation, des erreurs de limitation apparaissent dans les messages d’événements de votre service Amazon ECS.

Si vous êtes confronté à une limitation d' AWS Cloud Map API, vous pouvez nous contacter Support pour obtenir des conseils sur la manière d'augmenter vos limites de limitation AWS Cloud Map d'API. Pour plus d’informations sur la surveillance et la résolution de ces erreurs de limitation, consultez la section Gestion des problèmes de limitation d’Amazon ECS.

Interfaces réseau Elastic

Lorsque vos tâches utilisent le mode réseau awsvpc, Amazon ECS fournit une interface réseau Elastic (ENI) unique pour chaque tâche. Lorsque vos services Amazon ECS utilisent un équilibreur de charge ELB, ces interfaces réseau sont également enregistrées en tant que cibles pour le groupe cible approprié défini dans le service.

Quotas de service de l’interface réseau Elastic

Lorsque vous exécutez des tâches utilisant le mode réseau awsvpc, une interface réseau Elastic unique est associée à chaque tâche. Si ces tâches doivent être atteintes via Internet, attribuez une adresse IP publique à l’interface réseau Elastic pour ces tâches. Lorsque vous mettez vos charges de travail Amazon ECS à l’échelle, tenez compte de ces deux quotas importants :

  • Le Network interfaces per Region quota qui est le nombre maximum d'interfaces réseau dans et Région AWS pour votre compte.

  • Le quota Elastic IP addresses per Region, qui correspond au nombre maximum d’adresses IP élastiques dans une Région AWS.

Ces deux quotas de service sont ajustables et vous pouvez demander une augmentation depuis votre console Service Quotas pour ces derniers. Pour plus d’informations, consultez la section Quotas de service Amazon VPC dans le Guide de l’utilisateur Amazon Virtual Private Cloud.

Pour les charges de travail Amazon ECS hébergées sur des EC2 instances Amazon, lors de l'exécution de tâches utilisant le mode awsvpc réseau, tenez compte du quota de Maximum network interfaces service, c'est-à-dire du nombre maximum d'instances réseau pour chaque EC2 instance Amazon. Ce quota limite le nombre de tâches que vous pouvez placer sur une instance. Vous ne pouvez pas ajuster le quota et il n’est pas disponible dans la console Service Quotas. Pour plus d'informations, consultez la section Adresses IP par interface réseau et par type d'instance dans le guide de EC2 l'utilisateur Amazon.

Bien que vous ne puissiez pas modifier le nombre d'interfaces réseau pouvant être associées à une EC2 instance Amazon, vous pouvez utiliser la fonctionnalité Elastic Network Interface trunking pour augmenter le nombre d'interfaces réseau disponibles. Par exemple, par défaut, une instance c5.large peut avoir jusqu’à trois interfaces réseau. L'interface réseau principale de l'instance est considérée comme une interface réseau. Ainsi, vous pouvez attacher deux interfaces réseau supplémentaires à l’instance. Dans la mesure où chaque tâche utilisant le mode réseau awsvpc nécessite une interface réseau, vous ne pouvez généralement exécuter que deux tâches sur ce type d’instance. Cela peut entraîner une sous-utilisation de la capacité de votre cluster. Si vous activez la jonction d’interface réseau Elastic, vous pouvez augmenter la densité de l’interface réseau afin de placer un plus grand nombre de tâches sur chaque instance. Lorsque la jonction est activée, une instance c5.large peut avoir jusqu’à 12 interfaces réseau. L’instance de conteneur a alors une interface réseau principale et Amazon ECS crée et attache une interface réseau « de jonction » à l’instance de conteneur. Par conséquent, avec cette configuration, vous pouvez exécuter 10 tâches sur l’instance au lieu des 2 tâches par défaut. Pour de plus amples informations, veuillez consulter Augmentation des interfaces réseau d’une instance de conteneur Amazon ECS Linux.

Limitation de l’API d’interface réseau Elastic

Lorsque vous exécutez des tâches qui utilisent le mode awsvpc réseau, Amazon ECS s'appuie sur les Amazon suivants EC2 APIs. Chacun d'entre eux APIs a des limites d'API différentes. Pour plus d'informations, consultez la section Régulation des demandes pour l' EC2 API Amazon dans le manuel Amazon EC2 API Reference.

  • CreateNetworkInterface

  • AttachNetworkInterface

  • DetachNetworkInterface

  • DeleteNetworkInterface

  • DescribeNetworkInterfaces

  • DescribeVpcs

  • DescribeSubnets

  • DescribeSecurityGroups

  • DescribeInstances

Si les appels d' EC2 API Amazon sont limités pendant les flux de travail de provisionnement de l'interface Elastic Network Interface, le planificateur de services Amazon ECS réessaie automatiquement avec des interruptions exponentielles. Ces mises hors service automatiques peuvent parfois retarder le lancement des tâches, ce qui ralentit les vitesses de déploiement. En cas de limitation de l’API, le message Operations are being throttled. Will try again later. apparaît sur vos messages d’événement de service. Si vous respectez régulièrement les limites des EC2 API Amazon, vous pouvez nous contacter Support pour obtenir des conseils sur la manière d'augmenter vos limites de limitation des API. Pour plus d’informations sur la surveillance et la résolution de ces erreurs de limitation, consultez la section Gestion des problèmes de limitation.

AWS Cloud Map

Amazon ECS Service Discovery et Service Connect sont utilisés AWS Cloud Map APIs pour gérer les espaces de noms de vos services Amazon ECS. Si vos services comportent un grand nombre de tâches, tenez compte des recommandations suivantes.

AWS Cloud Map quotas de service

Lorsque les services Amazon ECS sont configurés pour utiliser Service Discovery ou Service Connect, le Tasks per service quota, qui est le nombre maximum de tâches pour le service, est affecté par le quota de AWS Cloud Map Instances per service service, qui est le nombre maximum d'instances pour ce service. En particulier, le quota de service AWS Cloud Map réduit le nombre d’instances que vous pouvez exécuter à un maximum de 1 000 instances par service. Vous ne pouvez pas modifier le AWS Cloud Map quota. Pour plus d’informations, consultez Quotas de service AWS Cloud Map.

AWS Cloud Map Limitation de l'API

Amazon ECS appelle leListInstances, GetInstancesHealthStatusRegisterInstance, et DeregisterInstance AWS Cloud Map APIs en votre nom. Elles aident à la découverte de services et effectuent des surveillances de l’état lorsque vous lancez une tâche. Lorsque plusieurs services utilisant la découverte de services comportant un grand nombre de tâches sont déployés en même temps, cela peut entraîner le dépassement des limites de limitation des AWS Cloud Map API. Dans ce cas, vous verrez probablement le message suivant : Operations are being throttled. Will try again later dans votre service Amazon ECS, des messages d'événement indiquant un ralentissement du déploiement et de la vitesse de lancement des tâches. AWS Cloud Map ne documente pas les limites de limitation pour ceux-ci. APIs Si vous êtes confronté à un ralentissement dû à ces derniers, vous pouvez nous contacter Support pour obtenir des conseils sur l'augmentation des limites de limitation de vos API. Pour plus de recommandations sur la surveillance et la résolution de ces erreurs de limitation, consultez la section Gestion des problèmes de limitation d’Amazon ECS.