View a markdown version of this page

Dimensionamento manuale per Dimensionamento automatico Amazon EC2 - Amazon EC2 Auto Scaling

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

Dimensionamento manuale per Dimensionamento automatico Amazon EC2

Puoi regolare manualmente il numero di istanze EC2 nel tuo gruppo Auto Scaling in qualsiasi momento. Questo processo di modifica manuale del conteggio delle istanze viene definito ridimensionamento manuale. Il ridimensionamento manuale è un'alternativa al ridimensionamento automatico, soprattutto se si desidera apportare modifiche una tantum alla capacità.

Dopo aver scalato manualmente il gruppo, Amazon EC2 Auto Scaling riprende le normali attività di scalabilità automatica in base alle politiche di scalabilità e alle azioni pianificate che hai definito. Per i gruppi con il riscaldamento delle istanze predefinito abilitato, tutte le nuove istanze vengono sottoposte a un periodo di riscaldamento prima di iniziare a contribuire alle metriche utilizzate per il ridimensionamento automatico. Questo periodo di riscaldamento aiuta a stabilizzare il gruppo alla nuova capacità. Per ulteriori informazioni, consulta Impostazione della preparazione di default dell'istanza per un gruppo con scalabilità automatica.

A volte, potresti voler disabilitare temporaneamente le politiche di ridimensionamento e le azioni pianificate prima di ridimensionare manualmente un gruppo. In questo modo si evitano conflitti tra le azioni di ridimensionamento manuali e le attività di ridimensionamento automatizzate. Per ulteriori informazioni, consulta Disattiva le attività di ridimensionamento.

Modifica della capacità desiderata di un gruppo con dimensionamento automatico esistente

Quando modifichi la capacità desiderata del tuo gruppo Auto Scaling, Amazon EC2 Auto Scaling gestisce il processo di avvio e chiusura delle istanze per raggiungere la nuova dimensione desiderata.

Console
Come modificare le dimensioni del gruppo con scalabilità automatica
  1. Apri la console Amazon EC2 all'indirizzo e scegli Auto Scaling https://console.aws.amazon.com/ec2/ Groups dal pannello di navigazione.

  2. Seleziona la casella di controllo accanto al gruppo con dimensionamento automatico.

    Nella parte inferiore della pagina viene visualizzato un riquadro diviso.

  3. Nella scheda Details (Dettagli) scegliere Group details (Dettagli gruppo), Edit (Modifica).

  4. Per Capacità desiderata, aumentare o diminuire la capacità desiderata. Ad esempio, per aumentare la dimensione del gruppo di uno, se il valore corrente è1, inserisci2.

    Se il nuovo valore della capacità desiderata è maggiore della capacità minima desiderata e della capacità massima desiderata, la capacità massima desiderata viene automaticamente aumentata fino al nuovo valore di capacità desiderato.

  5. Al termine, scegli Update (Aggiorna).

Verifica che la dimensione del gruppo specificata abbia comportato l'avvio dello stesso numero di istanze. Ad esempio, se hai aumentato la dimensione del gruppo di una, verifica che il tuo gruppo Auto Scaling abbia avviato un'istanza aggiuntiva.

Come verificare che le dimensioni del gruppo con scalabilità automatica siano cambiate
  1. Nella scheda Attività, nella cronologia delle attività, puoi visualizzare l'avanzamento delle attività associate al gruppo Auto Scaling. La colonna Status (Stato) mostra lo stato corrente della tua istanza. Durante l'avvio dell'istanza, la colonna di stato mostra Not yet in service. Una volta avviata l'istanza, lo stato diventa Successful. Puoi anche utilizzare l'icona di aggiornamento per visualizzare lo stato corrente dell'istanza. Per ulteriori informazioni, consulta Verificare un'attività di dimensionamento per un gruppo con scalabilità automatica.

  2. Nella scheda Gestione dell'istanza, in Istanze, puoi visualizzare lo stato dell'istanza. L'avvio di un'istanza richiede pochi minuti.

    • La colonna Lifecycle (Ciclo di vita) mostra lo stato dell'istanza. Inizialmente, l'istanza è in stato Pending. Lo stato di un'istanza pronta a ricevere traffico è InService.

    • La colonna Stato di integrità mostra il risultato dei controlli di integrità di Amazon EC2 Auto Scaling sull'istanza.

AWS CLI

L'esempio seguente presuppone la creazione di un gruppo con scalabilità automatica con una dimensione minima di 1 e massima di 5. Pertanto, attualmente il gruppo ha un'istanza in esecuzione.

Come modificare le dimensioni del gruppo con scalabilità automatica

Per modificare la dimensione del gruppo con scalabilità automatica, utilizza il comando set-desired-capacity, come mostrato nell'esempio seguente.

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2

Se scegli di rispettare il tempo di raffreddamento di default per il gruppo con scalabilità automatica, dovrai specificare l'opzione –-honor-cooldown come mostrato nel seguente esempio. Per ulteriori informazioni, consulta Tempo di raffreddamento per il dimensionamento per Dimensionamento automatico Amazon EC2.

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2 --honor-cooldown
Come verificare le dimensioni del gruppo con scalabilità automatica

