

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.

# `INVALID`environnement informatique
<a name="invalid_compute_environment"></a>

Il est possible que vous ayez mal configuré un environnement informatique géré. Si c'est le cas, l'environnement informatique entre dans un `INVALID` état et ne peut pas accepter de postes à des fins de placement. Les sections suivantes décrivent les causes possibles et la procédure de dépannage en fonction de la cause.

**Important**  
AWS Batch crée et gère plusieurs AWS ressources en votre nom et au sein de votre compte, notamment les modèles de lancement Amazon EC2, les groupes Amazon EC2 Auto Scaling, les flottes Amazon EC2 Spot et les clusters Amazon ECS. Ces ressources gérées sont configurées spécifiquement pour garantir un AWS Batch fonctionnement optimal. La modification manuelle de ces ressources gérées par lots, sauf indication explicite dans la AWS Batch documentation, peut entraîner un comportement inattendu entraînant un environnement de `INVALID` calcul, un comportement de dimensionnement des instances sous-optimal, un retard dans le traitement de la charge de travail ou des coûts imprévus. Ces modifications manuelles ne peuvent pas être prises en charge de manière déterministe par le AWS Batch service. Utilisez toujours le Batch compatible APIs ou la console Batch pour gérer vos environnements informatiques.

## Nom de rôle ou ARN incorrect
<a name="invalid_service_role_arn"></a>

La cause la plus courante pour laquelle un environnement informatique entre dans un `INVALID` état est que le rôle de AWS Batch service ou le rôle Amazon EC2 Spot Fleet porte un nom ou un nom de ressource Amazon (ARN) incorrect. Cela est plus courant dans les environnements informatiques créés à l'aide du AWS CLI ou du AWS SDKs. Lorsque vous créez un environnement informatique dans le AWS Management Console, AWS Batch cela vous aide à choisir le service ou les rôles Spot Fleet appropriés. Supposons toutefois que vous saisissiez manuellement le nom ou l'ARN et que vous ne les saisissiez pas correctement. Ensuite, l'environnement de calcul qui en résulte l'est également`INVALID`.

Supposons toutefois que vous saisissiez manuellement le nom ou l'ARN d'une ressource IAM dans une AWS CLI commande ou dans le code de votre SDK. Dans ce cas, AWS Batch impossible de valider la chaîne. AWS Batch Il faut plutôt accepter la mauvaise valeur et tenter de créer l'environnement. Si la création de l'environnement AWS Batch échoue, celui-ci passe à un `INVALID` état et les erreurs suivantes s'affichent.

Pour un rôle de service non valide :

`CLIENT_ERROR - Not authorized to perform sts:AssumeRole (Service: AWSSecurityTokenService; Status Code: 403; Error Code: AccessDenied; Request ID: dc0e2d28-2e99-11e7-b372-7fcc6fb65fe7)`

Pour un rôle de parc d'instances Spot non valide :

`CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid. (Service: AmazonEC2; Status Code: 400; Error Code: InvalidSpotFleetRequestConfig; Request ID: 331205f0-5ae3-4cea-bac4-897769639f8d) Parameter: SpotFleetRequestConfig.IamFleetRole is invalid`

Le scénario suivant est l'une des causes les plus fréquentes de ce problème. Vous ne spécifiez le nom d'un rôle IAM que lorsque vous utilisez le AWS CLI ou le AWS SDKs, au lieu du nom complet de la ressource Amazon (ARN). Selon la façon dont vous avez créé le rôle, l'ARN peut contenir un préfixe de `aws-service-role` chemin. Par exemple, si vous créez manuellement le rôle de AWS Batch service à l'aide des procédures décrites dans[Utilisation de rôles liés à un service pour AWS Batch](using-service-linked-roles.md), l'ARN de votre rôle de service peut ressembler à ce qui suit.

```
arn:aws:iam::123456789012:role/AWSBatchServiceRole
```

Toutefois, si vous avez créé le rôle de service dans le cadre de l'assistant de première exécution de la console aujourd'hui, l'ARN de votre rôle de service peut ressembler à ce qui suit.

```
arn:aws:iam::123456789012:role/aws-service-role/AWSBatchServiceRole
```

Ce problème peut également se produire si vous associez la politique de AWS Batch niveau de service (`AWSBatchServiceRole`) à un rôle non lié au service. Par exemple, vous pouvez recevoir un message d'erreur semblable au suivant dans ce scénario : 

```
CLIENT_ERROR - User: arn:aws:sts::account_number:assumed-role/batch-replacement-role/aws-batch is not 
   authorized to perform: action on resource ...
```

Pour résoudre ce problème, effectuez l'une des opérations suivantes.
+ Utilisez une chaîne vide pour le rôle de service lorsque vous créez l'environnement AWS Batch informatique.
+ Spécifiez le rôle de service au format suivant : `arn:aws:iam::account_number:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch`

Lorsque vous spécifiez uniquement le nom d'un rôle IAM lorsque vous utilisez le AWS CLI ou le AWS SDKs, cela AWS Batch suppose que votre ARN n'utilise pas le préfixe de `aws-service-role` chemin. C'est pourquoi nous vous recommandons de spécifier l'ARN complet pour vos rôles IAM lorsque vous créez des environnements informatiques.

Pour réparer un environnement informatique mal configuré de cette façon, consultez[Réparation d'un environnement `INVALID` informatique](#repairing_invalid_compute_environment).

## Réparation d'un environnement `INVALID` informatique
<a name="repairing_invalid_compute_environment"></a>

Lorsqu'un environnement informatique est dans un `INVALID` état, mettez-le à jour pour réparer le paramètre non valide. Dans le cas [Nom de rôle ou ARN incorrect](#invalid_service_role_arn) contraire, mettez à jour l'environnement de calcul en utilisant le rôle de service approprié.

**Pour réparer un environnement de calcul mal configuré**

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans la barre de navigation, sélectionnez le Région AWS à utiliser.

1. Dans le panneau de navigation, choisissez **Environnements de calcul**.

1. Sur la page **Environnements de calcul**, cochez la case en regard de l'environnement de calcul à modifier, puis choisissez **Modifier**.

1. Sur la page **Mettre à jour l'environnement de calcul**, pour **Rôle de service**, choisissez le rôle IAM à utiliser avec votre environnement de calcul. La console AWS Batch affiche uniquement les rôles ayant la relation d'approbation appropriée pour les environnements de calcul.
**Astuce**  
Pour savoir comment créer un rôle lié à un service, consultez[Utilisation de rôles pour AWS Batch](using-service-linked-roles-batch-general.md).

1. Choisissez **Enregistrer** pour mettre à jour votre environnement de calcul.