Gestisci automaticamente la capacità di Amazon ECS con il dimensionamento automatico dei cluster - Amazon Elastic Container Service

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à.

Gestisci automaticamente la capacità di Amazon ECS con il dimensionamento automatico dei cluster

Amazon ECS può gestire la scalabilità delle EC2 istanze Amazon registrate nel tuo cluster. Questa operazione viene definita dimensionamento automatico del cluster Amazon ECS. Quando crei il provider di capacità del gruppo Auto Scaling Amazon ECS, attivi il dimensionamento gestito. Quindi, imposti una percentuale di destinazione (targetCapacity) per l'utilizzo dell'istanza in questo gruppo Auto Scaling. Amazon ECS crea due CloudWatch metriche personalizzate e una politica di scalabilità di tracciamento mirata per il tuo gruppo Auto Scaling. Amazon ECS gestisce quindi le operazioni di dimensionamento e scalabilità orizzontale in base all'utilizzo delle risorse utilizzate dalle attività.

Per ogni provider di capacità del gruppo con scalabilità automatica associato a un cluster, Amazon ECS crea e gestisce le seguenti risorse.

  • Un allarme con un valore metrico basso CloudWatch

  • Un allarme con valore metrico elevato CloudWatch

  • Una policy di scalabilità di monitoraggio dei target

    Nota

    Amazon ECS crea la policy di scalabilità di monitoraggio dei target e la collega al gruppo con scalabilità automatica. Per aggiornare la policy di scalabilità di monitoraggio delle destinazioni, aggiornare le impostazioni di scalabilità gestita della policy e non aggiornare direttamente la policy di scalabilità.

Quando disattivi la scalabilità gestita o dissocii il fornitore di capacità da un cluster, Amazon ECS rimuove sia i CloudWatch parametri che le risorse della policy di scalabilità di tracciamento di destinazione.

Amazon ECS usa i seguenti parametri per determinare quali operazioni intraprendere:

CapacityProviderReservation

La percentuale di istanze di container in uso per un provider di capacità specifico. Questo parametro è generato da Amazon ECS.

Amazon ECS imposta il valore CapacityProviderReservation su un numero compreso tra 0 e 100. Amazon ECS utilizza la seguente formula per rappresentare il rapporto della capacità rimanente nel gruppo Auto Scaling. Quindi, Amazon ECS pubblica la metrica su. CloudWatch Per maggiori informazioni su come viene calcolato il parametro, consulta Approfondimento sul dimensionamento automatico del cluster Amazon ECS.

CapacityProviderReservation = (number of instances needed) / (number of running instances) x 100
DesiredCapacity

La quantità di capacità del gruppo Auto Scaling. Questa metrica non è pubblicata su. CloudWatch

Amazon ECS pubblica la CapacityProviderReservation metrica CloudWatch nel namespace. AWS/ECS/ManagedScaling Il parametro CapacityProviderReservation provoca una delle seguenti operazioni:

Il valore CapacityProviderReservation è uguale a targetCapacity

Il gruppo Auto Scaling non ha bisogno di essere ridimensionato o di impiegare la scalabilità orizzontale. La percentuale di utilizzo prevista è stata raggiunta.

Il valore CapacityProviderReservation è maggiore di targetCapacity

Ci sono più attività che utilizzano una percentuale di capacità più elevata rispetto alla percentuale targetCapacity. L'aumento del valore della CapacityProviderReservation metrica provoca l'attivazione dell'allarme associato. CloudWatch Questo allarme aggiorna il valore di DesiredCapacity per il gruppo Auto Scaling. Il gruppo Auto Scaling utilizza questo valore per avviare EC2 le istanze e quindi registrarle nel cluster.

Se targetCapacity è il valore predefinito del 100%, le nuove attività rimangono nello stato PENDING durante l'impiego della scalabilità orizzontale poiché non c'è capacità disponibile sulle istanze per eseguire le attività. Dopo la registrazione delle nuove istanze con ECS, queste attività verranno avviate sulle nuove istanze.

Il valore CapacityProviderReservation è inferiore a targetCapacity

Ci sono meno attività che utilizzano una percentuale di capacità inferiore rispetto alla percentuale targetCapacity ed è presente almeno un'istanza che può essere terminata. La diminuzione del valore della CapacityProviderReservation metrica provoca l'attivazione dell' CloudWatch allarme associato. Questo allarme aggiorna il valore di DesiredCapacity per il gruppo Auto Scaling. Il gruppo Auto Scaling utilizza questo valore per terminare le istanze dei EC2 container e quindi annullarne la registrazione dal cluster.

