Rimuovere temporaneamente le istanze dal gruppo con scalabilità automatica - 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à.

Rimuovere temporaneamente le istanze dal gruppo con scalabilità automatica

È possibile far passare un'istanza dallo stato InService allo stato Standby, aggiornare l'istanza o risolverne i problemi e riportare quindi l'istanza in servizio. Le istanze in standby fanno sempre parte del gruppo con scalabilità automatica, ma non gestiscono attivamente il traffico del load balancer.

Questa funzionalità ti aiuta a fermare e avviare le istanze o a riavviarle senza preoccuparti che Amazon Auto EC2 Scaling chiuda le istanze durante i controlli di integrità o durante eventi di scalabilità.

Ad esempio, puoi modificare Amazon Machine Image (AMI) per un gruppo Auto Scaling in qualsiasi momento modificando il modello di avvio o la configurazione di avvio. Tutte le istanze successive avviate dal gruppo Auto Scaling lo utilizzano. AMI Tuttavia, il gruppo con scalabilità automatica non aggiorna le istanze attualmente in servizio. Puoi terminare queste istanze e lasciare che Amazon Auto EC2 Scaling le sostituisca, oppure utilizzare la funzionalità di aggiornamento delle istanze per terminare e sostituire le istanze. In alternativa, puoi mettere le istanze in standby, aggiornare il software e quindi riportare le istanze in servizio.

Il procedimento per distaccare le istanze da un gruppo con scalabilità automatica è simile a quello con cui vengono messe in standby. Scollegare le istanze può essere utile se desideri collegarle a un gruppo diverso o gestire le istanze come istanze autonome ed eventualmente terminarle. EC2 Per ulteriori informazioni, consulta Scollega o collega istanze dal tuo gruppo Auto Scaling.

Come funziona lo stato di standby

Lo stato di standby funziona come indicato di seguito per agevolare la rimozione temporanea di un'istanza dal gruppo con scalabilità automatica:

  1. Tu metti un’istanza nello stato di standby. Questa vi rimane finché non la si fa uscire da questo stato.

  2. Se c'è un gruppo di destinazione del load balancer o un Classic Load Balancer associato al gruppo con scalabilità automatica, l'istanza viene deregistrata dal load balancer. Se per il load balancer è abilitata la funzione di svuotamento connessione, Elastic Load Balancing attende, per impostazione predefinita, 300 secondi prima di completare il processo di deregistrazione, facilitando così il completamento delle richieste in transito.

  3. È possibile aggiornare l'istanza o risolverne i problemi.

  4. È possibile riportare l'istanza in servizio, facendola uscire dallo stato di standby.

  5. Se c'è un gruppo di destinazione del load balancer o un Classic Load Balancer allegato al tuo gruppo con scalabilità automatica, l'istanza è registrata con il load balancer.

Per ulteriori informazioni sul ciclo di vita delle istanze in un gruppo con dimensionamento automatico, consulta Ciclo di vita delle istanze Amazon EC2 Auto Scaling.

Considerazioni

Di seguito sono riportate le considerazioni relative allo spostamento delle istanze dentro e fuori dallo stato di standby:

  • Quando metti un'istanza in standby, puoi diminuire la capacità desiderata tramite questa operazione o mantenerla invariata.

    • Se scegli di non diminuire la capacità desiderata del gruppo Auto Scaling, Amazon Auto EC2 Scaling avvia un'istanza per sostituire quella in standby. Lo scopo è di mantenere la capacità per l'applicazione mentre una o più istanze sono in standby.

    • Se scegli di diminuire la capacità desiderata del gruppo con dimensionamento automatico, impedisci l'avvio di un'istanza per sostituire quella in standby.

  • Dopo aver riportato l'istanza in servizio, la capacità desiderata viene incrementata in modo da riflettere il numero di istanze presenti nel gruppo con dimensionamento automatico.

  • Per effettuare l’aumento (e la diminuzione), la nuova capacità desiderata deve essere compresa tra la dimensione minima e massima del gruppo. In caso contrario, l'operazione non va a buon fine.

  • Se in qualsiasi momento dopo aver messo un'istanza in standby o averla riportata in servizio uscendo dallo stato di standby, il gruppo Auto Scaling risulta non bilanciato tra le zone di disponibilità, Amazon Auto Scaling compensa ribilanciando EC2 le zone di disponibilità a meno che tu non sospenda il processo. AZRebalance Per ulteriori informazioni, consulta Sospendi e riprendi i processi di Amazon Auto EC2 Scaling.

  • Ti vengono addebitati i costi delle istanze in stato di standby.

Stato di integrità di un'istanza in standby

Amazon EC2 Auto Scaling non esegue controlli di integrità sulle istanze in stato di standby. Anche se l'istanza è in standby, il relativo stato di integrità riflette lo stato che aveva prima di entrare in standby. Amazon EC2 Auto Scaling non esegue un controllo dello stato dell'istanza finché non la rimetti in servizio.

