Esempi di Auto Scaling utilizzando AWS CLI - Esempi di codice dell'AWS SDK

Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples GitHub .

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 operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareattach-instances.

AWS CLI

Per 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

Per associare un gruppo target a un gruppo di Auto Scaling

Questo esempio collega il gruppo target 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

Per collegare un Classic Load Balancer a un 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

Per annullare l'aggiornamento di un'istanza

L'cancel-instance-refreshesempio seguente annulla un aggiornamento dell'istanza in corso per il gruppo Auto Scaling 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

Per completare l'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: creare un gruppo Auto Scaling

L'create-auto-scaling-groupesempio 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 politiche di terminazione e la configurazione del controllo dello stato di salute.

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: per collegare un Application Load Balancer, un Network Load Balancer o un Gateway Load Balancer

Questo esempio specifica il gruppo target per un sistema ARN di bilanciamento del carico che supporta il traffico previsto. Il tipo di controllo dello stato specifica ELB che quando Elastic Load Balancing segnala un'istanza come non integra, il gruppo Auto Scaling la sostituisce. Il comando definisce anche un periodo di tolleranza di secondi per il controllo dello stato di salute. 600 Il periodo di tolleranza aiuta a prevenire la chiusura 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: per specificare un gruppo di posizionamento e utilizzare la versione più recente del modello di lancio

Questo esempio avvia le istanze in un gruppo di posizionamento all'interno di una singola zona di disponibilità. Questo può essere utile per gruppi a bassa latenza con carichi di lavoro. 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: Per 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 impostata per 1 imporre l'esecuzione di un'istanza. Il comando specifica anche la versione 1 di un modello di avvio in cui è specificato l'ID di un modello esistente. ENI Quando si utilizza un modello di avvio che specifica un file esistente ENI per eth0, è necessario specificare una zona di disponibilità per il gruppo Auto Scaling che corrisponda 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: specificare una politica di terminazione diversa

Questo esempio crea un gruppo Auto Scaling utilizzando una configurazione di avvio e imposta la politica di terminazione per terminare prima le istanze più vecchie. Il comando applica inoltre un tag al gruppo e alle relative istanze, con una chiave di e un valore diRole. 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 EC2Auto Scaling User Guide.

Esempio 6: specificare un hook per il ciclo di vita del lancio

Questo esempio crea un gruppo Auto Scaling con un lifecycle hook che supporta un'azione personalizzata all'avvio dell'istanza.

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: per specificare un hook del ciclo di vita della terminazione

Questo esempio crea un gruppo Auto Scaling con un lifecycle hook che supporta un'azione personalizzata alla chiusura dell'istanza.

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: specificare una politica 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: per creare una configurazione di avvio

Questo esempio crea una semplice configurazione di avvio.

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: 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 boottrapping 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: 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 IAM ruolo.

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 IAMil ruolo per le applicazioni eseguite su EC2 istanze Amazon nella Amazon EC2 Auto Scaling User Guide.

Esempio 4: 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 le EC2 metriche 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 EC2Scaling User Guide.

Esempio 5: creare una configurazione di avvio che avvii 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 locazione e l'eventuale impostazione di un indirizzo IP pubblico includendo le --placement-tenancy opzioni and. --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'EC2istanza nella Amazon EC2 Auto Scaling User Guide.

Esempio 7: 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 EBS gp3 volume Amazon con il nome del dispositivo /dev/sdh e una dimensione del volume di 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 EBSAmazon EC2 Auto Scaling API Reference.

Per informazioni sulla sintassi per citare i valori dei parametri JSON -formatted, consulta Usare le virgolette con le stringhe nella Guida per l'utente dell' AWS CLIinterfaccia a riga di comando.AWS

Esempio 8: creare una configurazione di avvio con una mappatura dei dispositivi a blocchi per un volume di archiviazione di istanze

Questo esempio crea una configurazione di avvio con ephemeral1 come volume di archivio delle istanze con il nome /dev/sdc del dispositivo.

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 BlockDeviceMappingAmazon EC2 Auto Scaling API Reference.

Per informazioni sulla sintassi per citare i valori dei parametri JSON -formatted, consulta Usare le virgolette con le stringhe nella Guida per l'utente dell' AWS CLIinterfaccia a riga di comando.AWS

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

Questo esempio crea una configurazione di avvio che sopprime un dispositivo a blocchi specificato dalla mappatura dei dispositivi a blocchi di 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 BlockDeviceMappingAmazon EC2 Auto Scaling API Reference.

