AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Come posso risolvere il problema di un processo in AWS Batch bloccato nello stato ESEGUIBILE?
Il mio processo in AWS Batch è bloccato nello stato ESEGUIBILE.
Breve descrizione
AWS Batch sposta un processo allo stato ESEGUIBILE quando il processo non ha dipendenze in sospeso e AWS Batch può pianificarlo. I processi ESEGUIBILI si avviano non appena sono disponibili risorse sufficienti in uno degli ambienti di calcolo mappati sulla coda del processo.
Se le risorse necessarie per eseguire un processo non sono disponibili, il processo potrebbe rimanere bloccato nello stato ESEGUIBILE.
Nota: la seguente risoluzione risolve i problemi relativi ai processi di AWS Batch eseguiti nei container Amazon Elastic Container Service (Amazon ECS). Questi container possono essere eseguiti in istanze Amazon Elastic Compute Cloud (Amazon EC2) o ambienti di calcolo AWS Fargate. Per risolvere i problemi dei processi di AWS Batch eseguiti in Amazon Elastic Kubernetes Service (Amazon EKS), consulta AWS Batch su Amazon EKS.
Risoluzione
Prima di tutto, determina se il processo bloccato sta bloccando la coda FIFO. Se questo non risolve il problema, automatizza la risoluzione dei problemi per determinarne la causa o risolvilo manualmente.
Verifica la presenza di una coda FIFO bloccata
Un processo potrebbe rimanere bloccato nello stato ESEGUIBILE all'inizio di una coda FIFO a causa dei seguenti problemi:
- Il processo non utilizza la pianificazione con condivisione equa, per cui tutti gli altri processi in coda non possono essere eseguiti.
- È presente un errore di configurazione nell'account AWS.
- L'account non ha accesso alle istanze richieste per il processo. Ad esempio, l'account potrebbe richiedere un tipo di istanza GPU.
Per sbloccare la coda FIFO, utilizza GetJobQueueSnapshot per individuare il processo che blocca la coda e chiudilo.
Automatizza il processo di risoluzione dei problemi
Utilizza il runbook AWSSupport-TroubleshootAWSBatchJob per risolvere il problema di un processo di AWS Batch bloccato nello stato ESEGUIBILE. In alternativa, completa i passaggi nelle sezioni seguenti per risolvere manualmente il problema.
Verifica che l'ambiente di calcolo disponga di risorse sufficienti per eseguire il processo
Completa i seguenti passaggi:
- Apri la console AWS Batch.
- Nel pannello di navigazione, scegli Dashboard.
- Nella sezione Panoramica della coda dei processi, nella colonna ESEGUIBILE, seleziona il processo bloccato nello stato ESEGUIBILE. Viene visualizzata la pagina dei dettagli del processo.
- Scegli la scheda Container, quindi annota i valori riportati per vCPU, Memoria e GPU per completare i passaggi 9-10.
- Nel pannello di navigazione, scegli Code dei processi, quindi scegli la coda del processo.
- Nella scheda Ordine dell'ambiente, identifica gli ambienti di calcolo associati alla coda del processo.
- Nel pannello di navigazione, scegli Ambienti, quindi seleziona un ambiente di calcolo per esaminarne le autorizzazioni.
- Nella sezione Stato, verifica che nella colonna Stato l'ambiente di calcolo sia Valido.
Nota: in caso di errori intermittenti o transitori, potrebbero essere necessari alcuni minuti prima che lo stato dell'ambiente di calcolo passi da Valido a Non valido. - Nella scheda Dettagli, verifica che il ruolo di servizio associato all'ambiente abbia tutte le autorizzazioni necessarie.
- Nella sezione Stato, verifica che la colonna Stato riporti Abilitato.
- Nella scheda Risorse di calcolo, seleziona il valore Numero massimo di vCPU. Questo valore deve essere sufficientemente alto da consentire ad AWS Batch di aumentare il valore Numero desiderato di vCPU per eseguire i processi.
Nota: se utilizzi un ambiente di calcolo Fargate, consulta la sezione Verifica le impostazioni di rete e sicurezza dell'ambiente di calcolo. - Verifica che il valore Numero desiderato di vCPU sia uguale o superiore al numero di vCPU che il processo deve eseguire.
- Se il valore Numero desiderato di vCPU è 0, controlla la quantità di memoria e di risorse CPU disponibili per il tipo di istanza Amazon EC2. Se il valore Numero desiderato di vCPU è superiore a 0 o il processo è ancora in stato ESEGUIBILE, completa i passaggi indicati nella sezione successiva.
Ripeti i passaggi 6-14 per ogni ambiente di calcolo.
Importante: almeno uno dei tipi di istanza per l'ambiente di calcolo deve avere più memoria di quella specificata dal processo. Inoltre, il tipo di istanza deve disporre di risorse della CPU uguali o superiori a quelle specificate dal processo. Se almeno un tipo di istanza non dispone di risorse di memoria o CPU sufficienti per eseguire il processo, annulla il processo. Esegui un nuovo processo che richiede meno CPU o memoria. Oppure, crea un nuovo ambiente di calcolo con risorse sufficienti per eseguire il processo, quindi assegna il processo alla coda dei processi appropriata.
Verifica che l'ambiente di calcolo abbia istanze e che le istanze siano disponibili per eseguire il processo
Per l'ambiente di calcolo in cui viene eseguito il processo, completa i seguenti passaggi:
- Apri la console Amazon ECS.
- Nel pannello di navigazione, scegli Cluster, quindi seleziona il cluster che contiene il processo.
Nota: il nome del cluster inizia con il nome dell'ambiente di calcolo, seguito da _Batch_ e un hash casuale di numeri e lettere. - Scegli la scheda Infrastruttura.
- Nella sezione Istanze di container, trova le istanze di container e verifica che siano disponibili per eseguire il processo.
Se il cluster ha un'istanza di container disponibile per eseguire il processo, controlla lo stato del daemon Docker e dell' agente container di Amazon ECS. Per ulteriori informazioni, consulta Come posso risolvere i problemi relativi a un agente Amazon ECS disconnesso?
Se non sono presenti istanze nel cluster Amazon ECS, verifica se puoi creare istanze nell'ambiente di calcolo.
Ambiente di calcolo on demand
Completa i seguenti passaggi:
-
Apri la console Amazon EC2.
-
Nel pannello di navigazione scegli Auto Scaling, quindi scegli Gruppi Auto Scaling.
-
Nella casella di ricerca, inserisci il nome dell'ambiente di calcolo, quindi selezionalo.
Nota: Amazon EC2 può creare più di un gruppo Auto Scaling per lo stesso ambiente di calcolo. -
Per ogni gruppo Auto Scaling, scegli la scheda Attività, quindi cerca i problemi bloccanti nella sezione Cronologia attività.
Nota: la colonna Stato indica Operazione non riuscita quando sono presenti problemi che impediscono l'avvio delle istanze.
Ad esempio, se l'account raggiunge il numero massimo di istanze, Amazon EC2 potrebbe restituire un messaggio simile al seguente:
"Launching a new EC2 instance. Status Reason: Your quota allows for 0 more running instance(s). You requested at least 1. Launching EC2 instance failed."
L'evento include un timestamp in UTC a partire da quando hai inviato il processo:At 2018-09-03T05:54:30Z a user request update of AutoScalingGroup constraints to min: 0, max: 1, desired: 1 changing the desired capacity from 0 to 1.At 2018-09-03T05:54:52Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1.Nota: AWS Batch richiede istanze per tuo conto. Se modifichi manualmente i gruppi Auto Scaling, l'ambiente di calcolo potrebbe essere invalidato. Per ulteriori informazioni sui limiti delle istanze e sulle modalità di richiesta di un aumento dei limiti, consulta le Quote di servizio di Amazon EC2.
Se il gruppo Auto Scaling mostra solo gli eventi riusciti in Eventi recenti, completa i passaggi nella sezione Verifica il ruolo IAM dell'istanza di container.
Importante: devi impostare le autorizzazioni per il ruolo di servizio AWS Identity and Access Management ( AWS IAM) AWSServiceRoleForAutoScaling. Il ruolo IAM AWSServiceRoleForAutoScaling deve avere accesso alla chiave del Servizio AWS di gestione delle chiavi (AWS KMS) gestita dal cliente. Questo è necessario in ambienti con Amazon Machine Image (AMI) personalizzate, volumi Amazon Elastic Block Store (Amazon EBS) crittografati e chiavi AWS KMS gestite dal cliente. Per ulteriori informazioni, consulta Sezioni delle policy delle chiavi che permettono l'accesso alla chiave gestita dal cliente.
Ambiente di calcolo spot
Completa i seguenti passaggi:
- Apri la console Amazon EC2.
- Nel pannello di navigazione, scegli Richieste spot.
- Scegli Tipo di richiesta, quindi scegli Tipo di richiesta = parco.
- Seleziona la richiesta spot.
- Per Stato, scegli attivo.
- Scegli Descrizione, quindi esamina il valore Capacità di destinazione totale per determinare se la richiesta di istanza spot è stata soddisfatta. Se non ci sono istanze, controlla la vista Cronologia per determinarne il motivo.
Ad esempio, le richieste che non riescono a raggiungere un prezzo di offerta restituiscono un messaggio simile a quello seguente:
"m4.large, ami-aff65ad2, Linux/UNIX (Amazon VPC), us-east-1a, Spot bid price is less than Spot market price $0.0324" - Scegli una percentuale di offerta appropriata per l'ambiente di calcolo. Se modifichi il prezzo dell'offerta, assicurati di creare un nuovo ambiente di calcolo. Per ulteriori informazioni, consulta Visualizza la cronologia dei prezzi delle istanze spot.
Nota: AWS Batch crea richieste di parco istanze spot per tuo conto. Evita di modificare manualmente le richieste di parco istanze spot, altrimenti l'ambiente di calcolo potrebbe essere invalidato.
Se gli eventi più recenti del gruppo Auto Scaling mostrano solo eventi con esito positivo, completa i passaggi indicati nella sezione successiva.
Controlla il ruolo IAM dell'istanza di container
Completa i seguenti passaggi:
- Apri la console AWS Batch.
- Nel pannello di navigazione, scegli Ambienti, quindi seleziona l'ambiente di calcolo.
- Nella scheda Dettagli, annota il nome Ruolo dell'istanza.
- Apri la console IAM.
- Nella casella di ricerca, inserisci il nome Ruolo dell'istanza, quindi seleziona il ruolo dell'istanza.
- Scegli la scheda Autorizzazioni. Nella sezione Policy di autorizzazione, verifica di aver collegato al ruolo la policy gestita AmazonEC2ContainerServiceforEC2Role. Se hai collegato la policy, procedi al passaggio 11.
- Scegli Aggiungi autorizzazioni, quindi seleziona Collega policy.
- Nella sezione Altre politiche di autorizzazione, inserisci AmazonEC2ContainerServiceforEC2Role nella casella di ricerca.
- Seleziona AmazonEC2ContainerServiceforEC2Role, quindi scegli Aggiungi autorizzazioni.
- Scegli la scheda Relazioni di attendibilità, quindi seleziona Modifica policy di attendibilità.
- Verifica che la policy di attendibilità contenga la seguente istruzione:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
- Se la policy di attendibilità include l'istruzione precedente, scegli Annulla. Se la policy di attendibilità non include l'istruzione precedente, aggiungila. Quindi scegli Aggiorna policy.
Se l'istanza non si unisce ancora al cluster Amazon ECS, completa i passaggi indicati nella sezione successiva.
Controlla le impostazioni di rete e di sicurezza dell'ambiente di calcolo
Completa i seguenti passaggi:
- Apri la console AWS Batch.
- Nel pannello di navigazione, scegli Ambienti, quindi seleziona l'ambiente di calcolo.
- Nella sezione Risorse di calcolo, copia i valori Sottoreti e Gruppi di sicurezza.
- Apri la console Amazon Virtual Private Cloud (Amazon VPC).
- Nel pannello di navigazione, scegli Sottoreti.
- Seleziona ciascuna sottorete nell'ambiente di calcolo, quindi individua i valori di Auto-assign public IPv4 address (Assegna automaticamente indirizzo IPv4 pubblico) nella scheda Dettagli.
Se il valore di Auto-assign public IPv4 address (Assegna automaticamente indirizzo IPv4 pubblico) è Sì, le istanze avviate nella sottorete hanno le seguenti proprietà:
Un indirizzo IPv4 pubblico
Una tabella di routing con una destinazione di routing 0.0.0.0/0
Un gateway Internet, ad esempio igw-1a2b3c4d, impostato su Destinazione
Se il valore di Auto-assign public IPv4 address (Assegna automaticamente indirizzo IPv4 pubblico) è No, le istanze avviate nella sottorete hanno le seguenti proprietà:
Un indirizzo IPv4 privato
Una tabella di routing con una destinazione di routing 0.0.0.0/0
Un gateway NAT, ad esempio nat-12345678901234567, impostato su Destinazione
Nota: per ulteriori informazioni, consulta Routing. - Nel pannello di navigazione, scegli Gruppi di sicurezza.
- Per ogni gruppo di sicurezza dell'ambiente di calcolo, scegli la scheda Regole in uscita. Quindi verifica che esista una regola con le seguenti impostazioni:
Per Tipo, scegli Tutto il traffico.
Per Protocollo, scegli Tutti.
Per Intervallo porte, scegli Tutte.
Per Destinazione, scegli 0.0.0.0/0.
Importante: se la regola non esiste, scegli Operazioni, quindi seleziona Modifica regole in uscita. Quindi crea la regola. Per una regola più restrittiva per il traffico in uscita, scegli HTTPS (443) per Tipo e 0.0.0.0/0 per Destinazione. - Nel pannello di navigazione, scegli Liste di controllo degli accessi alla rete.
- Seleziona la lista di controllo degli accessi alla rete (ACL) del VPC.
- Nelle schede Regole in entrata e Regole in uscita, verifica che l'ACL consenta il flusso di tutto il traffico in entrata e in uscita dalle sottoreti associate.
Importante: se hai modificato l'ACL, aggiungi una regola che consenta il traffico HTTPS IPv4 in uscita dalla sottorete a Internet. Per ulteriori informazioni, consulta Controlla il traffico verso AWS le tue risorse utilizzando i gruppi di sicurezza e Controllo del traffico della sottorete con le liste di controllo degli accessi alla rete. Per modificare il VPC, le sottoreti o i gruppi di sicurezza, crea un nuovo ambiente di calcolo.
Se l'istanza non si unisce ancora al cluster Amazon ECS, connettiti all'istanza. Controlla lo stato del daemon Docker e dell'agente container di Amazon ECS. Per ulteriori informazioni, consulta Come posso risolvere i problemi relativi a un agente Amazon ECS disconnesso?
Nota: per risolvere ulteriormente un processo di AWS Batch bloccato nello stato ESEGUIBILE, utilizza AWS CloudTrail. Imposta l'attributo Username su aws-batch per cercare gli errori che si verificano durante le attività pianificate.
Informazioni correlate
Connect to your Linux instance using SSH
Connessione all'istanza Windows con il protocollo RDP
Introducing new alerts to help users detect and react to blocked job queues in AWS Batch (Presentazione di nuovi avvisi per aiutare gli utenti a rilevare e reagire alle code dei processi bloccate in AWS Batch)

Contenuto pertinente
AWS UFFICIALEAggiornata 4 anni fa