Comment réparer un environnement de calcul qui n'est pas valide dans AWS Batch ?

Lecture de 6 minute(s)
0

Mon environnement de calcul dans AWS Batch est à l'état INVALID. Comment résoudre cette erreur ?

Brève description

L'erreur suivante s'affiche : « CLIENT_ERROR » – Votre environnement de calcul a été INVALIDÉ et réduit car aucune des instances n'a rejoint le cluster ECS sous-jacent. Les problèmes courants empêchant la jonction d'instances sont les suivants : configuration du VPC/sous-réseau empêchant la communication avec ECS, politique de profil d'instance incorrecte empêchant l'autorisation à ECS, ou configurations AMI ou LaunchTemplate personnalisées affectant l'agent ECS. »

Les problèmes qui empêchent vos instances de rejoindre un cluster Amazon Elastic Container Service (Amazon ECS) incluent :

  • Les paramètres de configuration du sous-réseau Amazon Virtual Private Cloud (Amazon VPC) empêchent toute communication avec Amazon ECS.
  • Un paramètre incorrect dans la politique de profil d'instance empêchant l'autorisation à Amazon ECS.
  • Des configurations personnalisées d'Amazon Machine Images (AMI) ou de modèles de lancement affectant l'agent ECS.

Le message CLIENT_ERROR indique que les instances Amazon Elastic Compute Cloud (Amazon EC2) créées par l'environnement de calcul AWS Batch n'ont pas réussi à rejoindre le cluster ECS. Lorsque le message CLIENT_ERROR apparaît, AWS Batch met automatiquement fin à l'instance EC2, puis place l'environnement de calcul dans un état INVALIDE.

Si votre environnement de calcul est à l'état INVALID, choisissez l'une des résolutions suivantes en fonction du message d'erreur que vous recevez :

CLIENT_ERROR – Non autorisé à effectuer sts:AssumeRoleSuivez les étapes de la section Correction d'un rôle de service non valide.

CLIENT_ERROR – Paramètre : SpotFleetRequestConfig.IamFleetRole n'est pas valide
Suivez les étapes de la section Correction d'un rôle de flotte Spot non valide.

CLIENT_ERROR – Le modèle de lancement spécifié, avec l'ID de modèle [xxx], n'existe pas
Suivez les étapes de la section Désactiver et supprimer votre environnement de calcul.

CLIENT_ERROR – Accès refusé
Créez un rôle de service avec les autorisations appropriées ou choisissez un rôle de service existant avec les autorisations appropriées.

Erreur interne
Suivez les étapes de la section Désactiver puis activer votre environnement de calcul.

INVALID CLIENT_ERROR – null
Suivez les étapes de la section Désactiver puis activer votre environnement de calcul.

CLIENT_ERROR – La requête utilise le même jeton client que la requête précédente, mais non identique
Suivez les étapes de la section Désactiver puis activer votre environnement de calcul.

CLIENT_ERROR – Vous n'êtes pas autorisé à utiliser le modèle de lancement
Vérifiez les éléments suivants :

  • Vérifiez votre fonction de service pour voir si les autorisations liées à Amazon Elastic Compute Cloud et aux groupes Auto Scaling sont accordées. Ensuite, suivez les étapes de la section Correction d'un rôle de service non valide.
  • Vérifiez si votre compte fait partie de AWS Organizations et si des politiques de contrôle des services bloquent l'accès à vos autorisations Amazon EC2. Ensuite, mettez à jour les politiques de contrôle des services, si nécessaire.

Solution

Correction d'un rôle de service non valide

1.    Ouvrez la console AWS Batch.

2.    Dans le volet de navigation, sélectionnez « Compute environments » (Environnements de calculs).

3.    Sélectionnez l'environnement de calcul qui est à l'état INVALID.
Remarque : Si votre environnement de calcul est à l'état DISABLED, choisissez Enable (Activer) pour activer votre environnement de calcul.