Per informazioni sulla sintassi per citare i valori dei parametri JSON -formatted, consulta Usare le virgolette con le stringhe nella Guida per l'utente dell' AWS CLIinterfaccia a riga di comando.AWS

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

AWS CLI

Per creare o aggiornare i tag per un gruppo di 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: Per 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: Per forzare l'eliminazione del gruppo Auto Scaling specificato

Per eliminare il gruppo Auto Scaling senza attendere che le istanze del gruppo terminino, utilizzate 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

Per eliminare una 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

Per 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

Per 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

Per eliminare una politica di scalabilità

Questo esempio elimina la politica di scalabilità specificata.

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

Questo comando non produce alcun output.

  • Per API i dettagli, vedere DeletePolicyin AWS CLI Command Reference.

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

AWS CLI

Per 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

Per 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 API dettagli, consulta DeleteTagsCommand Reference.AWS CLI

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

AWS CLI

Esempio 1: Per eliminare una piscina calda

L'esempio seguente elimina il pool caldo 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: forzare l'eliminazione di una piscina calda

Per eliminare la piscina calda senza attendere che le relative istanze vengano terminate, utilizzate l'--force-deleteopzione.

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 API i dettagli, 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 EC2Auto Scaling User Guide.

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

AWS CLI

Per descrivere i tipi di regolazione della scala disponibili

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: Per descrivere il gruppo Auto Scaling specificato

Questo esempio descrive il gruppo Auto Scaling specificato.

aws autoscaling describe-auto-scaling-groups \ --auto-scaling-group-name 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: Per descrivere i primi 100 gruppi di Auto Scaling specificati

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

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

Vedi l'esempio 1 per un esempio di output.

Esempio 3: Per descrivere un gruppo Auto Scaling nella regione specificata

Questo esempio descrive i gruppi Auto Scaling nella regione specificata, fino a un massimo di 75 gruppi.

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

Vedi l'esempio 1 per un esempio di output.

Esempio 4: Per descrivere il numero specificato del gruppo Auto Scaling

Per restituire un numero specifico di gruppi Auto Scaling, utilizzate l'--max-itemsopzione.

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

Vedi l'esempio 1 per un esempio di output.

Se l'output include un NextToken campo, ci sono più gruppi. Per ottenere i gruppi aggiuntivi, utilizzate il valore di questo campo con l'--starting-tokenopzione in una chiamata successiva come segue.

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

Vedi l'esempio 1 per un esempio di output.

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

Questo esempio utilizza l'--queryopzione per descrivere i gruppi di 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 Filtrare l' AWS CLIoutput nella Guida per l'utente dell'interfaccia a riga di AWS comando.

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

AWS CLI

Esempio 1: Per 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: Per descrivere una o più istanze

Questo esempio utilizza l'--max-itemsopzione per specificare quante istanze restituire con questa chiamata.

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

Se l'output include un NextToken campo, ci sono più istanze. Per ottenere le istanze aggiuntive, utilizzate il valore di questo campo con l'--starting-tokenopzione in una chiamata successiva come segue.

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

Vedi l'esempio 1 per un output di esempio.

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

Questo esempio utilizza l'--queryopzione 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 Filtrare l' AWS CLIoutput nella Guida per l'utente dell'interfaccia a riga di AWS comando.

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

AWS CLI

Per 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 SNS notifiche Amazon quando il tuo gruppo Auto Scaling aumenta nella Amazon EC2Auto Scaling User Guide.

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

AWS CLI

Per descrivere gli aggiornamenti delle istanze

L'describe-instance-refreshesesempio 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: Per 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: Per descrivere un numero specificato di configurazioni di avvio

Per restituire un numero specifico di configurazioni di avvio, usa l'--max-itemsopzione.

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

Se l'output include un NextToken campo, ci sono più configurazioni di avvio. Per ottenere le configurazioni di avvio aggiuntive, utilizzate il valore di questo campo con l'--starting-tokenopzione in una chiamata successiva come segue.

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

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

AWS CLI

Per 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

Per descrivere i ganci del ciclo di vita

Questo esempio descrive gli hook del ciclo di vita per il 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

Per descrivere i gruppi target dei sistemi di bilanciamento del carico per un gruppo di Auto Scaling

Questo esempio descrive i gruppi target del sistema di bilanciamento del carico 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

Per descrivere il gruppo Classic Load Balancer for an 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

Per descrivere i tipi di raccolta di metriche disponibili

Questo esempio descrive i tipi di raccolta di 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 EC2Auto Scaling User Guide.

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

AWS CLI

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

