Rimuovere temporaneamente le istanze dal gruppo con scalabilità automatica - Dimensionamento automatico Amazon EC2

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 caratteristica consente di arrestare e avviare le istanze o di riavviarle senza preoccuparsi che Dimensionamento automatico Amazon EC2 termini le istanze durante i controlli di integrità o durante gli eventi di riduzione orizzontale.

Ad esempio, puoi modificare l'immagine Amazon Machine Image (AMI) per un gruppo con scalabilità automatica in qualsiasi momento modificando il modello o la configurazione di avvio. Tutte le istanze successive avviate dal gruppo con scalabilità automatica utilizzeranno questa AMI. Tuttavia, il gruppo con scalabilità automatica non aggiorna le istanze attualmente in servizio. Puoi terminare queste istanze e consentire a Dimensionamento automatico Amazon EC2 di sostituirle oppure utilizzare la funzione 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. Il distacco delle istanze potrebbe essere utile se desideri collegarle a un gruppo diverso o gestire le istanze come istanze EC2 autonome ed eventualmente terminarle. Per ulteriori informazioni, consulta Scollegare o collegare istanze.

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 di 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 diminuire la capacità desiderata del gruppo con dimensionamento automatico, Dimensionamento automatico Amazon EC2 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 aver riportato l'istanza in servizio uscendo dallo stato di standby, il gruppo con dimensionamento automatico risulta non bilanciato tra le zone di disponibilità, Dimensionamento automatico Amazon EC2 compensa ribilanciando le zone di disponibilità a meno che tu non sospenda il processo AZRebalance. Per ulteriori informazioni, consulta Sospendi e riprendi i processi di Amazon EC2 Auto Scaling.

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

Stato di integrità di un'istanza in standby

Dimensionamento automatico Amazon EC2 non esegue controlli dell'integrità su istanze in standby. Anche se l'istanza è in standby, il relativo stato di integrità riflette lo stato che aveva prima di entrare in standby. Dimensionamento automatico Amazon EC2 non esegue controlli l'integrità sull'istanza finché questa non viene rimessa in servizio.

Ad esempio, se metti un'istanza integra in standby e poi la termini, Dimensionamento automatico Amazon EC2 continua a segnalare l'istanza come integra. Se tenti di mettere in servizio un'istanza terminata che era in standby, Dimensionamento automatico Amazon EC2 esegue un controllo dell'integrità sull'istanza, determina che questa si sta terminando e non è integra e ne avvia una 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 console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/ e scegli Gruppi con dimensionamento automatico 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. Sostituisci ciascun placeholder input dell'utente con le tue informazioni.

Per rimuovere temporaneamente un'istanza
  1. Per individuare l'istanza da aggiornare, utilizza il seguente comando: describe-auto-scaling-instances.

    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 in Standby con il seguente comando: describe-auto-scaling-istanze.

    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" }, ... ] }