Esempi di Auto Scaling utilizzando AWS CLI - AWS Command Line Interface

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

Esempi di Auto Scaling utilizzando AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando l' AWS Command Line Interface Auto Scaling.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareattach-instances.

AWS CLI

Come collegare un’istanza a un gruppo Auto Scaling

Questo esempio collega l’istanza specificata al gruppo Auto Scaling specificato.

aws autoscaling attach-instances \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzareattach-load-balancer-target-groups.

AWS CLI

Come collegare un gruppo di destinazione a un gruppo Auto Scaling

Questo esempio collega il gruppo di destinazione specificato al gruppo Auto Scaling specificato.

aws autoscaling attach-load-balancer-target-groups \ --auto-scaling-group-name my-asg \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Elastic Load Balancing e Amazon Auto EC2 Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzareattach-load-balancers.

AWS CLI

Come collegare un Classic Load Balancer al gruppo Auto Scaling

Questo esempio collega il Classic Load Balancer specificato al gruppo Auto Scaling specificato.

aws autoscaling attach-load-balancers \ --load-balancer-names my-load-balancer \ --auto-scaling-group-name my-asg

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Elastic Load Balancing e Amazon Auto EC2 Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzarecancel-instance-refresh.

AWS CLI

Come annullare l’aggiornamento di un’istanza

L’esempio cancel-instance-refresh seguente annulla un aggiornamento dell’istanza in corso per il gruppo di dimensionamento automatico specificato.

aws autoscaling cancel-instance-refresh \ --auto-scaling-group-name my-asg

Output:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Per ulteriori informazioni, consulta Annullare l'aggiornamento di un'istanza nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzarecomplete-lifecycle-action.

AWS CLI

Come completare un’azione del ciclo di vita

Questo esempio notifica ad Amazon EC2 Auto Scaling che l'azione del ciclo di vita specificata è completa in modo che possa completare l'avvio o la chiusura dell'istanza.

aws autoscaling complete-lifecycle-action \ --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg \ --lifecycle-action-result CONTINUE \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i riferimenti al ciclo di vita di Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzarecreate-auto-scaling-group.

AWS CLI

Esempio 1: come creare un gruppo Auto Scaling

L’esempio create-auto-scaling-group seguente crea un gruppo Auto Scaling in sottoreti in più zone di disponibilità all’interno di una Regione. Le istanze vengono avviate con la versione predefinita del modello di avvio specificato. Tieni presente che le impostazioni predefinite vengono utilizzate per la maggior parte delle altre impostazioni, come le policy di terminazione e la configurazione dei controlli dell’integrità.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12 \ --min-size 1 \ --max-size 5 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i gruppi Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 2: come collegare un’istanza di Application Load Balancer, Network Load Balancer o Gateway Load Balancer

Questo esempio specifica l’ARN di un gruppo di destinazione per un bilanciatore del carico che supporta il traffico previsto. Il tipo di controllo dell’integrità è impostato su ELB, ovvero quando Elastic Load Balancing segnala un’istanza non integra, il gruppo Auto Scaling la sostituisce. Il comando definisce anche un periodo di tolleranza di 600 secondi per il controllo dell’integrità. Il periodo di tolleranza consente di evitare la terminazione anticipata delle istanze appena avviate.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12 \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/943f017f100becff \ --health-check-type ELB \ --health-check-grace-period 600 \ --min-size 1 \ --max-size 5 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Elastic Load Balancing e Amazon Auto EC2 Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 3: come specificare un gruppo di posizionamento e utilizzare la versione più recente del modello di avvio

Questo esempio avvia le istanze in un gruppo di posizionamento all’interno di un’unica zona di disponibilità. Ciò può essere utile per gruppi a bassa latenza con carichi di lavoro basati sul calcolo ad alte prestazioni (HPC). Questo esempio specifica anche la dimensione minima, la dimensione massima e la capacità desiderata del gruppo.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest' \ --min-size 1 \ --max-size 5 \ --desired-capacity 3 \ --placement-group my-placement-group \ --vpc-zone-identifier "subnet-6194ea3b"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Placement groups nella Amazon EC2 User Guide for Linux Instances.

Esempio 4: come specificare un gruppo Auto Scaling a istanza singola e utilizzare una versione specifica del modello di avvio

Questo esempio crea un gruppo Auto Scaling con capacità minima e massima impostate su 1 per forzare l’esecuzione di un’istanza. Il comando specifica anche v1 come versione di un modello di avvio in cui è specificato l’ID di un’interfaccia di rete elastica (ENI) esistente. Quando si utilizza un modello di avvio che specifica una interfaccia di rete elastica (ENI) esistente per eth0, è necessario specificare una zona di disponibilità per il gruppo Auto Scaling corrispondente all’interfaccia di rete, senza specificare anche un ID di sottorete nella richiesta.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg-single-instance \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='1' \ --min-size 1 \ --max-size 1 \ --availability-zones us-west-2a

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i gruppi Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 5: come specificare una policy di terminazione diversa

Questo esempio crea un gruppo Auto Scaling utilizzando una configurazione di avvio e imposta la policy di terminazione per terminare prima le istanze più vecchie. Il comando applica inoltre un tag al gruppo e alle relative istanze, con una chiave Role e un valore WebServer.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-configuration-name my-lc \ --min-size 1 \ --max-size 5 \ --termination-policies "OldestInstance" \ --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Role,Value=WebServer,PropagateAtLaunch=true" \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Working with Amazon EC2 Auto Scaling policy di terminazione nella Amazon EC2 Auto Scaling User Guide.

Esempio 6: come specificare un hook del ciclo di vita all’avvio

L’esempio seguente crea un gruppo Auto Scaling con un hook del ciclo di vita che supporta un’azione personalizzata all’avvio delle istanze.

aws autoscaling create-auto-scaling-group \ --cli-input-json file://~/config.json

Contenuto del file config.json:

{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12" }, "LifecycleHookSpecificationList": [{ "LifecycleHookName": "my-launch-hook", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", "NotificationTargetARN": "arn:aws:sqs:us-west-2:123456789012:my-sqs-queue", "RoleARN": "arn:aws:iam::123456789012:role/my-notification-role", "NotificationMetadata": "SQS message metadata", "HeartbeatTimeout": 4800, "DefaultResult": "ABANDON" }], "MinSize": 1, "MaxSize": 5, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags": [{ "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "test", "Key": "environment" }] }

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i riferimenti al ciclo di vita di Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 7: come specificare un hook del ciclo di vita alla terminazione

L’esempio seguente crea un gruppo Auto Scaling con un hook del ciclo di vita che supporta un’azione personalizzata alla terminazione delle istanze.

aws autoscaling create-auto-scaling-group \ --cli-input-json file://~/config.json

Contenuto di config.json:

{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12" }, "LifecycleHookSpecificationList": [{ "LifecycleHookName": "my-termination-hook", "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", "HeartbeatTimeout": 120, "DefaultResult": "CONTINUE" }], "MinSize": 1, "MaxSize": 5, "TargetGroupARNs": [ "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" ], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i riferimenti al ciclo di vita di Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 8: come specificare una policy di terminazione personalizzata

Questo esempio crea un gruppo Auto Scaling che specifica una policy di terminazione della funzione Lambda personalizzata che indica ad Amazon Auto EC2 Scaling su quali istanze è sicuro terminare su larga scala.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg-single-instance \ --launch-template LaunchTemplateName=my-template-for-auto-scaling \ --min-size 1 \ --max-size 5 \ --termination-policies "arn:aws:lambda:us-west-2:123456789012:function:HelloFunction:prod" \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Creazione di una politica di terminazione personalizzata con Lambda nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzarecreate-launch-configuration.

AWS CLI

Esempio 1: come creare una configurazione di avvio

Questo esempio crea una configurazione di avvio semplice.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Creazione di una configurazione di avvio nella Amazon EC2 Auto Scaling User Guide.

Esempio 2: come creare una configurazione di avvio con un gruppo di sicurezza, una coppia di chiavi e uno script di avvio

Questo esempio crea una configurazione di avvio con un gruppo di sicurezza, una coppia di chiavi e uno script di avvio contenuti nei dati utente.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --security-groups sg-eb2af88example \ --key-name my-key-pair \ --user-data file://myuserdata.txt

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Creazione di una configurazione di avvio nella Amazon EC2 Auto Scaling User Guide.

Esempio 3: come creare una configurazione di avvio con un ruolo IAM

Questo esempio crea una configurazione di avvio con il nome del profilo dell’istanza di un ruolo IAM.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --iam-instance-profile my-autoscaling-role

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta il ruolo IAM per le applicazioni eseguite su EC2 istanze Amazon nella Amazon EC2 Auto Scaling User Guide.

Esempio 4: come creare una configurazione di avvio con il monitoraggio dettagliato abilitato

Questo esempio crea una configurazione di avvio con il monitoraggio EC2 dettagliato abilitato, che invia i EC2 parametri CloudWatch in periodi di 1 minuto.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --instance-monitoring Enabled=true

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Configurazione del monitoraggio per le istanze Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 5: come creare una configurazione di avvio che avvia le istanze spot

Questo esempio crea una configurazione di avvio che utilizza le istanze spot come unica opzione di acquisto.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --spot-price "0.50"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta la sezione Richiesta di istanze Spot nella Amazon Auto EC2 Scaling User Guide.

Esempio 6: creare una configurazione di avvio utilizzando un'istanza EC2

Questo esempio crea una configurazione di avvio basata sugli attributi di un’istanza esistente. Sostituisce la tenancy del posizionamento e l’eventuale impostazione di un indirizzo IP pubblico includendo le opzioni --placement-tenancy e --no-associate-public-ip-address.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc-from-instance \ --instance-id i-0123a456700123456 \ --instance-type m5.large \ --no-associate-public-ip-address \ --placement-tenancy dedicated

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Creazione di una configurazione di avvio utilizzando un' EC2 istanza nella Amazon EC2 Auto Scaling User Guide.

Esempio 7: come creare una configurazione di avvio con una mappatura dei dispositivi a blocchi per un volume Amazon EBS

Questo esempio crea una configurazione di avvio con una mappatura dei dispositivi a blocchi per un volume gp3 Amazon EBS con il nome di dispositivo /dev/sdh e una dimensione del volume pari a 20.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --block-device-mappings '[{"DeviceName":"/dev/sdh","Ebs":{"VolumeSize":20,"VolumeType":"gp3"}}]'

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta EBS nell'Amazon EC2 Auto Scaling API Reference.

Per informazioni sulla sintassi per citare i valori dei parametri in formato JSON, vedete Uso delle virgolette con le stringhe nella CLI AWS nella Guida per l'utente dell'interfaccia a riga di comando.AWS

Esempio 8: come creare una configurazione di avvio con una mappatura dei dispositivi a blocchi per un volume dell’archivio dell’istanza

Questo esempio crea una configurazione di avvio con ephemeral1 come volume di archivio dell’istanza con il nome di dispositivo /dev/sdc.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --block-device-mappings '[{"DeviceName":"/dev/sdc","VirtualName":"ephemeral1"}]'

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta la BlockDeviceMappingpagina di riferimento dell'API Amazon EC2 Auto Scaling.

Per informazioni sulla sintassi per citare i valori dei parametri in formato JSON, vedete Uso delle virgolette con le stringhe nella CLI AWS nella Guida per l'utente dell'interfaccia a riga di comando.AWS

Esempio 9: come creare una configurazione di avvio e impedire a un dispositivo a blocchi di collegarsi al momento dell’avvio

Questo esempio crea una configurazione di avvio che elimina un dispositivo a blocchi specificato dalla mappatura dei dispositivi a blocchi dell’AMI (ad esempio, /dev/sdf).

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --block-device-mappings '[{"DeviceName":"/dev/sdf","NoDevice":""}]'

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta la BlockDeviceMappingpagina di riferimento dell'API Amazon EC2 Auto Scaling.

Per informazioni sulla sintassi per citare i valori dei parametri in formato JSON, vedete Uso delle virgolette con le stringhe nella CLI AWS nella Guida per l'utente dell'interfaccia a riga di comando.AWS

Il seguente esempio di codice mostra come utilizzarecreate-or-update-tags.

AWS CLI

Come creare o modificare i tag per un gruppo Auto Scaling

Questo esempio aggiunge due tag al gruppo Auto Scaling specificato.

aws autoscaling create-or-update-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Role,Value=WebServer,PropagateAtLaunch=true ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Dept,Value=Research,PropagateAtLaunch=true

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta la sezione Tagging di gruppi e istanze di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-auto-scaling-group.

AWS CLI

Esempio 1: come eliminare il gruppo Auto Scaling specificato

Questo esempio elimina il gruppo Auto Scaling specificato.

aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name my-asg

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Eliminazione dell'infrastruttura Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 2: come forzare l’eliminazione del gruppo Auto Scaling specificato

Per eliminare il gruppo Auto Scaling senza attendere il termine delle istanze del gruppo, utilizza l’opzione --force-delete.

aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name my-asg \ --force-delete

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Eliminazione dell'infrastruttura Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-launch-configuration.

AWS CLI

Come eliminare la configurazione di avvio

Questo esempio elimina la configurazione di avvio specificata.

aws autoscaling delete-launch-configuration \ --launch-configuration-name my-launch-config

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Eliminazione dell'infrastruttura Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-lifecycle-hook.

AWS CLI

Come eliminare un hook del ciclo di vita

Questo esempio elimina l’hook del ciclo di vita specificato.

aws autoscaling delete-lifecycle-hook \ --lifecycle-hook-name my-lifecycle-hook \ --auto-scaling-group-name my-asg

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaredelete-notification-configuration.

AWS CLI

Come eliminare una notifica di Auto Scaling

Questo esempio elimina la notifica specificata dal gruppo Auto Scaling specificato.

aws autoscaling delete-notification-configuration \ --auto-scaling-group-name my-asg \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Eliminare la configurazione delle notifiche nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-policy.

AWS CLI

Come eliminare una policy di dimensionamento

Questo esempio elimina la policy di dimensionamento specificata.

aws autoscaling delete-policy \ --auto-scaling-group-name my-asg \ --policy-name alb1000-target-tracking-scaling-policy

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaredelete-scheduled-action.

AWS CLI

Come eliminare un’azione pianificata da un gruppo Auto Scaling

Questo esempio elimina l’azione pianificata specificata dal gruppo Auto Scaling specificato.

aws autoscaling delete-scheduled-action \ --auto-scaling-group-name my-asg \ --scheduled-action-name my-scheduled-action

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaredelete-tags.

AWS CLI

Come eliminare un tag da un gruppo Auto Scaling

Questo esempio elimina il tag specificato dal gruppo Auto Scaling specificato.

aws autoscaling delete-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Dept,Value=Research

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta la sezione Tagging di gruppi e istanze di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

  • Per i dettagli sull'API, consulta DeleteTagsCommand Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzaredelete-warm-pool.

AWS CLI

Esempio 1: come eliminare un warm pool

L’esempio seguente elimina un warm pool per il gruppo Auto Scaling specificato.

aws autoscaling delete-warm-pool \ --auto-scaling-group-name my-asg

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Warm pools for Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 2: come forzare l’eliminazione di un warm pool

Per eliminare il warm pool senza attendere la terminazione delle relative istanze, utilizza l’opzione --force-delete.

aws autoscaling delete-warm-pool \ --auto-scaling-group-name my-asg \ --force-delete

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Warm pools for Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

  • Per i dettagli sull'API, consulta AWS CLI Command DeleteWarmPoolReference.

Il seguente esempio di codice mostra come utilizzaredescribe-account-limits.

AWS CLI

Per descrivere i limiti del tuo EC2 account Amazon Auto Scaling

Questo esempio descrive i limiti di Amazon EC2 Auto Scaling per il tuo AWS account.

aws autoscaling describe-account-limits

Output:

{ "NumberOfLaunchConfigurations": 5, "MaxNumberOfLaunchConfigurations": 100, "NumberOfAutoScalingGroups": 3, "MaxNumberOfAutoScalingGroups": 20 }

Per ulteriori informazioni, consulta le quote del servizio Amazon EC2 Auto Scaling nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-adjustment-types.

AWS CLI

Come descrivere i tipi di regolazione del dimensionamento

Questo esempio descrive i tipi di regolazione disponibili.

aws autoscaling describe-adjustment-types

Output:

{ "AdjustmentTypes": [ { "AdjustmentType": "ChangeInCapacity" }, { "AdjustmentType": "ExactCapacity" }, { "AdjustmentType": "PercentChangeInCapacity" } ] }

Per ulteriori informazioni, consulta i tipi di regolazione della scalabilità nella Guida per l'utente di Amazon EC2 Auto Scaling.

Il seguente esempio di codice mostra come utilizzaredescribe-auto-scaling-groups.

AWS CLI

Esempio 1: come descrivere il gruppo Auto Scaling specificato

Questo esempio descrive il gruppo Auto Scaling specificato.

aws autoscaling describe-auto-scaling-groups \ --auto-scaling-group-names my-asg

Output:

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" }, "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2a", "HealthStatus": "Healthy", "LifecycleState": "InService", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" } } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ] }

Esempio 2: come descrivere i primi 100 gruppi Auto Scaling specificati

Questo esempio descrive i gruppi Auto Scaling specificati. Consente di specificare fino a 100 nomi di gruppo.

aws autoscaling describe-auto-scaling-groups \ --max-items 100 \ --auto-scaling-group-names "group1" "group2" "group3" "group4"

Vedi l’esempio 1 per un output di esempio.

Esempio 3: come descrivere un gruppo Auto Scaling nella Regione specificata

Questo esempio descrive fino a un massimo di 75 gruppi Auto Scaling nella Regione specificata.

aws autoscaling describe-auto-scaling-groups \ --max-items 75 \ --region us-east-1

Vedi l’esempio 1 per un output di esempio.

Esempio 4: come descrivere il numero specificato di gruppi Auto Scaling

Per restituire un numero specifico di gruppi Auto Scaling, utilizza l’opzione --max-items.

aws autoscaling describe-auto-scaling-groups \ --max-items 1

Vedi l’esempio 1 per un output di esempio.

Se l’output include un campo NextToken, significa che sono presenti più gruppi. Per ottenere i gruppi aggiuntivi, utilizza il valore di questo campo con l’opzione --starting-token in una chiamata successiva come descritto di seguito.

aws autoscaling describe-auto-scaling-groups \ --starting-token Z3M3LMPEXAMPLE

Vedi l’esempio 1 per un output di esempio.

Esempio 5: come descrivere i gruppi Auto Scaling che utilizzano configurazioni di avvio

Questo esempio utilizza l’opzione --query per descrivere i gruppi Auto Scaling che utilizzano configurazioni di avvio.

