Comment résoudre les problèmes liés à la configuration d'un nouveau fournisseur de capacité ou à la mise à jour d'un fournisseur de capacité existant pour mon cluster Amazon ECS ?

Lecture de 6 minute(s)
0

Je ne parviens pas à configurer un nouveau fournisseur de capacité ou à mettre à jour un fournisseur de capacité existant pour mon cluster Amazon Elastic Container Service (Amazon ECS).

Brève description

Les problèmes suivants sont courants lorsque vous configurez un nouveau fournisseur de capacité ou que vous mettez à jour un fournisseur de capacité existant pour votre cluster Amazon ECS :

  • Lorsque vous utilisez l'interface de la ligne de commande AWS (AWS CLI) pour créer un fournisseur de capacité de groupe Auto Scaling, vous recevez des erreurs.
  • Vous recevez le message d'erreur suivant : « Le fournisseur de capacité spécifié existe déjà. Pour modifier la configuration d'un fournisseur de capacité existant, mettez-le à jour ».
  • Vous recevez le message d'erreur suivant : « L'ARN du groupe Auto Scaling spécifié est déjà utilisé par un autre fournisseur de capacités. Spécifiez un ARN de groupe Auto Scaling unique et réessayez ».
  • Le message d'erreur s'affiche lorsque vous créez la stratégie du fournisseur de capacités : « Le cluster spécifié est dans un état occupé. Les pièces jointes du cluster doivent être à l'état UPDATE_COMPLETE ou UPDATE_FAILED avant de pouvoir être mises à jour. Patientez et réessayez ».
  • Vous recevez des erreurs en raison des limites imposées par le fournisseur de capacité.
  • Le fournisseur de capacité est créé avec succès avec AWS CloudFormation, mais il n'apparaît pas dans la console.

Résolution

Lorsque vous utilisez l'interface de ligne de commande AWS pour créer un fournisseur de capacité de groupe Auto Scaling, vous recevez des erreurs

Lorsque vous utilisez l'interface de ligne de commande AWS pour créer un fournisseur de capacité, passez en revue vos événements AWS CloudTrail pour vérifier la présence de l'API CreateCapacityProvider. Ces erreurs sont des erreurs courantes de l'API CapacityProvider :

  • Exception du client : Ces erreurs sont généralement causées par une action du client. L'action du client peut utiliser une action ou une ressource pour le compte d'un utilisateur AWS Identity and Access Management (IAM) qui ne dispose pas des autorisations requises pour utiliser l'action ou la ressource. Cette erreur peut également indiquer qu'un identifiant n'est pas valide.
  • UpdateInProgressException : Vous recevez cette erreur car une mise à jour de l'agent de conteneur Amazon ECS est déjà en cours sur l'instance de conteneur que vous avez spécifiée. Si l'agent de conteneur se déconnecte pendant une phase de transition, telle que PENDING ou STAGING, la mise à jour peut rester bloquée dans cet état. Toutefois, lorsque l'agent se reconnecte, il reprend là où il s'était arrêté précédemment.

Pour en savoir plus, consultez la section Erreurs.

Remarque : Si vous recevez des erreurs lors de l'exécution des commandes de l'AWS CLI, assurez-vous que vous utilisez la version la plus récente de l'AWS CLI.

Vous recevez le message d'erreur suivant : « Le fournisseur de capacité spécifié existe déjà. Pour modifier la configuration d'un fournisseur de capacité existant, mettez à jour le fournisseur de capacité »

Lorsque vous créez le fournisseur de capacité, utilisez un nom différent de tous les noms de fournisseurs de capacité utilisés précédemment. Vous pouvez également supprimer le fournisseur de capacité existant portant ce nom, puis créer un nouveau fournisseur de capacité.

Pour afficher la liste de tous les fournisseurs de capacité créés, exécutez la commande suivante :

aws ecs describe-capacity-providers --query capacityProviders\[\].name --region example-region

La sortie ressemble au message suivant :

[
    "FARGATE",
    "FARGATE_SPOT",
    "ecs-capacityprovider-1"
]

Pour supprimer un fournisseur de capacité, exécutez la commande suivante :

aws ecs delete-capacity-provider --capacity-provider ecs-capacityprovider-1 --region example-region

Pour un exemple de sortie et d'autres options, consultez delete-capacity-provider.

Pour créer un nouveau fournisseur de capacité, exécutez cette commande :

aws ecs create-capacity-provider --name "example-capacity=provider" --auto-scaling-group-provider "autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup,managedScaling={status=ENABLED,targetCapacity=100,minimumScalingStepSize=1,maximumScalingStepSize=100},managedTerminationProtection=ENABLED"

Pour un exemple de sortie et d'autres options, consultez create-capacity-provider.

Vous recevez le message d'erreur suivant : « L'ARN du groupe Auto Scaling spécifié est déjà utilisé par un autre fournisseur de capacités. Spécifiez un ARN de groupe Auto Scaling unique et réessayez »

Le groupe Auto Scaling et le fournisseur de capacité doivent entretenir une relation individuelle. Vous pouvez associer un groupe Auto Scaling à un seul fournisseur de capacité, et inversement. Assurez-vous que votre fournisseur de capacité est associé à un seul groupe Auto Scaling.

Vous recevez le message d'erreur suivant : « Le cluster spécifié est dans un état occupé. Les pièces jointes du cluster doivent être à l'état UPDATE_COMPLETE ou UPDATE_FAILED avant de pouvoir être mises à jour. Patientez et réessayez »

Cette erreur se résorbe automatiquement après quelques minutes. Après avoir attendu, réessayez de mettre à jour le fournisseur de capacité. Vous pouvez également exécuter cette commande CLI pour afficher l'état actuel des pièces jointes. Attendez ensuite que la pièce jointe ait l'état UPDATE_COMPLETE.

aws ecs describe-clusters --clusters example-ARN --include ATTACHMENTS --query clusters\[\].attachmentsStatus --region example-region

La sortie doit ressembler à ce qui suit :

[
    "UPDATE_COMPLETE"
]

Vous recevez des erreurs en raison de limites imposées par le fournisseur de capacité

Passez en revue les points suivants avant de créer ou de mettre à jour un fournisseur de capacité :

  • Vous ne pouvez pas spécifier plus de six fournisseurs de capacité pour une stratégie de capacité.
  • Vous pouvez utiliser des fournisseurs de capacité de groupe Auto Scaling ou des fournisseurs de capacité AWS Fargate dans votre stratégie de cluster. Vous ne pouvez pas utiliser une combinaison des deux types.
  • La valeur de base de la stratégie du fournisseur de capacité est prise en charge uniquement lorsque vous exécutez les tâches.

Le fournisseur de capacité est créé avec succès avec CloudFormation, mais il n'apparaît pas dans la console

Cela peut se produire lorsque vous n'associez pas le fournisseur de capacité au cluster dans votre modèle CloudFormation. Pour éviter ce problème, utilisez cet extrait de code dans votre modèle CloudFormation pour associer le fournisseur de capacité au cluster :

...
ECSCluster:
  Type: 'AWS::ECS::Cluster'
  Properties:
    ClusterName: example-cluster
    CapacityProviders:
      - !Ref ECSCapacityProvider
...

Informations connexes

Fournisseurs de capacité Amazon ECS

Fournisseurs de capacité de groupe Auto Scaling

Comment résoudre l'erreur DELETE_FAILED lors de la suppression du fournisseur de capacité dans Amazon ECS ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an