Offres d'emploi bloquées dans un RUNNABLE statut - AWS Batch

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.

Offres d'emploi bloquées dans un RUNNABLE statut

Supposons que votre environnement informatique contienne des ressources informatiques, mais que vos tâches ne progressent pas au-delà de RUNNABLE leur statut. Dans ce cas, il est probable que quelque chose empêche le placement des tâches sur une ressource informatique et bloque vos files d'attente de tâches. Voici comment savoir si votre tâche attend son tour ou si elle est bloquée et bloque la file d'attente.

S'il AWS Batch détecte que vous avez une RUNNABLE tâche en tête et que vous bloquez la file d'attente, vous recevrez un Ressource : événements bloqués dans la file d'attente de tâches événement d'Amazon CloudWatch Events indiquant le motif de cette erreur. La même raison est également mise à jour dans le statusReason champ dans le cadre ListJobs d'appels d'DescribeJobsAPI.

Vous pouvez éventuellement configurer le jobStateTimeLimitActions paramètre par le biais CreateJobQueue d'actions UpdateJobQueued'API.

Note

À l'heure actuelle, la seule action que vous pouvez utiliser jobStateLimitActions.action est d'annuler une tâche.

Le jobStateTimeLimitActions paramètre est utilisé pour spécifier un ensemble d'actions exécutées AWS Batch sur des tâches dans un état spécifique. Vous pouvez définir un seuil de temps en secondes via le maxTimeSeconds champ.

Lorsqu'une tâche est dans un RUNNABLE état définistatusReason, AWS Batch exécute l'action spécifiée après son maxTimeSeconds expiration.

Par exemple, vous pouvez définir le jobStateTimeLimitActions paramètre pour qu'il attende jusqu'à 4 heures pour toute tâche dont l'RUNNABLEétat attend la disponibilité d'une capacité suffisante. Vous pouvez le faire en statusReason réglant sur 144000 avant d'annuler la tâche et de laisser la tâche suivante passer en tête de file d'attente. CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY maxTimeSeconds

