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 risorse EC2, puoi 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.

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

  • securityGroupIds

  • subnets

  • desiredvCpus

  • maxvCpus

  • minvCpus

AWS Batchdispone 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 si aggiornano gli ambienti di elaborazione conAWS Batch, la modifica solo di queste impostazioni provoca un aggiornamento scalabile: vCPU desiderate ()desiredvCpus, numero massimo di vCPU (), vCPU minimo (maxvCpus), ruolo di servizio () e stato (). minvCpus serviceRole state

Nota

Quando si aggiorna l'desiredvCpusimpostazione, il valore deve essere compreso tra i valori e. minvCpus maxvCpus

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'azione UpdateComputeEnvironmentAPI, 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, consulta le pagine UpdateComputeEnvironment e UpdatePolicy nella Documentazione di riferimento dell'API AWS Batch.

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 vCPU è inferiore al numero massimo di vCPU di almeno un numero di vCPU pari a quello richiesto dal tipo di 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 normale ruolo IAM. Allo stesso modo, se l'ambiente di calcolo ha un ruolo IAM 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

  • Configurazione EC2 () 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)

  • Sottoreti VPC () subnets

  • Tag EC2 () tags

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

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

Aggiornamento dell'ID AMI

Durante un aggiornamento dell'infrastruttura, l'ID AMI dell'ambiente di calcolo potrebbe cambiare, a seconda che le AMI siano specificate in una di queste tre impostazioni. Le AMI sono specificate nel modello imageId (incomputeResources), imageIdOverride (inec2Configuration) o nel modello di avvio specificato in. launchTemplate Supponiamo che nessun ID AMI sia specificato in nessuna di queste impostazioni e che l'updateToLatestImageVersionimpostazione siatrue. Quindi, l'ultima AMI ottimizzata per Amazon ECS supportata da AWS Batch viene utilizzata per qualsiasi aggiornamento dell'infrastruttura.

Se in almeno una di queste impostazioni è specificato un ID AMI, l'aggiornamento dipende dall'impostazione che ha fornito l'ID AMI utilizzato prima dell'aggiornamento. Quando crei un ambiente di calcolo, la priorità per la selezione di un ID AMI è prima il modello di avvio, poi l'imageIdimpostazione e infine l'imageIdOverrideimpostazione. Tuttavia, se l'ID AMI utilizzato proviene dal modello di avvio, l'aggiornamento imageIdOverride delle impostazioni imageId o non aggiorna l'ID AMI. L'unico modo per aggiornare un ID AMI selezionato dal modello di avvio è aggiornare il modello di avvio. 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 ID AMI diverso o è selezionata la versione più recente del modello di avvio, tale ID AMI viene utilizzato nell'aggiornamento.

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

Supponiamo che l'ambiente di calcolo utilizzi un ID AMI specificato dai launchTemplate parametri imageIdimageIdOverride, o e che desideri utilizzare l'AMI ottimizzata Amazon ECS più recente supportata da. AWS Batch Quindi, l'aggiornamento deve rimuovere le impostazioni che hanno fornito gli ID AMI. 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'ID AMI proviene dal modello di avvio, puoi passare alla più recente AMI ottimizzata per Amazon ECS AWS Batch supportata in uno dei seguenti modi:

  • Rimuovi il modello di avvio specificando una stringa vuota per il parametro launchTemplateId orlaunchTemplateName. Ciò rimuove l'intero modello di avvio, anziché il solo ID AMI.

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