Ad esempio, se metti in standby un'istanza integra e poi la interrompi, Amazon Auto EC2 Scaling continua a segnalare l'istanza come integra. Se tenti di rimettere in servizio un'istanza terminata che era in standby, Amazon Auto EC2 Scaling esegue un controllo dello stato dell'istanza, determina che è terminata e non è integra e avvia un'istanza sostitutiva. Per ulteriori informazioni, consulta Controlli dell'integrità per le istanze in un gruppo con dimensionamento automatico.

Rimuovi temporaneamente un'istanza impostandola in standby

Utilizzate una delle seguenti procedure per mettere temporaneamente fuori servizio un'istanza mettendola in stato di standby.

Console
Per rimuovere temporaneamente un'istanza
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/e scegli Auto Scaling Groups dal pannello di navigazione.

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

    Si aprirà un riquadro diviso nella parte inferiore della pagina.

  3. Nella scheda Instance management (Gestione istanze) in Instances (Istanze), selezionare un'istanza.

  4. Scegli Actions (Operazioni), Set to Standby (Imposta su Standby).

  5. Nella finestra di dialogo Imposta su Standby, mantieni selezionata la casella di controllo Sostituisci istanza per avviare un'istanza sostitutiva. Deseleziona la casella di controllo per diminuire la capacità desiderata.

  6. Quando viene richiesta la conferma, digita standby per confermare lo stato Standby dell'istanza specificata, quindi sceglie Imposta in standby.

  7. È possibile aggiornare l'istanza o risolverne i problemi in base alle esigenze. Al termine, continuare con la fase successiva per riportare l'istanza in servizio.

  8. Seleziona l'istanza, scegli Azioni, Imposta su. InService Nella finestra di InService dialogo Imposta su, scegliete Imposta su InService.

AWS CLI

Per rimuovere temporaneamente un'istanza dal gruppo Auto Scaling, utilizzate i seguenti comandi di esempio. Sostituite ciascuno user input placeholder con le tue informazioni.

Per rimuovere temporaneamente un'istanza
  1. Utilizzate il describe-auto-scaling-instancescomando seguente per identificare l'istanza da aggiornare.

    aws autoscaling describe-auto-scaling-instances \ --query 'AutoScalingInstances[?AutoScalingGroupName==`my-asg`]'

    L'esempio seguente mostra l'output prodotto quando si esegue questo comando.

    Prendi nota dell'ID dell'istanza che intendi rimuovere dal gruppo. Questo ID ti servirà nel passaggio successivo.

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceId": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, ... ] }
  2. Metti l'istanza in uno stato Standby utilizzando il seguente comando: enter-standby. L'opzione --should-decrement-desired-capacity diminuisce la capacità desiderata in modo che il gruppo con scalabilità automatica non avvii un'istanza sostitutiva.

    aws autoscaling enter-standby --instance-ids i-05b4f7d5be44822a6 \ --auto-scaling-group-name my-asg --should-decrement-desired-capacity

    Di seguito è riportata una risposta di esempio.

    { "Activities": [ { "ActivityId": "3b1839fe-24b0-40d9-80ae-bcd883c2be32", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance to Standby: i-05b4f7d5be44822a6", "Cause": "At 2023-12-15T21:31:26Z instance i-05b4f7d5be44822a6 was moved to standby in response to a user request, shrinking the capacity from 4 to 3.", "StartTime": "2023-12-15T21:31:26.150Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-c934b782\",\"Availability Zone\":\"us-west-2a\"}" } ] }
  3. (Facoltativo) Verifica che l'istanza sia Standby attiva utilizzando il describe-auto-scaling-instancescomando seguente.

    aws autoscaling describe-auto-scaling-instances --instance-ids i-05b4f7d5be44822a6

    Di seguito è riportata una risposta di esempio. Nota che lo stato dell'istanza è ora Standby.

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "Standby" }, ... ] }
  4. È possibile aggiornare l'istanza o risolverne i problemi in base alle esigenze. Al termine, continuare con la fase successiva per riportare l'istanza in servizio.

  5. Riporta l'istanza in servizio utilizzando il seguente comando: exit-standby.

    aws autoscaling exit-standby --instance-ids i-05b4f7d5be44822a6 --auto-scaling-group-name my-asg

    Di seguito è riportata una risposta di esempio.

    { "Activities": [ { "ActivityId": "db12b166-cdcc-4c54-8aac-08c5935f8389", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance out of Standby: i-05b4f7d5be44822a6", "Cause": "At 2023-12-15T21:46:14Z instance i-05b4f7d5be44822a6 was moved out of standby in response to a user request, increasing the capacity from 3 to 4.", "StartTime": "2023-12-15T21:46:14.678Z", "StatusCode": "PreInService", "Progress": 30, "Details": "{\"Subnet ID\":\"subnet-c934b782\",\"Availability Zone\":\"us-west-2a\"}" } ] }
  6. (Facoltativo) Verifica che l'istanza sia in di nuovo in servizio utilizzando il comando describe-auto-scaling-instances seguente.

    aws autoscaling describe-auto-scaling-instances --instance-ids i-05b4f7d5be44822a6

    Di seguito è riportata una risposta di esempio. Nota che lo stato dell'istanza è InService.

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, ... ] }