4.    Choisissez Edit (Modifier).

5.    Pour Service role (Rôle de service), choisissez un rôle de service avec les autorisations nécessaires pour qu'AWS Batch puisse effectuer des appels vers d'autres services AWS.
Important : Votre rôle de service gère les ressources que vous utilisez avec le service. Pour pouvoir utiliser le service, vous devez disposer d'une stratégie AWS Identity and Access Management (IAM) et d'un rôle qui fournit les autorisations nécessaires à AWS Batch. Vous devez créer un rôle de service avec des autorisations si vous n'en avez pas.

6.    Sélectionnez Save (Enregistrer).

Correction d'un rôle de flotte Spot non valide

Pour les environnements de calcul gérés qui utilisent des instances de flotte Spot Amazon EC2, vous devez créer un rôle qui accorde à la flotte Spot les autorisations suivantes :

  • Enchère sur les instances
  • Lancement des instances
  • Balisage des instances
  • Résiliation des instances

Si vous n'avez pas de rôle de flotte Spot, effectuez les opérations suivantes pour en créer un pour votre environnement de calcul :

1.    Ouvrez la console IAM.

2.    Dans le volet de navigation, choisissez Rôles.

3.    Sélectionnez Créer un rôle.

4.    Choisissez Service AWS. Puis, choisissez EC2 comme service qui utilisera le rôle que vous créez.

5.    Dans la section Select your use case (Sélectionner votre cas d'utilisation), choisissez EC2 Spot Fleet Role (Rôle de flotte EC2 Spot).
Important : Ne choisissez pas celui portant un nom similaire EC2 – Flotte Spot.

6.    Choisissez Next: Permissions (Étape suivante : autorisations).

7.    Choisissez Next: Tags (Suivant : Balises). Puis, choisissez Next: Review (Suivant : Vérification).

8.    Pour Role name (Nom du rôle), entrez AmazonEC2SpotFleetRole.

9.    Sélectionnez Create role (Créer un rôle).
Remarque : Utilisez votre nouveau rôle de flotte Spot pour créer de nouveaux environnements de calcul. Les environnements de calcul existants ne peuvent pas modifier les rôles de flotte Spot. Pour se débarrasser de l'environnement obsolète, désactivez puis supprimez cet environnement.

10.    Ouvrez la console AWS Batch.

11.    Dans le volet de navigation, sélectionnez Compute environments (Environnements de calculs).

12.    Sélectionnez l'environnement de calcul qui est à l'état INVALID. Puis, choisissez Désactiver.

13.    Choisissez Delete (Supprimer).

Désactiver et supprimer votre environnement de calcul

Vous devez désactiver et supprimer votre environnement de calcul, car le modèle de lancement qui lui est associé n'existe pas. Cela signifie que vous ne pouvez pas utiliser l'environnement de calcul associé à votre modèle de lancement. Vous devez supprimer cet environnement de calcul, puis en créer un nouveau.

1.    Ouvrez la console AWS Batch.

2.    Dans le volet de navigation, sélectionnez « Compute environments » (Environnements de calculs).

3.    Sélectionnez l'environnement de calcul qui est à l'état INVALID. Puis, choisissez Désactiver.

4.    Choisissez Delete (Supprimer).

5.    Créez un environnement de calcul.

Désactiver puis activer votre environnement de calcul

1.    Ouvrez la console AWS Batch.

2.    Dans le volet de navigation, sélectionnez « Compute environments » (Environnements de calculs).

3.    Sélectionnez l'environnement de calcul qui est à l'état INVALID. Puis, choisissez Désactiver.

4.    Choisissez le même environnement de calcul de l'étape 3. Puis, sélectionnez Activer.


Informations connexes

Dépannage de AWS Batch

Pourquoi mon instance Amazon ECS ou Amazon EC2 ne peut-elle pas rejoindre le cluster ?

Pourquoi ma tâche AWS Batch est-elle bloquée sur le statut RUNNABLE ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans