

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# `INVALID`ambiente di calcolo
<a name="invalid_compute_environment"></a>

È possibile che tu abbia configurato in modo errato un ambiente di elaborazione gestito. Se l'hai fatto, l'ambiente di elaborazione entra in uno `INVALID` stato e non può accettare offerte di lavoro per il collocamento. Le sezioni seguenti descrivono le possibili cause e come risolverli in base alla causa.

**Importante**  
AWS Batch crea e gestisce più AWS risorse per tuo conto e all'interno del tuo account, tra cui Amazon EC2 Launch Templates, Amazon EC2 Auto Scaling Groups, Amazon EC2 Spot Fleets e Amazon ECS Clusters. Queste risorse gestite sono configurate specificamente per garantire un funzionamento ottimale. AWS Batch La modifica manuale di queste risorse gestite in batch, a meno che non sia esplicitamente indicato nella AWS Batch documentazione, può comportare un comportamento imprevisto con conseguente ambiente di `INVALID` calcolo, un comportamento di scalabilità delle istanze non ottimale, un'elaborazione ritardata del carico di lavoro o costi imprevisti. Queste modifiche manuali non possono essere supportate in modo deterministico dal servizio. AWS Batch Usa sempre il Batch supportato APIs o la console Batch per gestire i tuoi ambienti di elaborazione.

## Nome del ruolo o ARN errati
<a name="invalid_service_role_arn"></a>

La causa più comune per cui un ambiente di calcolo entra in uno `INVALID` stato è che il ruolo di AWS Batch servizio o il ruolo Amazon EC2 Spot Fleet ha un nome o un Amazon Resource Name (ARN) errati. Questo è più comune negli ambienti di elaborazione creati utilizzando o il. AWS CLI AWS SDKs Quando crei un ambiente di elaborazione in Console di gestione AWS, ti AWS Batch aiuta a scegliere il servizio o i ruoli corretti di Spot Fleet. Tuttavia, si supponga di immettere manualmente il nome o l'ARN e di inserirli in modo errato. Quindi, lo è anche l'ambiente di calcolo risultante. `INVALID`

Tuttavia, supponiamo di inserire manualmente il nome o l'ARN di una risorsa IAM in AWS CLI un comando o nel codice SDK. In questo caso, non è AWS Batch possibile convalidare la stringa. Invece, AWS Batch deve accettare il valore errato e tentare di creare l'ambiente. Se AWS Batch non riesce a creare l'ambiente, l'ambiente passa a uno `INVALID` stato e vengono visualizzati i seguenti errori.

In caso di ruolo del servizio non valido:

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

In caso di parco istanze Spot non valido:

`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`

Una delle cause più comuni di questo problema è lo scenario seguente. Specifichi il nome di un ruolo IAM solo quando usi AWS CLI o il AWS SDKs, anziché l'Amazon Resource Name (ARN) completo. A seconda di come è stato creato il ruolo, l'ARN potrebbe contenere un prefisso di `aws-service-role` percorso. Ad esempio, se si crea manualmente il ruolo di AWS Batch servizio utilizzando le procedure in[Utilizzo di ruoli collegati ai servizi per AWS Batch](using-service-linked-roles.md), l'ARN del ruolo di servizio potrebbe essere simile al seguente.

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

Tuttavia, se oggi hai creato il ruolo di servizio come parte della procedura guidata per la prima esecuzione della console, il tuo ruolo di servizio ARN potrebbe essere simile al seguente.

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

Questo problema può verificarsi anche se si associa la policy a AWS Batch livello di servizio (`AWSBatchServiceRole`) a un ruolo non di servizio. Ad esempio, in questo scenario è possibile che venga visualizzato un messaggio di errore analogo al seguente: 

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

Per risolvere questo problema, effettuate una delle seguenti operazioni.
+ Usa una stringa vuota per il ruolo di servizio quando crei l'ambiente di AWS Batch calcolo.
+ Specificare il ruolo di servizio nel seguente formato:`arn:aws:iam::account_number:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch`.

Quando si specifica solo il nome di un ruolo IAM quando si utilizza AWS CLI o il AWS SDKs, si AWS Batch presuppone che l'ARN non utilizzi il prefisso `aws-service-role` del percorso. Per questo motivo, ti consigliamo di specificare l'ARN completo per i tuoi ruoli IAM quando crei ambienti di calcolo.

Per riparare un ambiente di calcolo configurato in modo errato in questo modo, consulta. [Riparazione di un ambiente di elaborazione `INVALID`](#repairing_invalid_compute_environment)

## Riparazione di un ambiente di elaborazione `INVALID`
<a name="repairing_invalid_compute_environment"></a>

Quando hai un ambiente di calcolo in uno `INVALID` stato, aggiornalo per correggere il parametro non valido. Ad esempio[Nome del ruolo o ARN errati](#invalid_service_role_arn), aggiorna l'ambiente di calcolo utilizzando il ruolo di servizio corretto.

**Riparazione di un ambiente di calcolo configurato in modo errato**

1. Apri la AWS Batch console all'indirizzo [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dalla barra di navigazione, seleziona quello Regione AWS da usare.

1. Nel riquadro di navigazione, seleziona **Compute environments** (Ambienti di calcolo).

1. Nella pagina **Compute environments** (Ambienti di calcolo), seleziona il pulsante accanto all'ambiente di calcolo da modificare, quindi scegliere **Edit** (Modifica).

1. Nella pagina **Aggiorna ambiente di calcolo**, per il ruolo di **servizio, scegli il ruolo** IAM da utilizzare con il tuo ambiente di calcolo. La console di AWS Batch visualizza solo i ruoli con una relazione di trust corretta per gli ambienti di calcolo.
**Suggerimento**  
Per istruzioni su come creare un ruolo collegato al servizio, consulta. [Utilizzo dei ruoli per AWS Batch](using-service-linked-roles-batch-general.md)

1. Seleziona **Save** (Salva) per aggiornare l'ambiente di calcolo.