Voici les raisons invoquées lorsqu' AWS Batch il détecte qu'une file d'attente de tâches est bloquée. Cette liste fournit les messages renvoyés par les actions ListJobs et DescribeJobs API. Il s'agit également des mêmes valeurs que vous pouvez définir pour le jobStateLimitActions.statusReason paramètre.

  1. Raison : tous les environnements informatiques connectés présentent des erreurs de capacité insuffisante. Sur demande, AWS Batch détecte les EC2 instances Amazon présentant des erreurs de capacité insuffisante. L'annulation manuelle de la tâche permettra à la tâche suivante de passer en tête de file d'attente, mais si le ou les problèmes liés au rôle de service ne sont pas résolus, il est probable que la tâche suivante soit également bloquée. Il est préférable d'étudier et de résoudre ce problème manuellement.

    • statusReasonmessage lorsque la tâche est bloquée : CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Service cannot fulfill the capacity requested for instance type [instanceTypeName]

    • reasonutilisé pour jobStateTimeLimitActions : CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY

    • statusReasonmessage après l'annulation de la tâche : Canceled by JobStateTimeLimit action due to reason: CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY

    Remarque :

    1. Le rôle AWS Batch de service nécessite une autoscaling:DescribeScalingActivities autorisation pour que cette détection fonctionne. Si vous utilisez le rôle Autorisations de rôle liées à un service pour AWS Batch lié à un service (SLR) ou la politique AWS stratégie gérée : AWSBatchServiceRolestratégie gérée, vous n'avez aucune action à effectuer car leurs politiques d'autorisation sont mises à jour.

    2. Si vous utilisez le SLR ou la politique gérée, vous devez ajouter les ec2:DescribeSpotFleetRequestHistory autorisations autoscaling:DescribeScalingActivities et afin de pouvoir recevoir les événements de file d'attente de tâches bloqués et le statut des tâches mis à jour lorsque vous êtes connectéRUNNABLE. En outre, AWS Batch a besoin de ces autorisations pour effectuer des cancellation actions via le jobStateTimeLimitActions paramètre, même si elles sont configurées dans la file d'attente des tâches.

    3. Dans le cas d'une tâche multinode parallel (MNP), si l'environnement de EC2 calcul Amazon hautement prioritaire associé rencontre des insufficient capacity erreurs, il bloque la file d'attente même si un environnement de calcul de priorité inférieure rencontre cette erreur.

  2. Raison : Tous les environnements informatiques ont un maxvCpusparamètre inférieur aux exigences de la tâche. L'annulation de la tâche, manuellement ou en activant le jobStateTimeLimitActions paramètrestatusReason, permet à la tâche suivante de passer en tête de file d'attente. Vous pouvez éventuellement augmenter le maxvCpus paramètre de l'environnement informatique principal pour répondre aux besoins de la tâche bloquée.

    • statusReasonmessage lorsque la tâche est bloquée : MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE - CE(s) associated with the job queue cannot meet the CPU requirement of the job.

    • reasonutilisé pour jobStateTimeLimitActions : MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE

    • statusReasonmessage après l'annulation de la tâche : Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE

  3. Raison : aucun environnement informatique ne possède d'instance répondant aux exigences du poste. Lorsqu'une tâche demande des ressources, AWS Batch détecte qu'aucun environnement informatique associé n'est en mesure de prendre en charge la tâche entrante. L'annulation de la tâche, manuellement ou en activant le jobStateTimeLimitActions paramètrestatusReason, permet à la tâche suivante de passer en tête de file d'attente. Vous pouvez éventuellement redéfinir les types d'instances autorisés dans l'environnement de calcul pour ajouter les ressources de travail nécessaires.

    • statusReasonmessage lorsque la tâche est bloquée : MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT - The job resource requirement (vCPU/memory/GPU) is higher than that can be met by the CE(s) attached to the job queue.

    • reasonutilisé pour jobStateTimeLimitActions : MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT

    • statusReasonmessage après l'annulation de la tâche : Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT

  4. Raison : Tous les environnements informatiques présentent des problèmes de rôle de service. Pour résoudre ce problème, comparez les autorisations de votre rôle de service aux autorisations AWS politiques gérées pour AWS Batch et corrigez les éventuelles lacunes. Remarque : vous ne pouvez pas configurer d'action programmable via le jobStateTimeLimitActions paramètre pour résoudre cette erreur.

    Il est recommandé d'utiliser le Autorisations de rôle liées à un service pour AWS Batch pour éviter des erreurs similaires.

    L'annulation de la tâche, manuellement ou en activant le jobStateTimeLimitActions paramètrestatusReason, permet à la tâche suivante de passer en tête de file d'attente. Si le ou les problèmes liés au rôle de service ne sont pas résolus, il est probable que la prochaine tâche soit également bloquée. Il est préférable d'étudier et de résoudre ce problème manuellement.

    • statusReasonmessage lorsque la tâche est bloquée : MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS – Batch service role has a permission issue.

  5. Raison : Tous les environnements informatiques ne sont pas valides. Pour de plus amples informations, veuillez consulter INVALIDenvironnement informatique. Remarque : Vous ne pouvez pas configurer une action programmable via le jobStateTimeLimitActions paramètre pour résoudre cette erreur.

    • statusReasonmessage lorsque la tâche est bloquée : ACTION_REQUIRED - CE(s) associated with the job queue are invalid.

  6. Raison : AWS Batch a détecté une file d'attente bloquée, mais n'est pas en mesure d'en déterminer la raison. Remarque : Vous ne pouvez pas configurer une action programmable via le jobStateTimeLimitActions paramètre pour résoudre cette erreur. Pour plus d'informations sur le dépannage, consultez Pourquoi mon AWS Batch travail est-il bloqué dans RUNNABLE ou dans AWS Re:post.

    • statusReasonmessage lorsque la tâche est bloquée : UNDETERMINED - Batch job is blocked, root cause is undetermined.

