Aggiornamento degli ambienti di elaborazione - 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à.

Aggiornamento degli ambienti di elaborazione

Dopo aver creato un ambiente di calcolo che utilizza EC2 risorse, è possibile aggiornare direttamente molte delle impostazioni dell'ambiente di calcolo. Tuttavia, la modifica di alcune impostazioni richiede la AWS Batch sostituzione delle istanze nell'ambiente di calcolo.

Aggiornamento AWS Fargate degli ambienti di calcolo

Per gli ambienti di calcolo che utilizzano risorse Fargate, è possibile aggiornare quanto segue.

  • securityGroupIds

  • subnets

  • desiredvCpus

  • maxvCpus

  • minvCpus

AWS Batch dispone di due meccanismi di aggiornamento. Il primo è un aggiornamento di scalabilità in cui le istanze vengono aggiunte o rimosse dall'ambiente di calcolo. Il secondo è un aggiornamento dell'infrastruttura in cui le istanze nell'ambiente di calcolo vengono sostituite. Un aggiornamento dell'infrastruttura richiede molto più tempo rispetto a un aggiornamento di scalabilità.

Se aggiorni gli ambienti di calcolo con AWS Batch, la modifica solo di queste impostazioni causa un aggiornamento scalabile: desired vCPUs (desiredvCpus), maximum vCPUs (maxvCpus), minimum vCPUs (minvCpus), service role (serviceRole) e state (). state

Nota

Quando aggiorni l'desiredvCpusimpostazione, il valore deve essere compreso tra i valori minvCpus emaxvCpus.

Inoltre, il desiredvCpus valore aggiornato deve essere maggiore o uguale al desiredvCpus valore corrente. Per ulteriori informazioni, consulta Messaggio di errore quando si aggiorna l'desiredvCpusimpostazione.

Se una delle seguenti impostazioni viene modificata in un UpdateComputeEnvironmentAPIazione, AWS Batch avvia un aggiornamento dell'infrastruttura. Un aggiornamento dell'infrastruttura richiede che il ruolo del servizio sia impostato su AWSServiceRoleForBatch(impostazione predefinita) e che la strategia di allocazione sia BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED, o. SPOT_PRICE_CAPACITY_OPTIMIZED BEST_FITnon è supportato. Ad eccezione del ruolo di servizio, tutte le impostazioni che possono essere modificate per un aggiornamento di scalabilità possono essere modificate anche per un aggiornamento dell'infrastruttura.

Nota

Si consiglia di utilizzare SPOT_PRICE_CAPACITY_OPTIMIZED anziché SPOT_CAPACITY_OPTIMIZED n nella maggior parte dei casi.

Durante un aggiornamento dell'infrastruttura, lo stato dell'ambiente di elaborazione cambia in. UPDATING Le nuove istanze vengono avviate utilizzando le impostazioni aggiornate. Sulle nuove istanze vengono pianificati nuovi lavori. I lavori attualmente in esecuzione vengono inviati in base alla politica di aggiornamento dell'infrastruttura. Per ulteriori informazioni, vedere UpdateComputeEnvironmente UpdatePolicynella Guida di riferimento.AWS Batch API

Nel tipo di UpdatePolicy dati, considera i seguenti scenari:

Nota

In questi scenari, è vero quanto segue. Quando un'istanza viene terminata, i processi in esecuzione vengono interrotti. Per impostazione predefinita, questi processi non vengono ritentati. Per riprovare uno di questi processi dopo la chiusura di un'istanza, configura una strategia per riprovare il processo. Per ulteriori informazioni, consulta Ritentativi di lavoro automatizzati nella Guida per l'utente di AWS Batch .

  • Se l'terminateJobsOnUpdateimpostazione è impostata sutrue, i processi in esecuzione vengono interrotti durante un aggiornamento dell'infrastruttura. L'jobExecutionTimeoutMinutesimpostazione viene ignorata.

  • Se l'terminateJobsOnUpdateimpostazione è impostata sufalse, i lavori possono essere eseguiti per un periodo di tempo aggiuntivo dopo l'aggiornamento dell'infrastruttura. Questo tempo aggiuntivo è configurato nell'jobExecutionTimeoutMinutesimpostazione. Per impostazione predefinita, l'jobExecutionTimeoutMinutesimpostazione è 30 minuti.

Man mano che la capacità diventa disponibile nell'ambiente di elaborazione, vengono lanciate nuove istanze con le impostazioni aggiornate e vengono avviati i processi sulle nuove istanze. Quando tutti i processi vengono completati sulle istanze con le impostazioni precedenti, le vecchie istanze vengono terminate. La capacità disponibile significa che il numero desiderato di istanze vCPUs è inferiore al numero massimo di almeno il numero richiesto vCPUs dal tipo di vCPUs istanza più piccolo.

Aggiornamenti dell'infrastruttura

È necessario un aggiornamento dell'infrastruttura per modificare alcune impostazioni per un ambiente di elaborazione. Se viene modificata una delle seguenti impostazioni, viene avviato un aggiornamento dell'infrastruttura:

Importante

L'ambiente di calcolo deve utilizzare il ruolo AWSServiceRoleForBatchcollegato al servizio per apportare modifiche che richiedono un aggiornamento dell'infrastruttura.

Se l'ambiente di calcolo utilizza un ruolo collegato al servizio, non può essere modificato per utilizzare un ruolo normale. IAM Allo stesso modo, se l'ambiente di calcolo ha un IAM ruolo regolare, non può essere modificato per utilizzare un ruolo collegato al servizio. Pertanto, è possibile eseguire aggiornamenti dell'infrastruttura solo su ambienti di calcolo creati utilizzando un ruolo collegato al servizio.

  • La strategia di allocazione (allocationStrategy, deve essere oBEST_FIT_PROGRESSIVE. SPOT_CAPACITY_OPTIMIZED SPOT_PRICE_CAPACITY_OPTIMIZED Se la strategia di allocazione originale èBEST_FIT, gli aggiornamenti dell'infrastruttura non sono supportati.)

    Nota

    Si consiglia di utilizzare SPOT_PRICE_CAPACITY_OPTIMIZED anziché SPOT_CAPACITY_OPTIMIZED n nella maggior parte dei casi.

  • Percentuale di offerta () bidPercentage

  • EC2configurazione (ec2Configuration)

  • Coppia di chiavi (ec2KeyPair)

  • ID immagine (imageId)

  • Ruolo dell'istanza (instanceRole)

  • Tipi di istanze (instanceTypes)

  • Modello di avvio (launchTemplate)

  • Gruppo di posizionamento (placementGroup)

  • Gruppi di sicurezza (securityGroupIds)

  • VPCsottoreti () subnets

  • EC2tag () tags

  • Tipo di ambiente di calcolo (type, può essere uno di EC2 oSPOT)

  • Se eseguire l'aggiornamento alla versione più recente AMI supportata da AWS Batch durante un aggiornamento dell'infrastruttura updateToLatestImageVersion

Aggiornamento dell'AMIID

Durante un aggiornamento dell'infrastruttura, l'AMIID dell'ambiente di calcolo potrebbe cambiare, a seconda che sia AMIs specificato in una di queste tre impostazioni. AMIssono specificati nel imageId (incomputeResources), imageIdOverride (inec2Configuration) o nel modello di avvio specificato inlaunchTemplate. Supponiamo che nessuno AMI IDs sia specificato in nessuna di queste impostazioni e che l'updateToLatestImageVersionimpostazione siatrue. Quindi, l'ultima versione ECS ottimizzata di Amazon AMI supportata da AWS Batch viene utilizzata per qualsiasi aggiornamento dell'infrastruttura.

Se viene specificato un AMI ID in almeno una di queste impostazioni, l'aggiornamento dipende dall'impostazione che ha fornito l'AMIID utilizzato prima dell'aggiornamento. Quando si crea un ambiente di calcolo, la priorità per la selezione di un AMI ID è innanzitutto il modello di avvio, poi l'imageIdimpostazione e infine l'imageIdOverrideimpostazione. Tuttavia, se l'AMIID utilizzato proviene dal modello di avvio, l'aggiornamento imageIdOverride delle impostazioni imageId o non aggiorna l'AMIID. L'unico modo per aggiornare un AMI ID selezionato dal modello di lancio è aggiornare il modello di lancio. Se il parametro della versione del modello di lancio è $Default o$Latest, viene valutata la versione predefinita o più recente del modello di lancio specificato. Se per impostazione predefinita è selezionato un AMI ID diverso o è selezionata la versione più recente del modello di lancio, tale AMI ID viene utilizzato nell'aggiornamento.

Se il modello di lancio non è stato utilizzato per selezionare l'AMIAMIID, viene utilizzato l'ID specificato nei imageIdOverride parametri imageId o. Se vengono specificati entrambi, viene utilizzato l'AMIID specificato nel imageIdOverride parametro.

Supponiamo che l'ambiente di calcolo utilizzi un AMI ID specificato dai launchTemplate parametri imageIdimageIdOverride, o e che tu voglia utilizzare l'ultima versione ECS ottimizzata di Amazon AMI supportata da. AWS Batch Quindi, l'aggiornamento deve rimuovere le impostazioni fornite. AMI IDs Ciò richiede infatti la specificazione di una stringa vuota per quel parametro. imageId PerchéimageIdOverride, ciò richiede la specificazione di una stringa vuota per il ec2Configuration parametro.

Se l'AMIID proviene dal modello di lancio, puoi passare all'ultima versione ECS ottimizzata AMI di Amazon, AWS Batch supportata in uno dei seguenti modi:

  • Rimuovi il modello di lancio specificando una stringa vuota per il launchTemplateName parametro launchTemplateId or. Questo rimuove l'intero modello di lancio, anziché il solo AMI ID.

  • Se la versione aggiornata del modello di lancio non specifica un AMI ID, il updateToLatestImageVersion parametro deve essere impostato sutrue.