View a markdown version of this page

Cause comuni dei lavori bloccati in RUNNABLE senza uno StatusReason - AWS Batch

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

Cause comuni dei lavori bloccati in RUNNABLE senza uno StatusReason

Se non hai ricevuto un evento da CloudWatch Events o hai ricevuto l'evento Unknown Reason, ecco alcune delle cause più comuni di questo problema.

Il driver di awslogs registro non è configurato sulle tue risorse di calcolo

AWS Batch i job inviano le proprie informazioni di registro a CloudWatch Logs. Per abilitare questa opzione, è necessario configurare le risorse di calcolo per utilizzare il driver di log awslogs. Supponiamo di basare l'AMI delle risorse di calcolo sull'AMI ottimizzata per Amazon ECS (o Amazon Linux). Quindi, questo driver viene registrato per impostazione predefinita nel pacchetto. ecs-init Supponiamo ora di utilizzare un'AMI di base diversa. Quindi, è necessario verificare che il driver di awslogs log sia specificato come driver di registro disponibile con la variabile di ECS_AVAILABLE_LOGGING_DRIVERS ambiente all'avvio dell'agente container Amazon ECS. Per ulteriori informazioni, consultare Specifiche AMI delle risorse di calcolo e Tutorial: Creare un'AMI per risorse di calcolo.

Risorse insufficienti

Se le definizioni dei processi specificano più risorse di CPU o memoria di quelle che le risorse di elaborazione possono allocare, i lavori non vengono mai collocati. Ad esempio, supponiamo che il tuo job specifichi 4 GiB di memoria e che le tue risorse di calcolo abbiano meno di quella disponibile. Quindi accade che il lavoro non possa essere collocato su quelle risorse di calcolo. In tal caso, è necessario ridurre la quantità di memoria specificata nella definizione di processo o aggiungere risorse di calcolo maggiori all'ambiente. Parte della memoria è riservata all'agente container Amazon ECS e ad altri processi di sistema critici. Per ulteriori informazioni, consulta Gestione della memoria delle risorse di calcolo.

Nessun accesso a Internet per le risorse di elaborazione

Le risorse di calcolo richiedono un accesso per comunicare con l'endpoint del servizio Amazon ECS. Ciò può avvenire attraverso un endpoint VPC di interfaccia o tramite risorse di calcolo con indirizzi IP pubblici.

Per ulteriori informazioni sugli endpoint di interfaccia Amazon ECR, consulta Endpoint VPC dell'interfaccia Amazon ECS (AWS PrivateLink) nella Guida per gli sviluppatori di Amazon Elastic Container Service.

Se non disponi di un endpoint VPC di interfaccia configurato e le risorse di calcolo non dispongono di indirizzi IP pubblici, per fornire questo accesso devono utilizzare il processo Network Address Translation (NAT). Per ulteriori informazioni, consulta Gateway NATnella Guida per l'utente di Amazon VPC. Per ulteriori informazioni, consulta Crea un VPC.

Limite di istanze Amazon EC2 raggiunto

Il numero di istanze Amazon EC2 in cui il tuo account può avviare Regione AWS è determinato dalla quota di istanze EC2. Alcuni tipi di istanza hanno anche una quota per tipo di istanza. Per ulteriori informazioni sulla quota di istanze Amazon EC2 del tuo account e su come richiedere un aumento del limite, consulta Amazon EC2 Service Limits nella Amazon EC2 User Guide.

L'agente container Amazon ECS non è installato

L'agente contenitore Amazon ECS deve essere installato su Amazon Machine Image (AMI) per consentire l' AWS Batch esecuzione dei lavori. L'agente container Amazon ECS è installato per impostazione predefinita sulle AMI ottimizzate per Amazon ECS. Per ulteriori informazioni sull'agente container Amazon ECS, consulta l'agente container Amazon ECS nella Amazon Elastic Container Service Developer Guide.

Long-running script di dati utente in un modello di lancio

Se il modello di lancio include uno script di dati utente che richiede molto tempo per essere completato, le istanze possono scadere prima di registrarsi con Amazon ECS. Quando ciò accade, le istanze non diventano mai disponibili per l'avvio dei lavori, lasciando tutti i lavori bloccati. RUNNABLE Tutti gli script dei dati utente devono essere completati prima che un'istanza possa registrarsi con Amazon ECS e iniziare a eseguire i job.

Per risolvere questo problema, esamina i dati utente del modello di lancio per verificare se sono presenti operazioni di blocco o di lunga durata. Prendi in considerazione l'ottimizzazione degli script per ridurre i tempi di esecuzione, l'esecuzione asincrona di operazioni non critiche o lo spostamento completo della logica di inizializzazione dai dati utente. Per ulteriori informazioni, consulta Usa i modelli di lancio di Amazon EC2 con AWS Batch.

Per ulteriori informazioni, vedi Perché il mio lavoro è bloccato nello stato? AWS Batch RUNNABLE in Re:post.