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à.
Eseguire aggiornamenti dell'infrastruttura
Gli aggiornamenti dell'infrastruttura sostituiscono le istanze nell'ambiente di elaborazione con nuove istanze con impostazioni aggiornate. Questa strategia di aggiornamento richiede più tempo rispetto agli aggiornamenti di scalabilità e richiede impostazioni specifiche del ruolo del servizio e della strategia di allocazione. Gli aggiornamenti dell'infrastruttura forniscono un modo per modificare le configurazioni fondamentali dell'ambiente di calcolo mantenendo la disponibilità del servizio.
Importante
Gli aggiornamenti dell'infrastruttura richiedono il ruolo AWSServiceRoleForBatch collegato ai servizi e una strategia di allocazione diBEST_FIT_PROGRESSIVE,,, BEST_FIT_PROGRESSIVE_ORDERED o. SPOT_CAPACITY_OPTIMIZED SPOT_PRICE_CAPACITY_OPTIMIZED SPOT_CAPACITY_OPTIMIZED_PRIORITIZED Se il tuo ambiente non soddisfa questi requisiti, utilizza blue/green invece gli aggiornamenti.
Modifiche che attivano gli aggiornamenti dell'infrastruttura
Quando si modifica una delle seguenti impostazioni, AWS Batch esegue un aggiornamento dell'infrastruttura. Gli aggiornamenti dell'infrastruttura si verificano anche quando si modificano queste impostazioni insieme alla scalabilità delle impostazioni di aggiornamento.
Le seguenti impostazioni attivano gli aggiornamenti dell'infrastruttura:
Configurazione di calcolo
-
allocationStrategy— Determina la modalità di AWS Batch selezione dei tipi di istanza. -
instanceTypes— Specifica quali tipi di istanze EC2 utilizzare. -
bidPercentage— Percentuale massima di On-Demand prezzo per le istanze Spot. -
type— Tipo di ambiente di calcolo (EC2oSPOT).
AMI e configurazione di avvio
-
imageId— AMI specifica da utilizzare per le istanze. -
ec2Configuration— Configurazione EC2 inclusa.imageIdOverride -
launchTemplate— Impostazioni del modello di avvio EC2. -
ec2KeyPair— Coppia di chiavi SSH per esempio l'accesso. -
updateToLatestImageVersion— Impostazione degli aggiornamenti automatici dell'AMI.
Rete e sicurezza
-
subnets— Sottoreti VPC in cui vengono lanciate le istanze (per ambienti di elaborazione EC2). -
securityGroupIds— Gruppi di sicurezza per le istanze (per ambienti di calcolo EC2). -
placementGroup— Configurazione del gruppo di collocamento EC2.
Altre impostazioni
-
instanceRole— Ruolo IAM per le istanze EC2. -
tags— Tag applicati alle istanze EC2.
Importante
Se si modificano le impostazioni di aggiornamento dell'infrastruttura insieme alla scalabilità delle impostazioni di aggiornamento (ad esempiodesiredvCpus,, ominvCpus)maxvCpus, AWS Batch esegue un aggiornamento dell'infrastruttura. Gli aggiornamenti dell'infrastruttura richiedono più tempo rispetto agli aggiornamenti di scalabilità.
Selezione dell'AMI durante gli aggiornamenti dell'infrastruttura
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 in 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 sia. true Quindi, l'ultima AMI ottimizzata per Amazon ECS supportata da AWS Batch viene utilizzata per qualsiasi aggiornamento dell'infrastruttura.
Se un ID AMI è specificato in almeno una di queste impostazioni, l'aggiornamento dipende dall'impostazione fornita dall'ID AMI utilizzato prima dell'aggiornamento. Quando si crea un ambiente di calcolo, la priorità per la selezione di un ID AMI è innanzitutto 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 lancio è aggiornare il modello di lancio. Se il parametro di versione del modello di lancio è $Default o$Latest, viene valutata la versione predefinita o più recente del modello di lancio specificato. Se viene selezionato un ID AMI diverso per impostazione predefinita o viene selezionata la versione più recente del modello di lancio, tale ID AMI viene utilizzato nell'aggiornamento.
Se il modello di lancio non è stato utilizzato per selezionare l'ID AMI, viene utilizzato l'ID AMI specificato nei imageIdOverride parametri imageId or. 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 parametriimageId,imageIdOverride, o e che tu voglia utilizzare l'ultima AMI ottimizzata per Amazon ECS supportata da. AWS Batch Quindi, l'aggiornamento deve rimuovere le impostazioni che hanno fornito gli ID AMI. PerchéimageId, ciò richiede la specificazione di una stringa vuota per quel parametro. PerchéimageIdOverride, è necessario specificare una stringa vuota per il ec2Configuration parametro.
Se l'ID AMI proviene dal modello di lancio, 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
launchTemplateIdorlaunchTemplateName. Ciò rimuove l'intero modello di avvio, anziché il solo ID AMI. -
Se la versione aggiornata del modello di lancio non specifica un ID AMI, il
updateToLatestImageVersionparametro deve essere impostato sutrue.
Gestione dei lavori durante gli aggiornamenti
Configura come vengono gestiti i job in esecuzione durante un aggiornamento dell'infrastruttura utilizzando la policy di aggiornamento. Una volta impostatoterminateJobsOnUpdate=true, i processi in esecuzione vengono interrotti immediatamente, l'jobExecutionTimeoutMinutesimpostazione viene ignorata e l'aggiornamento procede non appena è possibile sostituire le istanze. Una volta impostatoterminateJobsOnUpdate=false, i processi in esecuzione continuano per il periodo di timeout specificato con un timeout predefinito di 30 minuti e i job vengono terminati se superano il timeout.
Nota
Per riprovare i processi terminati durante un aggiornamento, configura una strategia per riprovare i processi. Per ulteriori informazioni, consulta Ritentativi automatici del lavoro.
Monitoraggio degli aggiornamenti dell'infrastruttura
Monitora gli aggiornamenti dell'infrastruttura utilizzando la AWS Batch console per osservare il cambiamento dello stato dell'ambiente di elaborazioneUPDATING, monitorare l'avanzamento della sostituzione delle istanze e verificare eventuali aggiornamenti non riusciti. L'aggiornamento ha esito positivo una volta raggiunto lo stato dell'ambiente di calcolo. VAILD È inoltre possibile utilizzarlo CloudWatch per tenere traccia degli eventi di chiusura delle istanze e monitorare gli stati dei processi durante l'aggiornamento. Con il AWS CLI, usa il describe-compute-environments comando per controllare lo stato e monitorare gli eventi del ciclo di vita dell'istanza.