Questo esempio descrive le configurazioni di notifica per il 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 SNS notifiche Amazon quando il tuo gruppo Auto Scaling aumenta nella Amazon EC2Auto Scaling User Guide.

Esempio 1: per descrivere un numero specifico di configurazioni di notifica

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

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 NextToken campo, ci sono più configurazioni di notifica. Per ottenere le configurazioni di notifica aggiuntive, utilizzate il valore di questo campo con il starting-token parametro in una chiamata successiva come segue.

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

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

Il seguente esempio di codice mostra come utilizzaredescribe-policies.

AWS CLI

Esempio 1: Per descrivere le politiche di scalabilità di un gruppo specificato

Questo esempio descrive le politiche di ridimensionamento per il 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: Per descrivere le politiche di scalabilità di un nome specifico

Per restituire politiche di ridimensionamento specifiche, utilizzare l'--policy-namesopzione.

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

Vedi l'esempio 1 per un esempio di output.

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

Esempio 3: Per descrivere una serie di politiche di scalabilità

Per restituire un numero specifico di politiche, utilizzare l'--max-itemsopzione.

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

Vedi l'esempio 1 per un esempio di output.

Se l'output include un NextToken campo, utilizza il valore di questo campo con l'--starting-tokenopzione in una chiamata successiva per ottenere le politiche 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: Per descrivere le attività di ridimensionamento per il gruppo specificato

Questo esempio descrive le attività di ridimensionamento per il 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: per descrivere le attività di ridimensionamento per un gruppo eliminato

Per descrivere le attività di ridimensionamento dopo l'eliminazione del gruppo Auto Scaling, aggiungete --include-deleted-groups l'opzione.

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: Per descrivere un numero specifico di attività di scalabilità

Per restituire un numero specifico di attività, utilizzare l'--max-itemsopzione.

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 NextToken campo, ci sono più attività. Per ottenere le attività aggiuntive, usa il valore di questo campo con l'--starting-tokenopzione in una chiamata successiva come segue.

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

Per 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: Per 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: Per descrivere le azioni pianificate per il gruppo specificato

Per descrivere le azioni pianificate per uno specifico gruppo di Auto Scaling, utilizzate l'--auto-scaling-group-nameopzione.

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: Per descrivere l'azione pianificata specificata

Per descrivere un'azione pianificata specifica, utilizzare l'--scheduled-action-namesopzione.

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: Per descrivere le azioni pianificate con un'ora di inizio specificata

Per descrivere le azioni pianificate che iniziano in un'ora specifica, utilizza l'--start-timeopzione.

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: Per descrivere le azioni pianificate che terminano in un momento specifico

Per descrivere le azioni pianificate che terminano in un momento specifico, utilizza l'--end-timeopzione.

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: Per descrivere un numero specifico di azioni pianificate

Per restituire un numero specifico di azioni pianificate, utilizzare l'--max-itemsopzione.

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 NextToken campo, ci sono più azioni pianificate. Per ottenere le azioni pianificate aggiuntive, utilizza il valore di questo campo con l'--starting-tokenopzione in una chiamata successiva come segue.

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

Per descrivere tutti i tag

Questo esempio descrive tutti i tuoi 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: per descrivere i tag per un gruppo specifico

Per descrivere i tag per uno specifico gruppo di Auto Scaling, utilizzate l'--filtersopzione.

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: per descrivere il numero di tag specificato

Per restituire un numero specifico di tag, usa l'--max-itemsopzione.

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

Se l'output include un NextToken campo, ci sono più tag. Per ottenere i tag aggiuntivi, usa il valore di questo campo con l'--starting-tokenopzione in una chiamata successiva come segue.

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 API dettagli, consulta DescribeTagsCommand Reference.AWS CLI

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

AWS CLI

Per 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

Per descrivere una piscina calda

Questo esempio descrive il pool caldo per il 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

Per 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

Per scollegare un gruppo target di sistemi di bilanciamento del carico da un gruppo Auto Scaling

Questo esempio scollega il gruppo target del sistema di bilanciamento del carico specificato 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

Per 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

Per disabilitare la raccolta di metriche per un gruppo di Auto Scaling

Questo esempio disabilita la raccolta della GroupDesiredCapacity metrica 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: abilitare la raccolta di metriche per un gruppo di Auto Scaling

Questo esempio abilita la raccolta di 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: raccogliere dati per la metrica specificata per un gruppo Auto Scaling

Per raccogliere 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

Per 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 API dettagli, consulta EnterStandbyCommand Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzareexecute-policy.

AWS CLI

Per eseguire una politica di scalabilità

Questo esempio esegue il criterio di ridimensionamento denominato 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 API i dettagli, consulta AWS CLI Command ExecutePolicyReference.

Il seguente esempio di codice mostra come utilizzareexit-standby.

AWS CLI

Per spostare le istanze dalla modalità standby

Questo esempio sposta l'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 API i dettagli, consulta Command ExitStandbyReference AWS CLI .

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

AWS CLI

Esempio 1: Per creare un hook del ciclo di vita

Questo esempio crea un lifecycle hook che verrà richiamato su tutte le istanze appena 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 lifecycle hook con lo stesso nome, verrà sovrascritto dal nuovo lifecycle hook.

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

Esempio 2: inviare un messaggio SNS e-mail Amazon per informarti delle transizioni di stato dell'istanza

Questo esempio crea un hook del ciclo di vita con l'SNSargomento e il IAM ruolo Amazon da utilizzare per ricevere notifiche 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: pubblicare un messaggio in una SQS coda Amazon

Questo esempio crea un lifecycle hook che pubblica un messaggio con metadati nella coda Amazon specificata. SQS

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

Per 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 SNS notifiche Amazon quando il tuo gruppo Auto Scaling aumenta nella Amazon EC2Auto Scaling User Guide.

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

AWS CLI

Per aggiungere una politica di ridimensionamento del tracciamento degli obiettivi a un gruppo Auto Scaling

L'put-scaling-policyesempio seguente applica una politica di ridimensionamento del tracciamento 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 politica di scalabilità con lo stesso nome, verrà sovrascritta dalla nuova politica di scalabilità.

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 EC2 Auto Scaling User Guide.

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

AWS CLI

Esempio 1: 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, verrà sovrascritta dalla nuova azione pianificata.

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

Esempio 2: Per specificare una pianificazione ricorrente

Questo esempio crea un'azione pianificata da scalare 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, 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

Per creare una piscina calda

L'esempio seguente crea un pool caldo 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 pool caldo, verrà aggiornato.

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

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

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

AWS CLI

Per registrare un'azione del ciclo di vita (heartbeat)

Questo esempio registra un 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

Per riprendere i processi sospesi

Questo esempio riprende il processo di ridimensionamento sospeso 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

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

AWS CLI

Per ripristinare l'aggiornamento di un'istanza

L'rollback-instance-refreshesempio seguente ripristina 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

Per 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

Per impostare lo stato di integrità di un'istanza

Questo esempio imposta lo stato di integrità dell'istanza specificata suUnhealthy.

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: per abilitare l'impostazione di protezione dell'istanza per un'istanza

Questo esempio abilita la protezione dell'istanza per l'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: per disabilitare l'impostazione di protezione dell'istanza per un'istanza

Questo esempio disattiva la protezione dell'istanza per l'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: per avviare l'aggiornamento di un'istanza utilizzando i parametri della riga di comando

L'start-instance-refreshesempio seguente avvia l'aggiornamento di un'istanza utilizzando argomenti della riga di comando. Il preferences parametro opzionale specifica un numero InstanceWarmup di 60 secondi e uno MinHealthyPercentage di 50 percentuale.

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: per avviare l'aggiornamento di un'istanza utilizzando un file JSON

L'start-instance-refreshesempio seguente avvia l'aggiornamento di un'istanza utilizzando un JSON file. È possibile specificare il gruppo Auto Scaling e definire la configurazione e le preferenze desiderate in un JSON file, 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

Per sospendere i processi di Auto Scaling

Questo esempio sospende il processo di ridimensionamento 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

Per terminare un'istanza in un gruppo Auto Scaling

Questo esempio termina l'istanza specificata dal 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: Per aggiornare i limiti di dimensione di un gruppo di Auto Scaling

Questo esempio aggiorna il gruppo Auto Scaling specificato con 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: aggiungere i controlli di integrità di Elastic Load Balancing e specificare quali zone di disponibilità e sottoreti utilizzare

Questo esempio aggiorna il gruppo Auto Scaling specificato per aggiungere i controlli di integrità 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: per aggiornare il gruppo di collocamento e la politica di cessazione

Questo esempio aggiorna il gruppo di collocamento e la politica di licenziamento 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: per utilizzare la versione più recente del modello di lancio

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: per utilizzare una versione specifica del modello di lancio

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: definire una politica a istanze miste e abilitare il ribilanciamento della capacità

Questo esempio aggiorna il gruppo Auto Scaling specificato per utilizzare una politica di istanze miste e consente 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.