aws autoscaling describe-auto-scaling-groups \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`]'

Output:

[ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchConfigurationName": "my-lc", "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "HealthStatus": "Healthy", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ]

Per ulteriori informazioni, consulta Filter AWS CLI output nella AWS Command Line Interface User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-auto-scaling-instances.

AWS CLI

Esempio 1: come descrivere una o più istanze

Questo esempio descrive l’istanza specificata.

aws autoscaling describe-auto-scaling-instances \ --instance-ids i-06905f55584de02da

Output:

{ "AutoScalingInstances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2b", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12", "LaunchTemplateName": "my-launch-template", "Version": "1" } } ] }

Esempio 2: come descrivere una o più istanze

Questo esempio utilizza l’opzione --max-items per specificare il numero di istanze da restituire con questa chiamata.

aws autoscaling describe-auto-scaling-instances \ --max-items 1

Se l’output include un campo NextToken, significa che sono presenti più istanze. Per ottenere le istanze aggiuntive, utilizza il valore di questo campo con l’opzione --starting-token in una chiamata successiva come descritto di seguito.

aws autoscaling describe-auto-scaling-instances \ --starting-token Z3M3LMPEXAMPLE

Vedi l’esempio 1 per un output di esempio.

Esempio 3: come descrivere le istanze che utilizzano le configurazioni di avvio

Questo esempio utilizza l’opzione --query per descrivere le istanze che utilizzano configurazioni di avvio.

aws autoscaling describe-auto-scaling-instances \ --query 'AutoScalingInstances[?LaunchConfigurationName!=`null`]'

Output:

[ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2c", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ]

Per ulteriori informazioni, consulta Filter AWS CLI output nella AWS Command Line Interface User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-auto-scaling-notification-types.

AWS CLI

Come descrivere i tipi di notifica disponibili

Questo esempio descrive i tipi di notifica disponibili.

aws autoscaling describe-auto-scaling-notification-types

Output:

{ "AutoScalingNotificationTypes": [ "autoscaling:EC2_INSTANCE_LAUNCH", "autoscaling:EC2_INSTANCE_LAUNCH_ERROR", "autoscaling:EC2_INSTANCE_TERMINATE", "autoscaling:EC2_INSTANCE_TERMINATE_ERROR", "autoscaling:TEST_NOTIFICATION" ] }

Per ulteriori informazioni, consulta Ricevere notifiche Amazon SNS quando il tuo gruppo Auto Scaling aumenta nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-instance-refreshes.

AWS CLI

Come descrivere gli aggiornamenti delle istanze

L’esempio describe-instance-refreshes seguente restituisce una descrizione di tutte le richieste di aggiornamento delle istanze per il gruppo Auto Scaling specificato, incluso il messaggio di stato e (se disponibile) il motivo dello stato.

aws autoscaling describe-instance-refreshes \ --auto-scaling-group-name my-asg

Output:

{ "InstanceRefreshes": [ { "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b", "AutoScalingGroupName": "my-asg", "Status": "InProgress", "StatusReason": "Waiting for instances to warm up before continuing. For example: 0e69cc3f05f825f4f is warming up.", "EndTime": "2023-03-23T16:42:55Z", "PercentageComplete": 0, "InstancesToUpdate": 0, "Preferences": { "MinHealthyPercentage": 100, "InstanceWarmup": 300, "CheckpointPercentages": [ 50 ], "CheckpointDelay": 3600, "SkipMatching": false, "AutoRollback": true, "ScaleInProtectedInstances": "Ignore", "StandbyInstances": "Ignore" } }, { "InstanceRefreshId": "dd7728d0-5bc4-4575-96a3-1b2c52bf8bb1", "AutoScalingGroupName": "my-asg", "Status": "Successful", "EndTime": "2022-06-02T16:53:37Z", "PercentageComplete": 100, "InstancesToUpdate": 0, "Preferences": { "MinHealthyPercentage": 90, "InstanceWarmup": 300, "SkipMatching": true, "AutoRollback": true, "ScaleInProtectedInstances": "Ignore", "StandbyInstances": "Ignore" } } ] }

Per ulteriori informazioni, consulta Verifica dello stato di un aggiornamento dell'istanza nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-launch-configurations.

AWS CLI

Esempio 1: come descrivere la configurazione di avvio specificata

Questo esempio descrive la configurazione di avvio specificata.

aws autoscaling describe-launch-configurations \ --launch-configuration-names my-launch-config

Output:

{ "LaunchConfigurations": [ { "LaunchConfigurationName": "my-launch-config", "LaunchConfigurationARN": "arn:aws:autoscaling:us-west-2:123456789012:launchConfiguration:98d3b196-4cf9-4e88-8ca1-8547c24ced8b:launchConfigurationName/my-launch-config", "ImageId": "ami-0528a5175983e7f28", "KeyName": "my-key-pair-uswest2", "SecurityGroups": [ "sg-05eaec502fcdadc2e" ], "ClassicLinkVPCSecurityGroups": [], "UserData": "", "InstanceType": "t2.micro", "KernelId": "", "RamdiskId": "", "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "SnapshotId": "snap-06c1606ba5ca274b1", "VolumeSize": 8, "VolumeType": "gp2", "DeleteOnTermination": true, "Encrypted": false } } ], "InstanceMonitoring": { "Enabled": true }, "CreatedTime": "2020-10-28T02:39:22.321Z", "EbsOptimized": false, "AssociatePublicIpAddress": true, "MetadataOptions": { "HttpTokens": "required", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "disabled" } } ] }

Esempio 2: come descrivere un numero specificato di configurazioni di avvio

Per restituire un numero specifico di configurazioni di avvio, utilizza l’opzione --max-items.

aws autoscaling describe-launch-configurations \ --max-items 1

Se l’output include un campo NextToken, significa che sono presenti più configurazioni di avvio. Per ottenere le configurazioni di avvio aggiuntive, utilizza il valore di questo campo con l’opzione --starting-token in una chiamata successiva come descritto di seguito.

aws autoscaling describe-launch-configurations \ --starting-token Z3M3LMPEXAMPLE

Il seguente esempio di codice mostra come utilizzaredescribe-lifecycle-hook-types.

AWS CLI

Come descrivere i tipi di hook del ciclo di vita disponibili

Questo esempio descrive i tipi di hook del ciclo di vita disponibili.

aws autoscaling describe-lifecycle-hook-types

Output:

{ "LifecycleHookTypes": [ "autoscaling:EC2_INSTANCE_LAUNCHING", "autoscaling:EC2_INSTANCE_TERMINATING" ] }

Il seguente esempio di codice mostra come utilizzaredescribe-lifecycle-hooks.

AWS CLI

Come descrivere gli hook del ciclo di vita

Questo esempio descrive gli hook del ciclo di vita del gruppo Auto Scaling specificato.

aws autoscaling describe-lifecycle-hooks \ --auto-scaling-group-name my-asg

Output:

{ "LifecycleHooks": [ { "GlobalTimeout": 3000, "HeartbeatTimeout": 30, "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-launch-hook", "DefaultResult": "ABANDON", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING" }, { "GlobalTimeout": 6000, "HeartbeatTimeout": 60, "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-termination-hook", "DefaultResult": "CONTINUE", "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING" } ] }

Il seguente esempio di codice mostra come utilizzaredescribe-load-balancer-target-groups.

AWS CLI

Come descrivere i gruppi di destinazione del bilanciatore del carico per un gruppo Auto Scaling

In questo esempio, i gruppi di destinazione del bilanciatore del carico vengono collegati al gruppo Auto Scaling specificato.

aws autoscaling describe-load-balancer-target-groups \ --auto-scaling-group-name my-asg

Output:

{ "LoadBalancerTargetGroups": [ { "LoadBalancerTargetGroupARN": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "State": "Added" } ] }

Il seguente esempio di codice mostra come utilizzaredescribe-load-balancers.

AWS CLI

Come descrivere i Classic Load Balancer per un gruppo Auto Scaling

Questo esempio descrive i Classic Load Balancer per il gruppo Auto Scaling specificato.

aws autoscaling describe-load-balancers \ --auto-scaling-group-name my-asg

Output:

{ "LoadBalancers": [ { "State": "Added", "LoadBalancerName": "my-load-balancer" } ] }

Il seguente esempio di codice mostra come utilizzaredescribe-metric-collection-types.

AWS CLI

Come descrivere i tipi di raccolta delle metriche disponibili

Questo esempio descrive i tipi di raccolta delle metriche disponibili.

aws autoscaling describe-metric-collection-types

Output:

{ "Metrics": [ { "Metric": "GroupMinSize" }, { "Metric": "GroupMaxSize" }, { "Metric": "GroupDesiredCapacity" }, { "Metric": "GroupInServiceInstances" }, { "Metric": "GroupInServiceCapacity" }, { "Metric": "GroupPendingInstances" }, { "Metric": "GroupPendingCapacity" }, { "Metric": "GroupTerminatingInstances" }, { "Metric": "GroupTerminatingCapacity" }, { "Metric": "GroupStandbyInstances" }, { "Metric": "GroupStandbyCapacity" }, { "Metric": "GroupTotalInstances" }, { "Metric": "GroupTotalCapacity" } ], "Granularities": [ { "Granularity": "1Minute" } ] }

Per ulteriori informazioni, consulta le metriche del gruppo Auto Scaling nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-notification-configurations.

AWS CLI

Esempio 1: come descrivere le configurazioni di notifica di un gruppo specificato

Questo esempio descrive le configurazioni di notifica del gruppo Auto Scaling specificato.

aws autoscaling describe-notification-configurations \ --auto-scaling-group-name my-asg

Output:

{ "NotificationConfigurations": [ { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" }, { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" } ] }

Per ulteriori informazioni, consulta Ricevere notifiche Amazon SNS quando il tuo gruppo Auto Scaling aumenta nella Amazon EC2 Auto Scaling User Guide.

Esempio 1: come descrivere il numero specificato di configurazioni di notifica

Per restituire un numero specifico di configurazioni di notifica, utilizza il parametro max-items.

aws autoscaling describe-notification-configurations \ --auto-scaling-group-name my-auto-scaling-group \ --max-items 1

Output:

{ "NotificationConfigurations": [ { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" }, { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" } ] }

Se l’output include un campo NextToken, significa che sono presenti più configurazioni di notifica. Per ottenere le configurazioni di notifica aggiuntive, utilizza il valore di questo campo con il parametro starting-token in una chiamata successiva come descritto di seguito.

aws autoscaling describe-notification-configurations \ --auto-scaling-group-name my-asg \ --starting-token Z3M3LMPEXAMPLE

Per ulteriori informazioni, consulta Ricevere notifiche Amazon SNS quando il tuo gruppo Auto Scaling aumenta nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-policies.

AWS CLI

Esempio 1: come descrivere le policy di dimensionamento di un gruppo specificato

Questo esempio descrive le policy di dimensionamento del gruppo Auto Scaling specificato.

aws autoscaling describe-policies \ --auto-scaling-group-name my-asg

Output:

{ "ScalingPolicies": [ { "AutoScalingGroupName": "my-asg", "PolicyName": "alb1000-target-tracking-scaling-policy", "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:3065d9c8-9969-4bec-bb6a-3fbe5550fde6:autoScalingGroupName/my-asg:policyName/alb1000-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "StepAdjustments": [], "Alarms": [ { "AlarmName": "TargetTracking-my-asg-AlarmHigh-924887a9-12d7-4e01-8686-6f844d13a196", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-924887a9-12d7-4e01-8686-6f844d13a196" }, { "AlarmName": "TargetTracking-my-asg-AlarmLow-f96f899d-b8e7-4d09-a010-c1aaa35da296", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-f96f899d-b8e7-4d09-a010-c1aaa35da296" } ], "TargetTrackingConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" }, "TargetValue": 1000.0, "DisableScaleIn": false }, "Enabled": true }, { "AutoScalingGroupName": "my-asg", "PolicyName": "cpu40-target-tracking-scaling-policy", "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:5fd26f71-39d4-4690-82a9-b8515c45cdde:autoScalingGroupName/my-asg:policyName/cpu40-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "StepAdjustments": [], "Alarms": [ { "AlarmName": "TargetTracking-my-asg-AlarmHigh-139f9789-37b9-42ad-bea5-b5b147d7f473", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-139f9789-37b9-42ad-bea5-b5b147d7f473" }, { "AlarmName": "TargetTracking-my-asg-AlarmLow-bd681c67-fc18-4c56-8468-fb8e413009c9", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-bd681c67-fc18-4c56-8468-fb8e413009c9" } ], "TargetTrackingConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 40.0, "DisableScaleIn": false }, "Enabled": true } ] }

Per ulteriori informazioni, consulta Dynamic Scaling nella Amazon EC2 Auto Scaling User Guide.

Esempio 2: come descrivere le policy di dimensionamento di un nome specificato

Per restituire policy di dimensionamento specifiche, utilizza l’opzione --policy-names.

aws autoscaling describe-policies \ --auto-scaling-group-name my-asg \ --policy-names cpu40-target-tracking-scaling-policy

Vedi l’esempio 1 per un output di esempio.

Per ulteriori informazioni, consulta Dynamic Scaling nella Amazon EC2 Auto Scaling User Guide.

Esempio 3: come descrivere una serie di policy di dimensionamento

Per restituire un numero specifico di policy, utilizza l’opzione --max-items.

aws autoscaling describe-policies \ --auto-scaling-group-name my-asg \ --max-items 1

Vedi l’esempio 1 per un output di esempio.

Se l’output include un campo NextToken, utilizza il valore di questo campo con l’opzione --starting-token in una chiamata successiva per ottenere le policy aggiuntive.

aws autoscaling describe-policies --auto-scaling-group-name my-asg --starting-token Z3M3LMPEXAMPLE

Per ulteriori informazioni, consulta Dynamic Scaling nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-scaling-activities.

AWS CLI

Esempio 1: come descrivere le attività di dimensionamento per il gruppo specificato

Questo esempio descrive le attività di dimensionamento del gruppo Auto Scaling specificato.

aws autoscaling describe-scaling-activities \ --auto-scaling-group-name my-asg

Output:

{ "Activities": [ { "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", "Description": "Launching a new EC2 instance: i-0d44425630326060f", "AutoScalingGroupName": "my-asg", "Cause": "At 2020-10-30T19:35:51Z a user request update of AutoScalingGroup constraints to min: 0, max: 16, desired: 16 changing the desired capacity from 0 to 16. At 2020-10-30T19:36:07Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 16.", "StartTime": "2020-10-30T19:36:09.766Z", "EndTime": "2020-10-30T19:36:41Z", "StatusCode": "Successful", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}" } ] }

Per ulteriori informazioni, consulta Verificare un'attività di scaling per un gruppo di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 2: come descrivere le attività di dimensionamento per il gruppo eliminato

Per visualizzare le attività di dimensionamento dopo l’eliminazione di un gruppo Auto Scaling, aggiungi l’opzione --include-deleted-groups.

aws autoscaling describe-scaling-activities \ --auto-scaling-group-name my-asg \ --include-deleted-groups

Output:

{ "Activities": [ { "ActivityId": "e1f5de0e-f93e-1417-34ac-092a76fba220", "Description": "Launching a new EC2 instance. Status Reason: Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.", "AutoScalingGroupName": "my-asg", "Cause": "At 2021-01-13T20:47:24Z a user request update of AutoScalingGroup constraints to min: 1, max: 5, desired: 3 changing the desired capacity from 0 to 3. At 2021-01-13T20:47:27Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 3.", "StartTime": "2021-01-13T20:47:30.094Z", "EndTime": "2021-01-13T20:47:30Z", "StatusCode": "Failed", "StatusMessage": "Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}", "AutoScalingGroupState": "Deleted", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:283179a2-f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg" } ] }

Per ulteriori informazioni, consulta la sezione Risoluzione dei problemi di Amazon Auto EC2 Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 3: come descrivere il numero specificato di attività di dimensionamento

Per restituire un numero specifico di attività, utilizza l’opzione --max-items.

aws autoscaling describe-scaling-activities \ --max-items 1

Output:

{ "Activities": [ { "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", "Description": "Launching a new EC2 instance: i-0d44425630326060f", "AutoScalingGroupName": "my-asg", "Cause": "At 2020-10-30T19:35:51Z a user request update of AutoScalingGroup constraints to min: 0, max: 16, desired: 16 changing the desired capacity from 0 to 16. At 2020-10-30T19:36:07Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 16.", "StartTime": "2020-10-30T19:36:09.766Z", "EndTime": "2020-10-30T19:36:41Z", "StatusCode": "Successful", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}" } ] }

Se l’output include un campo NextToken, significa che sono presenti più attività. Per ottenere le attività aggiuntive, utilizza il valore di questo campo con l’opzione --starting-token in una chiamata successiva come descritto di seguito.

aws autoscaling describe-scaling-activities \ --starting-token Z3M3LMPEXAMPLE

Per ulteriori informazioni, consulta Verificare un'attività di scaling per un gruppo di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-scaling-process-types.

AWS CLI

Come descrivere i tipi di processo disponibili

Questo esempio descrive i tipi di processo disponibili.

aws autoscaling describe-scaling-process-types

Output:

{ "Processes": [ { "ProcessName": "AZRebalance" }, { "ProcessName": "AddToLoadBalancer" }, { "ProcessName": "AlarmNotification" }, { "ProcessName": "HealthCheck" }, { "ProcessName": "InstanceRefresh" }, { "ProcessName": "Launch" }, { "ProcessName": "ReplaceUnhealthy" }, { "ProcessName": "ScheduledActions" }, { "ProcessName": "Terminate" } ] }

Per ulteriori informazioni, consulta Sospensione e ripresa dei processi di scalabilità nella Amazon Auto Scaling User Guide. EC2

Il seguente esempio di codice mostra come utilizzaredescribe-scheduled-actions.

AWS CLI

Esempio 1: come descrivere tutte le azioni pianificate

Questo esempio descrive tutte le azioni pianificate.

aws autoscaling describe-scheduled-actions

Output:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Per ulteriori informazioni, consulta Scheduled Scaling nella Amazon EC2 Auto Scaling User Guide.

Esempio 2: come descrivere le azioni pianificate per il gruppo specificato

Per descrivere le azioni pianificate per un gruppo Auto Scaling specifico, utilizza l’opzione --auto-scaling-group-name.

aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name my-asg

Output:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Per ulteriori informazioni, consulta Scheduled Scaling nella Amazon EC2 Auto Scaling User Guide.

Esempio 3: come descrivere l’azione pianificata specificata

Per descrivere un’azione pianificata specifica, utilizza l’opzione --scheduled-action-names.

aws autoscaling describe-scheduled-actions \ --scheduled-action-names my-recurring-action

Output:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Per ulteriori informazioni, consulta Scheduled Scaling nella Amazon EC2 Auto Scaling User Guide.

Esempio 4: come descrivere le azioni pianificate con un’ora di inizio specificata

Per descrivere le azioni pianificate che iniziano a un’ora specifica, utilizza l’opzione --start-time.

aws autoscaling describe-scheduled-actions \ --start-time "2023-12-01T04:00:00Z"

Output:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Per ulteriori informazioni, consulta Scheduled Scaling nella Amazon EC2 Auto Scaling User Guide.

Esempio 5: come descrivere le azioni pianificate che terminano a un’ora specificata

Per descrivere le azioni pianificate che terminano a un’ora specifica, utilizza l’opzione --end-time.

aws autoscaling describe-scheduled-actions \ --end-time "2023-12-01T04:00:00Z"

Output:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Per ulteriori informazioni, consulta Scheduled Scaling nella Amazon EC2 Auto Scaling User Guide.

Esempio 6: come descrivere il numero specificato di azioni pianificate

Per restituire un numero specifico di azioni pianificate, utilizza l’opzione --max-items.

aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name my-asg \ --max-items 1

Output:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Se l’output include un campo NextToken, significa che sono presenti più azioni pianificate. Per ottenere le azioni pianificate aggiuntive, utilizza il valore di questo campo con l’opzione --starting-token in una chiamata successiva come descritto di seguito.

aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name my-asg \ --starting-token Z3M3LMPEXAMPLE

Per ulteriori informazioni, consulta Scheduled Scaling nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-tags.

AWS CLI

Come descrivere tutti i tag

Questo esempio descrive tutti i tag.

aws autoscaling describe-tags

Output:

{ "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "Research", "Key": "Dept" }, { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "WebServer", "Key": "Role" } ] }

Per ulteriori informazioni, consulta la sezione Tagging di gruppi e istanze di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 2: come descrivere i tag per un gruppo specificato

Per descrivere i tag di un gruppo Auto Scaling specifico, utilizza l’opzione --filters.

aws autoscaling describe-tags --filters Name=auto-scaling-group,Values=my-asg

Per ulteriori informazioni, consulta la sezione Tagging di gruppi e istanze di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 3: come descrivere il numero specificato di tag

Per restituire un numero specifico di tag, utilizza l’opzione --max-items.

aws autoscaling describe-tags \ --max-items 1

Se l’output include un campo NextToken, significa che sono presenti più tag. Per ottenere i tag aggiuntivi, utilizza il valore di questo campo con l’opzione --starting-token in una chiamata successiva come descritto di seguito.

aws autoscaling describe-tags \ --filters Name=auto-scaling-group,Values=my-asg \ --starting-token Z3M3LMPEXAMPLE

Per ulteriori informazioni, consulta la sezione Tagging di gruppi e istanze di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

  • Per i dettagli sull'API, consulta DescribeTagsCommand Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzaredescribe-termination-policy-types.

AWS CLI

Come descrivere i tipi di policy di terminazione disponibili

Questo esempio descrive i tipi di policy di terminazione disponibili.

aws autoscaling describe-termination-policy-types

Output:

{ "TerminationPolicyTypes": [ "AllocationStrategy", "ClosestToNextInstanceHour", "Default", "NewestInstance", "OldestInstance", "OldestLaunchConfiguration", "OldestLaunchTemplate" ] }

Per ulteriori informazioni, consulta la sezione Controllo delle istanze di Auto Scaling che terminano durante la scalabilità nella Amazon Auto Scaling EC2 User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-warm-pool.

AWS CLI

Come descrivere un warm pool

In questo esempio viene descritto il warm pool del gruppo Auto Scaling specificato.

aws autoscaling describe-warm-pool \ --auto-scaling-group-name my-asg

Output:

{ "WarmPoolConfiguration": { "MinSize": 2, "PoolState": "Stopped" }, "Instances": [ { "InstanceId": "i-070a5bbc7e7f40dc5", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "LifecycleState": "Warmed:Pending", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-00a731f6e9fa48610", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "6" } }, { "InstanceId": "i-0b52f061814d3bd2d", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2b", "LifecycleState": "Warmed:Pending", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-00a731f6e9fa48610", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "6" } } ] }

Per ulteriori informazioni, consulta Warm pools for Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaredetach-instances.

AWS CLI

Come scollegare un’istanza da un gruppo Auto Scaling

Questo esempio scollega l’istanza specificata dal gruppo Auto Scaling specificato.

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

Output:

{ "Activities": [ { "ActivityId": "5091cb52-547a-47ce-a236-c9ccbc2cb2c9", "AutoScalingGroupName": "my-asg", "Description": "Detaching EC2 instance: i-030017cfa84b20135", "Cause": "At 2020-10-31T17:35:04Z instance i-030017cfa84b20135 was detached in response to a user request, shrinking the capacity from 2 to 1.", "StartTime": "2020-04-12T15:02:16.179Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Il seguente esempio di codice mostra come utilizzaredetach-load-balancer-target-groups.

AWS CLI

Come scollegare un gruppo di destinazione del bilanciatore del carico da un gruppo Auto Scaling

In questo esempio, il gruppo di destinazione del bilanciatore del carico specificato viene scollegato dal gruppo Auto Scaling specificato.

aws autoscaling detach-load-balancer-target-groups \ --auto-scaling-group-name my-asg \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Collegare un sistema di bilanciamento del carico al gruppo Auto Scaling nella Amazon Auto Scaling User EC2 Guide.

Il seguente esempio di codice mostra come utilizzaredetach-load-balancers.

AWS CLI

Come scollegare un Classic Load Balancer da un gruppo Auto Scaling

Questo esempio scollega il Classic Load Balancer specificato dal gruppo Auto Scaling specificato.

aws autoscaling detach-load-balancers \ --load-balancer-names my-load-balancer \ --auto-scaling-group-name my-asg

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Collegare un sistema di bilanciamento del carico al gruppo Auto Scaling nella Amazon Auto Scaling User EC2 Guide.

Il seguente esempio di codice mostra come utilizzaredisable-metrics-collection.

AWS CLI

Come disabilitare la raccolta delle metriche per un gruppo Auto Scaling

In questo esempio viene disabilitata la raccolta della metrica GroupDesiredCapacity per il gruppo Auto Scaling specificato.

aws autoscaling disable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i CloudWatch parametri di monitoraggio per i gruppi e le istanze di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzareenable-metrics-collection.

AWS CLI

Esempio 1: come abilitare la raccolta delle metriche di un gruppo Auto Scaling

Questo esempio abilita la raccolta dei dati per il gruppo Auto Scaling specificato.

aws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --granularity "1Minute"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i CloudWatch parametri di monitoraggio per i gruppi e le istanze di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 2: come raccogliere i dati della metrica specificata per un gruppo Auto Scaling

Per raccogliere i dati per una metrica specifica, utilizza l’opzione --metrics.

aws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity --granularity "1Minute"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i CloudWatch parametri di monitoraggio per i gruppi e le istanze di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzareenter-standby.

AWS CLI

Come spostare le istanze in modalità standby

Questo esempio mette l’istanza specificata in modalità standby. Ciò è utile per aggiornare o risolvere i problemi di un’istanza attualmente in servizio.

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

Output:

{ "Activities": [ { "ActivityId": "ffa056b4-6ed3-41ba-ae7c-249dfae6eba1", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance to Standby: i-061c63c5eb45f0416", "Cause": "At 2020-10-31T20:31:00Z instance i-061c63c5eb45f0416 was moved to standby in response to a user request, shrinking the capacity from 1 to 0.", "StartTime": "2020-10-31T20:31:00.949Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Per ulteriori informazioni, consulta il ciclo di vita delle istanze di Amazon EC2 Auto Scaling nella Amazon Auto Scaling EC2 User Guide.

  • Per i dettagli sull'API, consulta EnterStandbyCommand Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzareexecute-policy.

AWS CLI

Come eseguire una policy di dimensionamento

In questo esempio viene descritta la policy di dimensionamento denominata my-step-scale-out-policy per il gruppo Auto Scaling specificato.

aws autoscaling execute-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-out-policy \ --metric-value 95 \ --breach-threshold 80

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Step and simple scaling policies nella Amazon EC2 Auto Scaling User Guide.

  • Per i dettagli sull'API, consulta AWS CLI Command ExecutePolicyReference.

Il seguente esempio di codice mostra come utilizzareexit-standby.

AWS CLI

Come impostare l’uscita delle istanze dalla modalità standby

Questo esempio imposta l’uscita dell’istanza specificata dalla modalità standby.

aws autoscaling exit-standby \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg

Output:

{ "Activities": [ { "ActivityId": "142928e1-a2dc-453a-9b24-b85ad6735928", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance out of Standby: i-061c63c5eb45f0416", "Cause": "At 2020-10-31T20:32:50Z instance i-061c63c5eb45f0416 was moved out of standby in response to a user request, increasing the capacity from 0 to 1.", "StartTime": "2020-10-31T20:32:50.222Z", "StatusCode": "PreInService", "Progress": 30, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Per ulteriori informazioni, consulta Rimuovere temporaneamente le istanze dal gruppo Auto Scaling nella Amazon Auto Scaling EC2 User Guide.

  • Per i dettagli sull'API, consulta Command ExitStandbyReference AWS CLI .

Il seguente esempio di codice mostra come utilizzareput-lifecycle-hook.

AWS CLI

Esempio 1: come creare un hook del ciclo di vita

Questo esempio crea un hook del ciclo di vita che verrà invocato su tutte le nuove istanze avviate, con un timeout di 4800 secondi. Ciò è utile per mantenere le istanze in uno stato di attesa fino al termine degli script dei dati utente o per richiamare una funzione Lambda utilizzando AWS . EventBridge

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --heartbeat-timeout 4800

Questo comando non produce alcun output. Se esiste già un hook del ciclo di vita con lo stesso nome, verrà sovrascritto dal nuovo hook del ciclo di vita.

Per ulteriori informazioni, consulta i riferimenti al ciclo di vita di Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 2: come inviare un messaggio e-mail tramite Amazon SNS per comunicare le transizioni di stato dell’istanza

Questo esempio crea un hook del ciclo di vita con l’argomento Amazon SNS e il ruolo IAM da utilizzare per ricevere una notifica all’avvio dell’istanza.

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --notification-target-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic \ --role-arn arn:aws:iam::123456789012:role/my-auto-scaling-role

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i riferimenti al ciclo di vita di Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 3: come pubblicare un messaggio in una coda Amazon SQS

Questo esempio crea un hook del ciclo di vita che pubblica un messaggio con metadati nella coda Amazon SQS specificata.

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --notification-target-arn arn:aws:sqs:us-west-2:123456789012:my-sqs-queue \ --role-arn arn:aws:iam::123456789012:role/my-notification-role \ --notification-metadata "SQS message metadata"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i riferimenti al ciclo di vita di Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzareput-notification-configuration.

AWS CLI

Come aggiungere una notifica

Questo esempio aggiunge la notifica specificata al gruppo Auto Scaling specificato.

aws autoscaling put-notification-configuration \ --auto-scaling-group-name my-asg \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic \ --notification-type autoscaling:TEST_NOTIFICATION

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Ricevere notifiche Amazon SNS quando il tuo gruppo Auto Scaling aumenta nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzareput-scaling-policy.

AWS CLI

Come aggiungere una policy di dimensionamento con monitoraggio delle destinazioni a un gruppo Auto Scaling

L’esempio put-scaling-policy seguente applica una policy di dimensionamento con monitoraggio delle destinazioni al gruppo Auto Scaling specificato. L'output contiene i nomi ARNs e i nomi dei due CloudWatch allarmi creati per tuo conto. Se esiste già una policy di dimensionamento con lo stesso nome, tale policy verrà sovrascritta dalla nuova policy.

aws autoscaling put-scaling-policy --auto-scaling-group-name my-asg \ --policy-name alb1000-target-tracking-scaling-policy \ --policy-type TargetTrackingScaling \ --target-tracking-configuration file://config.json

Contenuto di config.json:

{ "TargetValue": 1000.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" } }

Output:

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:228f02c2-c665-4bfd-aaac-8b04080bea3c:autoScalingGroupName/my-asg:policyName/alb1000-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e", "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e" }, { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2", "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2" } ] }

Per altri esempi, consulta Example scaling policies for the AWS Command Line Interface (AWS CLI) nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzareput-scheduled-update-group-action.

AWS CLI

Esempio 1: come aggiungere un’azione pianificata a un gruppo Auto Scaling

Questo esempio aggiunge l’azione pianificata specificata al gruppo Auto Scaling specificato.

aws autoscaling put-scheduled-update-group-action \ --auto-scaling-group-name my-asg \ --scheduled-action-name my-scheduled-action \ --start-time "2023-05-12T08:00:00Z" \ --min-size 2 \ --max-size 6 \ --desired-capacity 4

Questo comando non produce alcun output. Se esiste già un’azione pianificata con lo stesso nome, tale azione verrà sovrascritta dalla nuova azione pianificata.

Per altri esempi, consulta Scheduled Scaling nella Amazon EC2 Auto Scaling User Guide.

Esempio 2: come specificare una pianificazione ricorrente

Questo esempio crea un’azione di dimensionamento pianificata in base a una pianificazione ricorrente la cui esecuzione è programmata alle 00:30 del primo gennaio, giugno e dicembre di ogni anno.

aws autoscaling put-scheduled-update-group-action \ --auto-scaling-group-name my-asg \ --scheduled-action-name my-recurring-action \ --recurrence "30 0 1 1,6,12 *" \ --min-size 2 \ --max-size 6 \ --desired-capacity 4

Questo comando non produce alcun output. Se esiste già un’azione pianificata con lo stesso nome, tale azione verrà sovrascritta dalla nuova azione pianificata.

Per altri esempi, consulta Scheduled Scaling nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzareput-warm-pool.

AWS CLI

Come creare un warm pool

L’esempio seguente crea un warm pool per il gruppo Auto Scaling specificato.

aws autoscaling put-warm-pool \ --auto-scaling-group-name my-asg \ --min-size 2

Questo comando non produce alcun output. Se esiste già un warm pool, verrà aggiornato.

Per ulteriori informazioni, consulta Warm pools for Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

  • Per i dettagli sull'API, consulta AWS CLI Command PutWarmPoolReference.

Il seguente esempio di codice mostra come utilizzarerecord-lifecycle-action-heartbeat.

AWS CLI

Come registrare l’heartbeat di un’azione del ciclo di vita

Questo esempio registra l’heartbeat di un’azione del ciclo di vita per mantenere l’istanza in sospeso.

aws autoscaling record-lifecycle-action-heartbeat \ --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i riferimenti al ciclo di vita di Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzareresume-processes.

AWS CLI

Come riprendere i processi in sospeso

Questo esempio riprende il processo di dimensionamento automatico specificato per il gruppo Auto Scaling specificato.

aws autoscaling resume-processes \ --auto-scaling-group-name my-asg \ --scaling-processes AlarmNotification

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Sospensione e ripresa dei processi di scalabilità nella Amazon Auto Scaling User Guide. EC2

  • Per i dettagli sull'API, consulta Command Reference. ResumeProcessesAWS CLI

Il seguente esempio di codice mostra come utilizzarerollback-instance-refresh.

AWS CLI

Come eseguire il rollback dell’aggiornamento di un’istanza

L’esempio rollback-instance-refresh seguente esegue il rollback un aggiornamento dell’istanza in corso per il gruppo Auto Scaling specificato.

aws autoscaling rollback-instance-refresh \ --auto-scaling-group-name my-asg

Output:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Per ulteriori informazioni, consulta Annulla le modifiche con un rollback nella Amazon Auto EC2 Scaling User Guide.

Il seguente esempio di codice mostra come utilizzareset-desired-capacity.

AWS CLI

Come impostare la capacità desiderata per un gruppo Auto Scaling

Questo esempio imposta la capacità desiderata per il gruppo Auto Scaling specificato.

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

In caso di esito positivo, il comando torna al prompt.

Il seguente esempio di codice mostra come utilizzareset-instance-health.

AWS CLI

Come impostare lo stato dell’integrità di un’istanza

In questo esempio, lo stato di integrità dell’istanza specificata viene impostato su Unhealthy.

aws autoscaling set-instance-health \ --instance-id i-061c63c5eb45f0416 \ --health-status Unhealthy

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzareset-instance-protection.

AWS CLI

Esempio 1: come abilitare l’impostazione di protezione delle istanze per un’istanza

Questo esempio abilita la protezione dell’istanza specificata.

aws autoscaling set-instance-protection \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg --protected-from-scale-in

Questo comando non produce alcun output.

Esempio 2: come disabilitare l’impostazione di protezione delle istanze per un’istanza

Questo esempio disabilita la protezione dell’istanza specificata.

aws autoscaling set-instance-protection \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg \ --no-protected-from-scale-in

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzarestart-instance-refresh.

AWS CLI

Esempio 1: come avviare l’aggiornamento di un’istanza utilizzando i parametri della riga di comando

L’esempio start-instance-refresh seguente avvia l’aggiornamento di un’istanza utilizzando argomenti della riga di comando. Il parametro opzionale preferences specifica una InstanceWarmup di 60 secondi e una MinHealthyPercentage pari al 50%.

aws autoscaling start-instance-refresh \ --auto-scaling-group-name my-asg \ --preferences '{"InstanceWarmup": 60, "MinHealthyPercentage": 50}'

Output:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Per ulteriori informazioni, consulta Start an istance refresh nella Amazon EC2 Auto Scaling User Guide.

Esempio 2: come avviare l’aggiornamento di un’istanza utilizzando un file JSON

L’esempio start-instance-refresh seguente avvia l’aggiornamento di un’istanza utilizzando un file JSON. È possibile specificare il gruppo Auto Scaling e definire la configurazione e le preferenze desiderate in un file JSON, come illustrato nell’esempio seguente.

aws autoscaling start-instance-refresh \ --cli-input-json file://config.json

Contenuto di config.json:

{ "AutoScalingGroupName": "my-asg", "DesiredConfiguration": { "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b729example", "Version": "$Default" } }, "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 50, "AutoRollback": true, "ScaleInProtectedInstances": Ignore, "StandbyInstances": Terminate } }

Output:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Per ulteriori informazioni, consulta Start an istance refresh nella Amazon EC2 Auto Scaling User Guide.

Il seguente esempio di codice mostra come utilizzaresuspend-processes.

AWS CLI

Come sospendere i processi di dimensionamento automatico

Questo esempio sospende il processo di dimensionamento specificato per il gruppo Auto Scaling specificato.

aws autoscaling suspend-processes \ --auto-scaling-group-name my-asg \ --scaling-processes AlarmNotification

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Sospensione e ripresa dei processi di scalabilità nella Amazon Auto Scaling User Guide. EC2

Il seguente esempio di codice mostra come utilizzareterminate-instance-in-auto-scaling-group.

AWS CLI

Come terminare un’istanza in un gruppo Auto Scaling

Questo esempio termina l’istanza specificata nel gruppo Auto Scaling specificato senza aggiornare la dimensione del gruppo. Amazon EC2 Auto Scaling avvia un'istanza sostitutiva al termine dell'istanza specificata.

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-061c63c5eb45f0416 \ --no-should-decrement-desired-capacity

Output:

{ "Activities": [ { "ActivityId": "8c35d601-793c-400c-fcd0-f64a27530df7", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-061c63c5eb45f0416", "Cause": "", "StartTime": "2020-10-31T20:34:25.680Z", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Il seguente esempio di codice mostra come utilizzareupdate-auto-scaling-group.

AWS CLI

Esempio 1: come aggiornare i limiti di dimensione di un gruppo Auto Scaling

Questo esempio aggiorna il gruppo Auto Scaling specificato in base a una dimensione minima di 2 e una dimensione massima di 10.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --min-size 2 \ --max-size 10

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Impostazione dei limiti di capacità per il tuo gruppo Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 2: come aggiungere i controlli dell’integrità di Elastic Load Balancing e specificare le zone di disponibilità e le sottoreti da utilizzare

Questo esempio aggiorna il gruppo Auto Scaling specificato per aggiungere i controlli dell’integrità di Elastic Load Balancing. Questo comando aggiorna anche il valore di --vpc-zone-identifier con un elenco di sottoreti IDs in più zone di disponibilità.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --health-check-type ELB \ --health-check-grace-period 600 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Elastic Load Balancing e Amazon Auto EC2 Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 3: come aggiornare il gruppo di posizionamento e la policy di terminazione

Questo esempio aggiorna il gruppo di posizionamento e la policy di terminazione da utilizzare.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --placement-group my-placement-group \ --termination-policies "OldestInstance"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i gruppi Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

Esempio 4: come utilizzare la versione più recente del modello di avvio

Questo esempio aggiorna il gruppo Auto Scaling specificato per utilizzare la versione più recente del modello di avvio specificato.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest'

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Launch templates nella Amazon EC2 Auto Scaling User Guide.

Esempio 5: come utilizzare una versione specifica del modello di avvio

Questo esempio aggiorna il gruppo Auto Scaling specificato per utilizzare una versione specifica di un modello di avvio anziché la versione più recente o predefinita.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Launch templates nella Amazon EC2 Auto Scaling User Guide.

Esempio 6: come definire una policy di istanze miste e abilitare il ribilanciamento della capacità

Questo esempio aggiorna il gruppo Auto Scaling specificato per utilizzare una policy di istanze miste e consentire il ribilanciamento della capacità. Questa struttura consente di specificare gruppi con capacità spot e on demand e utilizzare modelli di avvio diversi per architetture diverse.

aws autoscaling update-auto-scaling-group \ --cli-input-json file://~/config.json

Contenuto di config.json:

{ "AutoScalingGroupName": "my-asg", "CapacityRebalance": true, "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-x86", "Version": "$Latest" }, "Overrides": [ { "InstanceType": "c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType": "c5.large" }, { "InstanceType": "c5a.large" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "capacity-optimized" } } }

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta i gruppi di Auto Scaling con più tipi di istanze e opzioni di acquisto nella Amazon Auto EC2 Scaling User Guide.