View a markdown version of this page

Ambienti di elaborazione gestiti - 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à.

Ambienti di elaborazione gestiti

È possibile utilizzare un ambiente di elaborazione gestito per AWS Batch gestire la capacità e i tipi di istanza delle risorse di elaborazione all'interno dell'ambiente. Ciò si basa sulle specifiche delle risorse di elaborazione definite al momento della creazione dell'ambiente di elaborazione. Puoi scegliere di utilizzare le istanze Amazon EC2 e On-Demand le istanze Spot di Amazon EC2. In alternativa, puoi utilizzare la capacità di Fargate e Fargate Spot nel tuo ambiente di elaborazione gestito. Quando si utilizzano le istanze Spot, è possibile impostare facoltativamente un prezzo massimo. In questo modo, le istanze Spot vengono avviate solo quando il prezzo delle istanze Spot è inferiore a una percentuale specificata del prezzo. On-Demand

Importante

Le istanze Spot di Fargate non sono supportate su. Windows containers on AWS Fargate Una coda di lavoro verrà bloccata se un FargateWindows lavoro viene inviato a una coda di lavori che utilizza solo ambienti di calcolo Fargate Spot.

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 AWS Batch gestite, a meno che non sia esplicitamente indicato nella AWS Batch documentazione, può causare comportamenti imprevisti, tra cui ambienti di INVALID elaborazione, comportamento non ottimale di scalabilità delle istanze, 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 le AWS Batch API supportate o la AWS Batch console per gestire i tuoi ambienti di elaborazione.

Le modifiche manuali non supportate includono l'esecuzione di attività o servizi Amazon ECS personalizzati su cluster Amazon ECS AWS Batch gestiti o l'avvio di processi, demoni o servizi aggiuntivi direttamente su istanze gestite. AWS Batch AWS Batch assume il pieno controllo delle risorse di calcolo in un ambiente di calcolo gestito e può terminare istanze, interrompere attività o scalare il cluster in qualsiasi momento. Tutti i carichi di lavoro eseguiti al di fuori dell'invio di AWS Batch lavori su queste risorse gestite possono essere interrotti senza preavviso. L'esecuzione di AWS Batch carichi non di lavoro su cluster e istanze AWS Batch gestiti può inoltre interferire con la pianificazione dei processi e il ridimensionamento delle istanze. AWS Batch

Per gli ambienti di calcolo che utilizzano Amazon ECS, non impostare i valori di configurazione degli agenti Amazon ECS gestiti nei dati utente del modello di avvio. AWS Batch Per un elenco di valori riservati, consulta. Valori di configurazione riservati degli agenti Amazon ECS

Gli ambienti di calcolo gestiti lanciano le istanze Amazon EC2 nel VPC e nelle sottoreti specificati e quindi le registrano in un cluster Amazon ECS. Le istanze Amazon EC2 necessitano di un accesso di rete esterno per comunicare con l'endpoint del servizio Amazon ECS. Alcune sottoreti non forniscono alle istanze Amazon EC2 indirizzi IP pubblici. Se le tue istanze Amazon EC2 non hanno un indirizzo IP pubblico, devono utilizzare la traduzione degli indirizzi di rete (NAT) per ottenere questo accesso. Per ulteriori informazioni, consulta Gateway NAT nella Guida per l’utente di Amazon VPC. Per ulteriori informazioni su come creare un VPC, consulta. Crea un cloud privato virtuale

Per impostazione predefinita, gli ambienti di elaborazione AWS Batch gestiti utilizzano una versione recente e approvata dell'AMI ottimizzata di Amazon ECS per le risorse di calcolo. Tuttavia, potresti voler creare una tua AMI da utilizzare per i tuoi ambienti di elaborazione gestiti per vari motivi. Per ulteriori informazioni, consulta AMI per risorse di calcolo.

Nota

