Come posso correggere un ambiente di elaborazione non valido in AWS Batch?

5 minuti di lettura
0

Il mio ambiente di elaborazione in AWS Batch è nello stato NON VALIDO. Come si risolve l'errore?

Breve descrizione

Viene visualizzato l'errore: "CLIENT_ERROR - Your compute environment has been INVALIDATED and scaled down because none of the instances joined the underlying ECS Cluster. Common issues preventing instances joining are the following: VPC/Subnet configuration preventing communication to ECS, incorrect Instance Profile policy preventing authorization to ECS, or customized AMI or LaunchTemplate configurations affecting ECS agent."

I problemi che impediscono alle istanze di unirsi a un cluster Amazon Elastic Container Service (Amazon ECS) includono:

  • Le impostazioni di configurazione della sottorete Amazon Virtual Private Cloud (Amazon VPC) impediscono la corretta comunicazione con Amazon ECS.
  • Un'impostazione errata nella politica del profilo dell'istanza che impedisce l'autorizzazione ad Amazon ECS.
  • Amazon Machine Images (AMI) o configurazioni di modelli di avvio personalizzate che influiscono sull'agente ECS.

Il messaggio CLIENT\ _ERROR indica che le istanze Amazon Elastic Compute Cloud (Amazon EC2) create dall'ambiente di elaborazione AWS Batch non sono riuscite a unirsi al cluster ECS. Quando viene visualizzato il messaggio CLIENT\ _ERROR, AWS Batch termina automaticamente l'istanza EC2, quindi sposta l'ambiente di elaborazione in uno stato NON VALIDO.

Se il tuo ambiente di elaborazione è nello stato NON VALIDO, scegli una delle seguenti risoluzioni in base al messaggio di errore che ricevi:

CLIENT\ _ERROR - Not authorized to perform sts:AssumeRoleCompleta i passaggi nella sezione Risolvere un ruolo di servizio non valido.

CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid
Completa i passaggi della sezione Risolvere un ruolo Spot Fleet non valido.

CLIENT_ERROR - The specified launch template, with template ID [xxx], does not exist
Completa i passaggi nella sezione Disattivare ed eliminare l’ambiente di elaborazione.

CLIENT_ERROR - Access denied
Crea un ruolo di servizio con le autorizzazioni corrette o scegli un ruolo di servizio esistente con le autorizzazioni corrette.

Errore interno
Completa i passaggi nella sezione Disattivare e quindi attivare l’ambiente di elaborazione.

INVALID CLIENT_ERROR - null
Completa i passaggi nella sezione Disattivare e quindi attivare l’ambiente di elaborazione.

CLIENT_ERROR - The request uses the same client token as previous, but non-identical request
Completa i passaggi nella sezione Disattivare e quindi attivare l’ambiente di elaborazione.

CLIENT_ERROR - You are not authorized to use launch template
Controlla quanto segue:

  • Controlla il tuo ruolo di servizio per vedere se sono concesse le autorizzazioni relative ai gruppi Amazon Elastic Compute Cloud e Auto Scaling. Quindi, completa i passaggi nella sezione Risolvere un ruolo di servizio non valido.
  • Verifica se il tuo account fa parte di AWS Organizations e se alcune policy di controllo dei servizi stanno bloccando l'accesso alle tue autorizzazioni Amazon EC2. Quindi, aggiorna le policy di controllo del servizio, se necessario.

Risoluzione

Risolvere un ruolo di servizio non valido

  1. Apri la console AWS Batch.

  2. Nel riquadro di navigazione, scegli Ambienti di elaborazione.

  3. Scegli l'ambiente di elaborazione che si trova nello stato NON VALIDO.
    **Nota:**se il tuo ambiente di elaborazione è disabilitato, scegli Abilita per attivare l'ambiente di elaborazione.

  4. Scegli Modifica.

  5. Per il Ruolo di servizio, scegli un ruolo di servizio con le autorizzazioni necessarie ad AWS Batch per effettuare chiamate ad altri servizi AWS.
    **Importante:**il tuo ruolo di servizio gestisce le risorse che utilizzi con il servizio. Prima di poter utilizzare il servizio, devi disporre di una policy e di un ruolo di AWS Identity and Access Management (IAM) che forniscano le autorizzazioni necessarie ad AWS Batch. Devi creare un ruolo di servizio con autorizzazioni se non ne hai uno.

  6. Scegli Salva.

Risolvere un ruolo Spot Fleet non valido

Per gli ambienti di elaborazione gestiti che utilizzano le istanze Spot Fleet di Amazon EC2, devi creare un ruolo che conceda al Spot Fleet le seguenti autorizzazioni:

  • Fare offerte sulle istanze
  • Avviare le istanze
  • Taggare le istanze
  • Terminare le istanze

Se non hai un ruolo Spot Fleet, completa i seguenti passaggi per crearne uno per il tuo ambiente di elaborazione:

  1. Apri la console IAM.

  2. Nel riquadro di navigazione, scegliRuoli.

  3. Scegli Crea ruolo.

  4. Scegli Servizio AWS. Quindi, scegli EC2 come servizio che utilizzerà il ruolo che stai creando.

  5. Nella sezione Seleziona il tuo caso d'uso, scegli Ruolo Spot Fleet EC2.
    **Importante:**Non scegliere Spot Fleet - EC2 con lo stesso nome.

6.    Scegli Avanti: Autorizzazioni.

7.    Scegli Avanti: Etichette. Quindi, scegli Avanti: Revisione.

  1. Per il nome del ruolo, inserisci AmazonEC2SpotFleetRole.

  2. Scegli Crea ruolo.
    **Nota:**usa il tuo nuovo ruolo Spot Fleet per creare nuovi ambienti di elaborazione. Gli ambienti di elaborazione esistenti non possono modificare i ruoli di Spot Fleet. Per eliminare l'ambiente obsoleto, disattivalo ed eliminalo.

  3. Apri la console AWS Batch.

  4. Nel riquadro di navigazione, scegli Ambienti di elaborazione.

  5. Scegli l'ambiente di elaborazione che si trova nello stato NON VALIDO. Quindi, scegli Disabilita.

  6. Scegli Elimina.

Disattivare ed eliminare dell’ambiente di elaborazione

È necessario disattivare ed eliminare l'ambiente di elaborazione perché il modello di avvio associato al proprio ambiente di elaborazione non esiste. Ciò significa che non puoi utilizzare l'ambiente di elaborazione associato al tuo modello di lancio. È necessario eliminare quell'ambiente di elaborazione e quindi creare un nuovo ambiente di elaborazione.

  1. Apri la console AWS Batch.

  2. Nel riquadro di navigazione, scegli Ambienti di elaborazione.

  3. Seleziona l'ambiente di elaborazione che si trova nello stato NON VALIDO. Quindi, scegli Disabilita.

  4. Scegli Elimina.

  5. Crea un nuovo ambiente di elaborazione.

Disattivare e quindi attivare l’ambiente di elaborazione

  1. Apri la console AWS Batch.

  2. Nel riquadro di navigazione, scegli Ambienti di elaborazione.

  3. Scegli l'ambiente di elaborazione che si trova nello stato NON VALIDO. Quindi, scegli Disabilita.

  4. Scegli lo stesso ambiente di elaborazione dal passaggio 3. Quindi, scegli Abilita.


Informazioni correlate

Troubleshooting AWS Batch

Perché la mia istanza Amazon ECS o Amazon EC2 non è in grado di unirsi al cluster?

Perché il mio processo AWS Batch è bloccato nello stato RUNNABLE?

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa