

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à.

# `Ambiente di elaborazione NON VALIDO`
<a name="invalid_compute_environment"></a>

È possibile che tu abbia configurato in modo errato un ambiente di elaborazione gestito. Se lo hai fatto, l'ambiente di calcolo entra in uno `INVALID` stato e non può accettare lavori per il collocamento. Le sezioni seguenti descrivono le possibili cause e come risolvere i problemi 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 Batch-managed risorse, a meno che non sia esplicitamente indicato nella AWS Batch documentazione, può comportare un comportamento imprevisto con conseguente ambiente di `INVALID` calcolo, un comportamento non ottimale di scalabilità delle istanze, un ritardo nell'elaborazione del carico di lavoro o costi imprevisti. Queste modifiche manuali non possono essere supportate in modo deterministico dal servizio. AWS Batch Usa sempre le API Batch supportate o la console Batch per gestire i tuoi ambienti di calcolo.

## 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 Spot Fleet di Amazon EC2 ha un nome o Amazon Resource Name (ARN) errati. Questo è più comune negli ambienti di calcolo creati utilizzando o gli SDK. AWS CLI AWS Quando crei un ambiente di elaborazione in Console di gestione AWS, ti AWS Batch aiuta a scegliere il servizio o i ruoli Spot Fleet corretti. Supponiamo tuttavia di inserire 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 un AWS CLI comando o nel codice SDK. In questo caso, non è AWS Batch possibile convalidare la stringa. AWS Batch Deve invece 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 causa comune di questo problema è il seguente scenario. Specifichi il nome di un ruolo IAM solo quando usi AWS CLI o gli AWS SDK, anziché l'Amazon Resource Name (ARN) completo. A seconda di come hai creato il ruolo, l'ARN potrebbe contenere un `aws-service-role` prefisso di 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 potresti ricevere un messaggio di errore simile 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 il problema, effettuate una delle seguenti operazioni.
+ Utilizzate una stringa vuota per il ruolo del servizio quando create l'ambiente di AWS Batch elaborazione.
+ Specifica il ruolo del servizio nel seguente formato:`arn:aws:iam::{{account_number}}:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch`.

Quando si specifica il nome di un ruolo IAM solo quando si utilizzano AWS CLI o gli AWS SDK, si AWS Batch presuppone che l'ARN non utilizzi il prefisso del `aws-service-role` 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 elaborazione mal configurato in questo modo, consulta. [Riparare un ambiente di elaborazione `NON VALIDO`](#repairing_invalid_compute_environment)

## Riparare un ambiente di elaborazione `NON VALIDO`
<a name="repairing_invalid_compute_environment"></a>

Quando hai un ambiente di calcolo in uno `INVALID` stato, aggiornalo per correggere il parametro non valido. Per 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 Ambienti di ** elaborazione, seleziona il pulsante di opzione accanto all'ambiente di elaborazione da modificare. È necessario selezionare un ambiente di elaborazione prima che le opzioni nel ** menu ** Azioni diventino disponibili.

1. Scegli ** Azioni ** e poi ** Modifica**.

1. Nella ** pagina ** Aggiorna ambiente di elaborazione, per il ruolo ** Servizio**, scegli il ruolo IAM da utilizzare con il tuo ambiente di elaborazione. 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.