AWS Batch non aggiorna automaticamente le AMI in un ambiente di calcolo dopo la creazione. Ad esempio, non aggiorna le AMI nel tuo ambiente di calcolo quando viene rilasciata una versione più recente dell'AMI ottimizzata per Amazon ECS. Sei responsabile della gestione del sistema operativo guest. Ciò include eventuali aggiornamenti e patch di sicurezza. L'utente è inoltre responsabile di eventuali applicazioni, software o utilità aggiuntivi installati sulle risorse di calcolo. Esistono due modi per utilizzare una nuova AMI per le tue AWS Batch attività. Il metodo originale consiste nel completare questi passaggi:

  1. Creare un nuovo ambiente di calcolo con la nuova AMI.

  2. Aggiungere l'ambiente di calcolo a una coda di processi esistente.

  3. Rimuovere il precedente ambiente di calcolo dalla coda di processi.

  4. Eliminare l'ambiente di calcolo precedente.

Nell'aprile 2022, è AWS Batch stato aggiunto il supporto avanzato per l'aggiornamento degli ambienti di elaborazione. Per ulteriori informazioni, consulta Aggiornare un ambiente di calcolo in AWS Batch. Per utilizzare l'aggiornamento avanzato degli ambienti di calcolo per aggiornare le AMI, segui queste regole:

  • O non impostate il parametro service role (serviceRole) o impostatelo sul ruolo collegato al AWSServiceRoleForBatch servizio.

  • Imposta il parametro di allocazione strategy (allocationStrategy) suBEST_FIT_PROGRESSIVE,, BEST_FIT_PROGRESSIVE_ORDEREDSPOT_CAPACITY_OPTIMIZED, SPOT_PRICE_CAPACITY_OPTIMIZED o. SPOT_CAPACITY_OPTIMIZED_PRIORITIZED

  • Imposta il parametro di aggiornamento all'ultima versione dell'immagine (updateToLatestImageVersion) sutrue.

  • Non specificate un ID AMI in imageId, imageIdOverride (in ec2Configuration) o nel modello di avvio (launchTemplate). In tal caso, AWS Batch seleziona l'ultima AMI ottimizzata per Amazon ECS supportata AWS Batch al momento dell'avvio dell'aggiornamento dell'infrastruttura. In alternativa, puoi specificare l'ID AMI nei imageIdOverride parametri imageId o il modello di avvio identificato dalle proprietà. LaunchTemplate La modifica di una di queste proprietà avvia un aggiornamento dell'infrastruttura. Se l'ID AMI è specificato nel modello di avvio, non può essere sostituito specificando un ID AMI nei imageIdOverride parametri imageId o. Può essere sostituito solo specificando un modello di lancio diverso. Oppure, se la versione del modello di avvio è impostata su $Default o$Latest, impostando una nuova versione predefinita per il modello di avvio (se lo è$Default) o aggiungendo una nuova versione al modello di avvio (se lo è$Latest).

Se vengono seguite queste regole, qualsiasi aggiornamento che avvii un aggiornamento dell'infrastruttura comporterà la riselezione dell'ID AMI. Se l'versionimpostazione nel modello di lancio (launchTemplate) è impostata su $Latest o$Default, la versione più recente o predefinita del modello di lancio viene valutata al momento dell'aggiornamento dell'infrastruttura, anche se non launchTemplate è stata aggiornata.

Considerazione da tenere in considerazione quando si creano processi paralleli a più nodi

AWS Batch consiglia di creare ambienti di calcolo dedicati per l'esecuzione di processi paralleli a più nodi (MNP) e non MNP. Ciò è dovuto al modo in cui viene creata la capacità di elaborazione nell'ambiente di elaborazione gestito. Quando si crea un nuovo ambiente di calcolo gestito, se si specifica un minvCpu valore maggiore di zero, viene AWS Batch creato un pool di istanze da utilizzare solo con processi non MNP. Se viene inviato un job parallelo a più nodi, AWS Batch crea una nuova capacità di istanza per eseguire i job paralleli multinodo. Nei casi in cui vi siano processi paralleli a nodo singolo e a più nodi in esecuzione nello stesso ambiente di calcolo in cui è impostato un maxvCpus valore minvCpus o, se le risorse di calcolo richieste non sono disponibili AWS Batch aspetterà il completamento dei lavori correnti prima di creare le risorse di calcolo necessarie per eseguire i nuovi lavori.