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

Dernière mise à jour : 16/03/2021

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

Brève description

Un environnement de calcul est à l'état INVALID lorsque cet environnement n'est pas configuré correctement. Un environnement de calcul qui n'est pas valide ne peut pas exécuter de tâche ou être supprimé.

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:AssumeRole
Suivez 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 rôle de service pour voir si les autorisations liées à Amazon Elastic Compute Cloud (Amazon EC2) 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.    Sélectionnez 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 “Create role” (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.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?