Si vous n'avez pas reçu d'événement de la part d' CloudWatch Events ou si vous avez reçu un événement pour une raison inconnue, voici quelques causes courantes de ce problème.

Le pilote de awslogs journal n'est pas configuré sur vos ressources informatiques

AWS Batch les tâches envoient leurs informations de journal à CloudWatch Logs. Dans ce cas, vous devez configurer vos ressources de calcul de manière à ce qu'elles utilisent le pilote de journal awslogs. Supposons que vous basiez votre AMI de ressources de calcul sur l'AMI optimisée pour Amazon ECS (ou Amazon Linux). Ce pilote est ensuite enregistré par défaut dans le ecs-init package. Supposons maintenant que vous utilisiez une autre AMI de base. Vous devez ensuite vérifier que le pilote de awslogs journal est spécifié comme pilote de journal disponible avec la variable d'ECS_AVAILABLE_LOGGING_DRIVERSenvironnement lorsque l'agent de conteneur Amazon ECS est démarré. Pour plus d’informations, consultez Spécification de l'AMI des ressources de calcul et Tutoriel : Création d'une AMI de ressources de calcul.

Ressources insuffisantes

Si vos définitions de tâches spécifient plus de ressources de processeur ou de mémoire que ce que vos ressources de calcul peuvent allouer, vos tâches ne sont jamais placées. Supposons, par exemple, que votre tâche spécifie 4 GiB de mémoire et que vos ressources de calcul soient inférieures à celles disponibles. Il arrive alors que la tâche ne puisse pas être placée sur ces ressources informatiques. Dans ce cas, vous devez réduire la mémoire spécifiée dans la définition de tâche ou ajouter des ressources de calcul à votre environnement. Une partie de la mémoire est réservée à l'agent de conteneur Amazon ECS et à d'autres processus critiques du système. Pour de plus amples informations, veuillez consulter Gestion de la mémoire des ressources informatiques.

Pas d'accès à Internet pour les ressources informatiques

Les ressources de calcul ont besoin de communiquer avec le point de terminaison de service Amazon ECS service. Cela peut être via un point de terminaison d'un VPC d'interface ou via vos ressources de calcul ayant des adresses IP publiques.

Pour plus d'informations sur les points de terminaison d'un VPC d'interface, veuillez consulter Points de terminaison d'un VPC d'interface Amazon ECS AWS PrivateLink) dans le Guide du développeur Amazon Elastic Container Service.

Si vous n'avez pas de point de terminaison d'un VPC d'interface configuré et que vos ressources de calcul n'ont pas d'adresses IP publiques, elles doivent utiliser la traduction d'adresse réseau (NAT) pour fournir cet accès. Pour de plus amples informations, veuillez consulter Passerelles NAT dans le Guide de l'utilisateur Amazon VPC. Pour de plus amples informations, veuillez consulter Tutoriel : Création d'un VPC.

Limite EC2 d'instances Amazon atteinte

Le nombre d' EC2 instances Amazon dans lesquelles votre compte peut être lancé Région AWS est déterminé par votre quota d' EC2 instances. Certains types d'instances sont également soumis à un per-instance-type quota. Pour plus d'informations sur le quota d' EC2 instances Amazon de votre compte, notamment sur la manière de demander une augmentation de limite, consultez Amazon EC2 Service Limits dans le guide de EC2 l'utilisateur Amazon.

L'agent de conteneur Amazon ECS n'est pas installé

L'agent de conteneur Amazon ECS doit être installé sur l'Amazon Machine Image (AMI) pour permettre l' AWS Batch exécution de tâches. L'agent de conteneur Amazon ECS est installé par défaut sur Amazon ECS optimisé AMIs. Pour plus d'informations sur l'agent de conteneur Amazon ECS, consultez la section relative à l'agent de conteneur Amazon ECS dans le guide du développeur Amazon Elastic Container Service.

Pour plus d'informations, voir Pourquoi mon AWS Batch travail est-il RUNNABLE bloqué ? dans Re:post.