View a markdown version of this page

Scollega o collega istanze dal tuo gruppo Auto Scaling - 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à.

Scollega o collega istanze dal tuo gruppo Auto Scaling

Puoi separare le istanze dal tuo gruppo Auto Scaling. Una volta scollegata, un'istanza diventa indipendente e può essere gestita da sola o collegata a un gruppo Auto Scaling diverso, separato dal gruppo originale a cui apparteneva. Ciò può essere utile, ad esempio, quando si desidera eseguire dei test utilizzando istanze esistenti che stanno già eseguendo l'applicazione.

Questo argomento fornisce istruzioni su come scollegare e collegare le istanze. Quando si collegano le istanze, è anche possibile utilizzare un'istanza esistente anziché una distaccata.

Invece di scollegare e ricollegare un'istanza allo stesso gruppo, consigliamo di utilizzare la procedura di standby per rimuovere temporaneamente l'istanza dal gruppo. Per ulteriori informazioni, consulta Rimuovere temporaneamente le istanze dal gruppo con scalabilità automatica.

Considerazioni sul distacco delle istanze

Quando scollegate le istanze, tenete a mente questi punti:

  • Puoi scollegare un'istanza quando si trova Standby nello stato InService or o in uno stato mantenuto. Le istanze in stato mantenuto possono essere scollegate solo se non si riduce la capacità desiderata (impostata su). ShouldDecrementDesiredCapacity false

  • Se stai scollegando istanze che si trovano nello stato Standby, fai attenzione. L'inclusione del ShouldDecrementDesiredCapacity flag nella chiamata API quando si tenta di scollegare le istanze dopo averle inserite Standby nello stato potrebbe causare la chiusura imprevista di altre istanze.

  • Dopo aver scollegato un'istanza, questa continua a funzionare e comporta addebiti. Per evitare addebiti non necessari, assicurati di ricollegare o chiudere le istanze distaccate quando non sono più necessarie.

  • Puoi scegliere di diminuire la capacità desiderata in base al numero di istanze che stai scollegando. Se scegli di non diminuire la capacità, Amazon EC2 Auto Scaling avvia nuove istanze per sostituire quelle distaccate e mantenere la capacità desiderata.

  • Se il numero di istanze da scollegare porta il gruppo Auto Scaling al di sotto della capacità minima, è necessario diminuire la capacità minima.

  • Se si scollegano più istanze dalla stessa zona di disponibilità senza diminuire la capacità desiderata, il gruppo si riequilibrerà automaticamente a meno che non si sospenda il processo. AZRebalance Per ulteriori informazioni, consulta Sospendi e riprendi i processi di Amazon EC2 Auto Scaling.

  • Se alleghi un'istanza a un gruppo con scalabilità automatica a cui è allegato a un gruppo di destinazione del load balancer o un Classic Load Balancer, l'istanza viene deregistrata dal load balancer. Se lo svuotamento della connessione (ritardo nell'annullamento della registrazione) è abilitato per il load balancer, Dimensionamento automatico Amazon EC2 attende il completamento delle richieste in transito.

Considerazioni per il collegamento delle istanze

Quando collegate le istanze, tenete presente quanto segue:

  • Amazon EC2 Auto Scaling tratta le istanze collegate allo stesso modo delle istanze avviate dal gruppo stesso. Ciò significa che le istanze collegate possono essere terminate durante gli eventi di scale-in, se selezionate. Le autorizzazioni concesse dal ruolo AWSServiceRoleForAutoScaling collegato al servizio consentono ad Amazon EC2 Auto Scaling di farlo.

  • Quando alleghi le istanze, la capacità desiderata del gruppo aumenta per il numero di istanze che vengono allegate. Se la capacità desiderata dopo l'aggiunta delle nuove istanze supera la dimensione massima del gruppo, la richiesta di collegare altre istanze ha esito negativo.

  • Se aggiungi istanze al tuo gruppo causando 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.

  • Se alleghi un'istanza a un gruppo con scalabilità automatica a cui è allegato a un gruppo di destinazione del load balancer o un sistema di Classic Load Balancer, l'istanza viene registrata con il load balancer.

L'istanza da allegare deve soddisfare i seguenti criteri:

  • L'istanza è nello stato running con Amazon EC2.

  • L'AMI utilizzata per avviare l'istanza deve essere tuttora esistente.

  • L'istanza non è un membro di un altro gruppo con scalabilità automatica.

  • L'istanza viene avviata in una delle zone di disponibilità definite nel gruppo Auto Scaling.

  • Se al gruppo con scalabilità automatica è collegato un gruppo di destinazione del load balancer o un Classic Load Balancer, l'istanza e il load balancer devono trovarsi nello stesso VPC.

Sposta un'istanza in un altro gruppo utilizzando detach and attach

Utilizzate una delle seguenti procedure per staccare un'istanza dal gruppo Auto Scaling e collegarla a un altro gruppo Auto Scaling.

Per creare un nuovo gruppo Auto Scaling da un'istanza distaccata, consulta Crea un gruppo Auto Scaling da un'istanza esistente utilizzando il AWS CLI (scelta non consigliata, crea una configurazione di avvio).

Console
Come scollegare un’istanza da un gruppo Auto Scaling
  1. Apri la console Amazon EC2 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), seleziona un'istanza e scegli Actions (Operazioni), quindi Detach (Distacca).

  4. Nella finestra di dialogo Scollega istanza, mantieni selezionata la casella di controllo Sostituisci istanza per avviare un'istanza sostitutiva. Deseleziona la casella di controllo per diminuire la capacità desiderata.

  5. Quando viene richiesta la conferma, digita detach per confermare la rimozione dell’istanza specificata dal gruppo con dimensionamento automatico e scegli Elimina istanza.

