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'desiredvCpus
impostazione, 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_PROGRESSIVE
SPOT_CAPACITY_OPTIMIZED
, o. SPOT_PRICE_CAPACITY_OPTIMIZED
BEST_FIT
non è 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'
terminateJobsOnUpdate
impostazione è impostata sutrue
, i processi in esecuzione vengono interrotti durante un aggiornamento dell'infrastruttura. L'jobExecutionTimeoutMinutes
impostazione viene ignorata. -
Se l'
terminateJobsOnUpdate
impostazione è impostata sufalse
, i lavori possono essere eseguiti per un periodo di tempo aggiuntivo dopo l'aggiornamento dell'infrastruttura. Questo tempo aggiuntivo è configurato nell'jobExecutionTimeoutMinutes
impostazione. Per impostazione predefinita, l'jobExecutionTimeoutMinutes
impostazione è 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 diEC2
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'updateToLatestImageVersion
impostazione 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'imageId
impostazione e infine l'imageIdOverride
impostazione. 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 imageId
imageIdOverride
, 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
parametrolaunchTemplateId
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
.