Per avere la conferma che la dimensione del gruppo con scalabilità automatica sia stata effettivamente modificata, utilizza il comando describe-auto-scaling-groups, come nell'esempio seguente.

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

Di seguito è riportato un esempio di output, che fornisce dettagli sul gruppo e sulle istanze avviate.

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 300, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "CreatedTime": "2019-03-18T23:30:42.611Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-c87f2be0", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN": "arn", "TrafficSources": [] } ] }

Nota che DesiredCapacity mostra il nuovo valore. Il gruppo con scalabilità automatica ha avviato un'altra istanza.

Termina le istanze nel tuo gruppo Auto Scaling (AWS CLI)

A volte potresti voler ridimensionare manualmente il tuo gruppo Auto Scaling ma terminare istanze specifiche. È possibile terminare una o più istanze utilizzando il comando terminate-instance-in-auto-scaling-group. https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/terminate-instance-in-auto-scaling-group.html

Per terminare una singola istanza, specificate l'ID dell'istanza con l'opzione e l'opzione come mostrato nell'esempio seguente. --instance-id --should-decrement-desired-capacity

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-026e4c9f62c3e448c --should-decrement-desired-capacity

Di seguito è riportato un esempio di output, che fornisce dettagli sull'attività di ridimensionamento.

{ "Activities": [ { "ActivityId": "b8d62b03-10d8-9df4-7377-e464ab6bd0cb", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-026e4c9f62c3e448c", "Cause": "At 2023-09-23T06:39:59Z instance i-026e4c9f62c3e448c was taken out of service in response to a user request, shrinking the capacity from 1 to 0.", "StartTime": "2023-09-23T06:39:59.015000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Per terminare più istanze in una singola richiesta, specifica gli ID delle istanze con l'--instance-idsopzione e specifica il gruppo con l'opzione. --auto-scaling-group-name Puoi terminare fino a 100 istanze per richiesta. L'esempio seguente termina tre istanze.

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-ids i-061c63c5eb45f0416 i-0b11f4eb2b3e987df i-09b21afe8ef4dab66 \ --auto-scaling-group-name my-asg \ --should-decrement-desired-capacity

Di seguito è riportato un output di esempio.

{ "Activities": [ { "ActivityId": "a1b2c3d4-e5f6-7890-abcd-111111111111", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-061c63c5eb45f0416", "Cause": "At 2024-01-15T10:30:00Z instance i-061c63c5eb45f0416 was taken out of service in response to a user request, shrinking the capacity from 5 to 4.", "StartTime": "2024-01-15T10:30:00.000000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2a\"}" }, { "ActivityId": "a1b2c3d4-e5f6-7890-abcd-222222222222", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-0b11f4eb2b3e987df", "Cause": "At 2024-01-15T10:30:00Z instance i-0b11f4eb2b3e987df was taken out of service in response to a user request, shrinking the capacity from 4 to 3.", "StartTime": "2024-01-15T10:30:00.000000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2b\"}" }, { "ActivityId": "a1b2c3d4-e5f6-7890-abcd-333333333333", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-09b21afe8ef4dab66", "Cause": "At 2024-01-15T10:30:00Z instance i-09b21afe8ef4dab66 was taken out of service in response to a user request, shrinking the capacity from 3 to 2.", "StartTime": "2024-01-15T10:30:00.000000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Quando utilizzate la terminazione in batch, notate i seguenti comportamenti:

  • È possibile specificare fino a 100 istanze per richiesta.

  • Tutte le istanze devono appartenere al gruppo Auto Scaling specificato con. --auto-scaling-group-name

  • Se una delle istanze non riesce a convalidare, l'intera richiesta viene rifiutata e nessuna istanza viene terminata.

  • Non è possibile specificarli entrambi --instance-id --instance-ids nella stessa richiesta.

  • Lifecycle aggancia il fuoco per ogni istanza del batch.

Questa opzione non è disponibile dalla console. Tuttavia, puoi utilizzare la pagina Istanze della console Amazon EC2 per terminare un'istanza nel tuo gruppo Auto Scaling. Quando lo fai, Amazon EC2 Auto Scaling rileva che l'istanza non è più in esecuzione e la sostituisce automaticamente come parte del processo di controllo dello stato. Sono necessari uno o due minuti dopo aver terminato l'istanza prima che venga avviata una nuova istanza. Per informazioni su come terminare un'istanza, consulta Terminare un'istanza nella Amazon EC2 User Guide.

Se si interrompono le istanze del gruppo e ciò causa una distribuzione non uniforme tra le zone di disponibilità, Amazon EC2 Auto Scaling ribilancia il gruppo per ristabilire una distribuzione uniforme a meno che non si sospenda il processo. AZRebalance Per ulteriori informazioni, consulta Sospendi e riprendi i processi di Amazon EC2 Auto Scaling.