Il gruppo Auto Scaling utilizza le policy di terminazione, per determinare quali istanze terminare per prime durante gli eventi di ridimensionamento. Inoltre, evita le istanze con l'impostazione di protezione da ridimensionamento delle istanze attivata. Il dimensionamento automatico del cluster può gestire le istanze con l'impostazione di protezione per il ridimensionamento se la protezione da terminazione gestita è attivata. Per ulteriori informazioni sulla protezione da terminazione gestita, consulta Controlla le istanze terminate da Amazon ECS. Per ulteriori informazioni su come i gruppi di Auto Scaling terminano le istanze, consulta Controlla quali istanze di Auto Scaling terminano durante la scalabilità nella Amazon Auto Scaling User Guide. EC2

Quando utilizzi il dimensionamento automatico del cluster, tieni in considerazione i seguenti aspetti:

  • Non modificare o gestire la capacità desiderata per il gruppo con scalabilità automatica associato a un provider di capacità con policy di dimensionamento diverse da quelle gestite da Amazon ECS.

  • Quando Amazon ECS aumenta orizzontalmente da 0 istanze, ne avvia automaticamente 2.

  • Amazon ECS utilizza il ruolo IAM AWSServiceRoleForECS collegato al servizio per le autorizzazioni necessarie per richiamare AWS Auto Scaling per tuo conto. Per ulteriori informazioni, consulta Uso di ruoli collegati ai servizi per Amazon ECS.

  • Quando utilizzi provider di capacità con gruppi con scalabilità automatica, l'utente, il gruppo e il ruolo che crea i provider di capacità richiedono l'autorizzazione autoscaling:CreateOrUpdateTags. Questo perché Amazon ECS aggiunge un tag al gruppo Auto Scaling quando lo associ al provider di capacità.

    Importante

    Assicurati che qualsiasi strumento utilizzato non rimuova il tag AmazonECSManaged dal gruppo con scalabilità automatica. Se questo tag viene rimosso, Amazon ECS non sarà in grado di gestire il dimensionamento.

  • La scalabilità automatica del cluster non modifica l'MinimumCapacityor MaximumCapacityper il gruppo. Affinché il gruppo venga scalato orizzontalmente, il valore di MaximumCapacitydeve essere maggiore di zero.

  • Quando è attivata la scalabilità automatica (dimensionamento gestito), un provider di capacità può essere connesso solo a un cluster contemporaneamente. Se per il provider di capacità la scalabilità gestita è disattivata, è possibile associarlo a più cluster.

  • Quando il dimensionamento gestito è disattivato, il provider di capacità non esegue operazioni di dimensionamento con riduzione o aumento orizzontale. In questo caso, è possibile utilizzare una strategia del provider di capacità per bilanciare le attività tra i provider di capacità.

  • La strategia binpack è la più efficiente in termini di capacità.

  • Quando la capacità di destinazione è inferiore al 100%, nell'ambito della strategia di collocamento, la strategia binpack deve avere un ordine superiore rispetto alla strategia spread. Ciò impedisce al provider di capacità di aumentare orizzontalmente fino a quando ogni attività non dispone di un'istanza dedicata o non viene raggiunto il limite.

Attivazione del dimensionamento automatico del cluster

Puoi attivare il dimensionamento automatico del cluster usando la console o la AWS CLI.

Quando crei un cluster che utilizza fornitori di EC2 capacità utilizzando la console, Amazon ECS crea un gruppo Auto Scaling per tuo conto e imposta la capacità target. Per ulteriori informazioni, consulta Creazione di un cluster Amazon ECS per carichi di lavoro Amazon EC2 .

Puoi anche creare un gruppo Auto Scaling e poi assegnarlo a un cluster. Per ulteriori informazioni, consulta Aggiornare un provider di capacità Amazon ECS.

Quando usi il AWS CLI, dopo aver creato il cluster

  1. Prima di creare il provider di capacità, è necessario creare un gruppo con scalabilità automatica. Per ulteriori informazioni, consulta i gruppi Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

  2. Usa put-cluster-capacity-providers per modificare il provider di capacità del cluster. Per ulteriori informazioni, consulta Attivazione del Dimensionamento automatico del cluster Amazon ECS.