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à.
Drenare le istanze di container di Amazon ECS
In alcuni casi, potresti dover rimuovere un'istanza di container da un cluster; ad esempio, per eseguire aggiornamenti di sistema o ridurre verticalmente la capacità del cluster. Amazon ECS offre la possibilità di passare un'istanza di container a uno stato DRAINING. Questa operazione è nota come svuotamento dell'istanza di container. Quando un'istanza di container è impostata su DRAINING, Amazon ECS impedisce che venga pianificato il posizionamento di nuovi processi nell'istanza di container.
Comportamento di svuotamento per i servizi
Qualsiasi processo che fa parte di un servizio che si trova in uno stato PENDING viene arrestato immediatamente. Se nel cluster è disponibile la capacità dell'istanza di container, il pianificatore di servizi avvierà i processi di sostituzione. Se la capacità dell'istanza di container non è sufficiente, verrà inviato un messaggio di evento del servizio che indica il problema.
I processi che fanno parte di un servizio nell'istanza di container che si trovano in uno stato RUNNING passano a uno stato STOPPED. Lo scheduler di servizi prova a sostituire le attività in base al tipo di implementazione e ai parametri di configurazione dell'implementazione del servizio, minimumHealthyPercent e maximumPercent. Per ulteriori informazioni, consultare Servizi Amazon ECS e Parametri di definizione del servizio di Amazon ECS.
-
Se
minimumHealthyPercentè inferiore al 100%, il pianificatore può ignoraredesiredCounttemporaneamente durante la sostituzione delle attività. Ad esempio,desiredCountsono quattro attività, un minimo del 50% permette al pianificatore di interrompere due attività esistenti prima di avviare due nuove attività. Se il minimo è del 100%, il pianificatore del servizio non può rimuovere le attività esistenti fino a quando le attività di sostituzione non vengono considerate integre. Se le attività per i servizi che non utilizzano un bilanciatore del carico sono in statoRUNNING, vengono considerate integre. Le attività per i servizi che utilizzano un bilanciatore del carico vengono considerate integre se sono in statoRUNNINGe se il bilanciatore del carico considera integra l'istanza di container su cui sono ospitate.Importante
Se utilizzi le istanze Spot e
minimumHealthyPercentè maggiore o uguale al 100%, il servizio non avrà abbastanza tempo per sostituire l'attività prima della cessazione dell'istanza Spot. -
Il parametro
maximumPercentrappresenta un limite superiore al numero di attività in esecuzione durante la sostituzione delle attività. Ciò permette di definire le dimensioni del batch di sostituzione. Ad esempio, sedesiredCountdi quattro attività, un massimo di 200% avvia quattro nuove attività prima di interrompere le quattro attività affinché vengano esaurite (a condizione che le risorse del cluster necessarie per questa operazione siano disponibili). Se il massimo è 100%, le attività di sostituzione non possono avviarsi fino all'interruzione delle attività di esaurimento.Importante
Se
minimumHealthyPercentemaximumPercentsono entrambi al 100%, il servizio non può rimuovere i processi esistenti e non può inoltre avviare processi di sostituzione. Ciò impedisce il corretto svuotamento delle istanze del container e impedisce la creazione di nuove implementazioni.
Comportamento di svuotamento per processi autonomi
Qualsiasi processo autonomo nello stato PENDING o RUNNING non ne è influenzato; devi attenderne l'interruzione o interromperlo manualmente. L'istanza di container rimarrà nello DRAINING stato.
Comportamento di drenaggio per le istanze gestite da Amazon ECS
La terminazione di Amazon ECS Managed Instances garantisce transizioni agevoli dei carichi di lavoro, ottimizzando al contempo i costi e mantenendo lo stato del sistema. Il sistema di terminazione offre tre percorsi decisionali distinti per la terminazione delle istanze, ciascuno con caratteristiche temporali e profili di impatto sul cliente diversi.
- Terminazione avviata dal cliente
-
Consente il controllo diretto sulla rimozione delle istanze quando bisogna rimuovere immediatamente le istanze di container dal servizio. Si esegue con il parametro di richiesta impostato su true
deregister-container-instance.forceCiò significa che è necessaria la cessazione immediata nonostante i carichi di lavoro in esecuzione. - Terminazione dello stato di inattività avviata dal sistema
-
Amazon ECS Managed Instances monitora continuamente e ottimizza in modo proattivo i costi chiudendo le istanze di container Amazon ECS inattive che non eseguono alcuna attività. ECS utilizza un ritardo euristico per dare alle istanze di container la possibilità di acquisire attività appena avviate prima di essere terminate. Questo può essere personalizzato con il parametro di configurazione del provider di capacità di
scaleInAfterAmazon ECS Managed Instances. - Terminazione dell'aggiornamento dell'infrastruttura
-
Amazon ECS Managed Instances gestisce e aggiorna automaticamente il software sulle istanze di container gestite per garantire sicurezza e conformità mantenendo al contempo la disponibilità del carico di lavoro. Per ulteriori informazioni, consulta la sezione Applicazione di patch in Amazon ECS Managed Instances.
Il sistema di terminazione implementa un approccio in due fasi che bilancia la continuità del carico di lavoro e i requisiti di gestione dell'infrastruttura.
Fase 1: periodo di completamento graduale
Durante questa fase, il sistema implementa strategie di drenaggio graduale che danno priorità alla continuità del carico di lavoro. Le attività di assistenza vengono eseguite regolarmente tramite le normali attività di pianificazione di Amazon ECS. Le attività autonome continuano a funzionare perché potrebbero completarsi naturalmente. Il sistema controlla che tutte le attività raggiungano lo stato di arresto tramite attività di completamento naturali.
Fase 2: applicazione di scadenze rigide
Quando il completamento graduale non consente di raggiungere gli obiettivi di terminazione entro tempi accettabili, il sistema applica una scadenza rigida. Solitamente, la scadenza rigida è fissata al momento dell'avvio del drenaggio più sette giorni, in modo da garantire un tempo sufficiente per il completamento dell'operazione nel rispetto dei requisiti operativi. L'applicazione prevede delle procedure automatiche di annullamento forzato della registrazione e l'immediata terminazione di tutte le attività rimanenti, indipendentemente dal loro stato di completamento.
Un'istanza di container ha completato lo svuotamento quando tutti i processi in esecuzione sull'istanza passano a uno stato STOPPED. L'istanza di container rimane nello stato DRAINING finché non viene nuovamente attivata o eliminata. Puoi verificare lo stato delle attività sull'istanza del contenitore utilizzando l'ListTasksoperazione con il containerInstance parametro per ottenere un elenco di attività sull'istanza seguita da un'DescribeTasksoperazione con l'Amazon Resource Name (ARN) o l'ID di ciascuna attività per verificare lo stato dell'attività.
Quando desideri che l'istanza di container avvi nuovamente i processi di hosting, puoi modificare lo stato dell'istanza di container da DRAINING a ACTIVE. Lo scheduler del servizio Amazon ECS considera nuovamente l'istanza di container per il posizionamento dell'attività.
Procedura
Le seguenti fasi possono essere utilizzate per impostare lo svuotamento di un'istanza di container utilizzando la nuova AWS Management Console.
Puoi anche utilizzare l'azione UpdateContainerInstancesStateAPI o il update-container-instances-statecomando per modificare lo stato di un'istanza del contenitore inDRAINING.
AWS Management Console
Apri la console alla https://console.aws.amazon.com/ecs/v2
. -
Nel pannello di navigazione scegliere Cluster.
-
Alla pagina Clusters (Cluster), scegli un cluster che ospita le istanze.
-
Nella
namepagina Cluster:, scegli la scheda Infrastruttura. Quindi, in Container instances (Istanze di container) e seleziona la casella di controllo per ciascuna istanza di container che desideri svuotare. -
Scegli Operazioni, Drain.