Ora puoi collegare l'istanza a un gruppo Auto Scaling diverso.

Come collegare un’istanza a un gruppo Auto Scaling
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. (Facoltativo) Nel pannello di navigazione, in Auto Scaling (Scalabilità automatica), scegli Auto Scaling Groups (Gruppi con scalabilità automatica). Seleziona il gruppo con scalabilità automatica e verifica che la sua dimensione massima sia sufficiente ad aggiungere un'altra istanza. In caso contrario, nella scheda Details (Dettagli) aumenta la capacità massima.

  3. Nel pannello di navigazione, in Instances (Istanze) selezionare Instances (Istanze) e poi selezionarne una.

  4. Scegli Actions (Operazioni), Instance settings (Impostazioni istanza), Attach to Auto Scaling Group (Allega al gruppo con scalabilità automatica).

  5. Nella pagina Attach to Auto Scaling Group (Allega al gruppo con scalabilità automatica), in Auto Scaling Group (gruppo con scalabilità automatica), seleziona il gruppo e scegli Attach (Allega).

  6. Se l'istanza non soddisfa i parametri, ti verrà mostrato un messaggio di errore con i dettagli. Ad esempio, l'istanza potrebbe non essere nella stessa zona di disponibilità del gruppo con scalabilità automatica. Scegliete Chiudi e riprovate con un gruppo Auto Scaling che soddisfi i criteri.

AWS CLI

Per scollegare e collegare un'istanza, utilizzate i seguenti comandi di esempio. Sostituisci ogni user input placeholder con le tue informazioni.

Come scollegare un’istanza da un gruppo Auto Scaling
  1. Per descrivere le istanze correnti, utilizzate il seguente comando https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-instances.html describe-auto-scaling-instances.

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

    L’esempio seguente mostra l’output prodotto all’esecuzione di questo comando.

    Prendi nota dell'ID dell'istanza che intendi rimuovere dal gruppo. Questo ID è necessario nel passaggio successivo.

    { "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" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0787762faf1c28619", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0f280a4c58d319a8a", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" } ] }
  2. Per scollegare un'istanza senza diminuire la capacità desiderata, utilizzate il seguente comando detach-instances.

    aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6 \ --auto-scaling-group-name my-asg

    Per scollegare un'istanza e diminuire la capacità desiderata, includete l'opzione. --should-decrement-desired-capacity

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

È ora possibile collegare l'istanza a un gruppo Auto Scaling diverso.

Come collegare un’istanza a un gruppo Auto Scaling
  1. Per collegare l'istanza a un gruppo Auto Scaling diverso, utilizzate il seguente comando https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/attach-instances.html attach-instances.

    aws autoscaling attach-instances --instance-ids i-05b4f7d5be44822a6 --auto-scaling-group-name my-asg-for-testing
  2. Per verificare le dimensioni del gruppo Auto Scaling dopo aver collegato un'istanza, utilizzate il seguente comando describe-auto-scaling-groups. https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg-for-testing

    La seguente risposta di esempio mostra che il gruppo ha due istanze in esecuzione, una delle quali è l'istanza collegata.

    { "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg-for-testing", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "2", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, ... "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": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "2", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-00dcdfffdf5175890", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], ... } ] }