Auto Scaling 範例使用 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Auto Scaling 範例使用 AWS CLI

下列程式碼範例說明如何透過 AWS Command Line Interface 搭配 Auto Scaling 使用來執行動作及實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境和跨服務範例中查看內容中的動作。

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

每個範例都包含一個連結 GitHub,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例會示範如何使用attach-instances

AWS CLI

將例證附加至 Auto Scaling 群組

本範例會將指定的例證附加至指定的「Auto Scaling」群組。

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

此命令不會產生輸出。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考AttachInstances中的。

下列程式碼範例會示範如何使用attach-load-balancer-target-groups

AWS CLI

將目標群組附加至 Auto Scaling 群組

本範例會將指定的目標群組附加至指定的「Auto Scaling」群組。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的 Elastic Load Balancing 和 Amazon EC2 Auto Scaling

下列程式碼範例會示範如何使用attach-load-balancers

AWS CLI

將 Classic Load Balancer 附加至 Auto Scaling 群組

此範例會將指定的 Classic Load Balancer 附加至指定的「Auto Scaling 例」群組

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的 Elastic Load Balancing 和 Amazon EC2 Auto Scaling

下列程式碼範例會示範如何使用cancel-instance-refresh

AWS CLI

取消執行處理重新整理

下列cancel-instance-refresh範例會針對指定的 Auto Scaling 群組取消進行中的執行個體重新整理。

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

輸出:

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

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的取消執行個體重新整理

下列程式碼範例會示範如何使用complete-lifecycle-action

AWS CLI

若要完成生命週期動作

此範例會通知 Amazon EC2 Auto Scaling 指定的生命週期動作已完成,以便其完成啟動或終止執行個體。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

下列程式碼範例會示範如何使用create-auto-scaling-group

AWS CLI

範例 1:建立「Auto Scaling」群組

下列create-auto-scaling-group範例會在區域內多個可用區域的子網路中建立 Auto Scaling 群組。執行個體會以指定啟動範本的預設版本啟動。請注意,大多數其他設定都會使用預設值,例如終止原則和健全狀況檢查組態。

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"

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Auto Scaling 群組

範例 2:連接 Application Load Balancer、Network Load Balancer 或閘道 Load Balancer

此範例指定負載平衡器支援預期流量之目標群組的 ARN。健康狀態檢查類型會指定ELB當「Elastic Load Balancing」將執行個體回報為狀態不良時,Auto Scaling 群組會取代它。此命令也會定義健全狀況檢查寬限期 (600秒)。寬限期有助於防止新啟動的執行個體過早終止。

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"

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的 Elastic Load Balancing 和 Amazon EC2 Auto Scaling

範例 3:指定置放群組並使用最新版本的啟動範本

此範例會將執行個體啟動至單一可用區域內的置放群組。這對於具有 HPC 工作負載的低延遲群組很有用。此範例也會指定群組的最小大小、最大大小和所需容量。

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"

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的置放群組

範例 4:若要指定單一執行個體 Auto Scaling 群組,並使用特定版本的啟動範本

此範例會建立 Auto Scaling 群組,其中設定了最小和最大容量,1以強制執行一個執行個體。該命令還指定了指定現有 ENI ID 的啟動模板的 v1。當您使用指定 eth0 現有 ENI 的啟動範本時,必須為與網路介面相符的 Auto Scaling 群組指定可用區域,而不必在要求中指定子網路 ID。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Auto Scaling 群組

範例 5:若要指定不同的終止原則

此範例會使用啟動設定建立 Auto Scaling 群組,並將終止原則設定為先終止最舊的執行個體。此指令也會將標籤套用至群組及其執行個體,索引鍵Role和值為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"

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的使用 Amazon EC2 Auto Scaling 終止政策

範例 6:若要指定啟動生命週期掛接

此範例會建立具有生命週期掛接的 Auto Scaling 群組,該群組在執行個體啟動時支援自訂動作。

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

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

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

範例 7:指定終止生命週期掛接

此範例會建立具有生命週期掛接的 Auto Scaling 群組,該群組在執行個體終止時支援自訂動作。

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

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" }

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

範例 8:指定自訂終止原則

此範例會建立一個 Auto Scaling 群組,該群組指定自訂 Lambda 函數終止政策,告知 Amazon EC2 Auto Scaling 哪些執行個體可以安全地在規模中終止。

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"

此命令不會產生輸出。

如需詳細資訊,請參Amazon EC2 自 Auto Scaling 使用者指南中的使用 Lambda 建立自訂終止政策

下列程式碼範例會示範如何使用create-launch-configuration

AWS CLI

範例 1:建立啟動組態

此範例會建立簡單的啟動設定。

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

此命令不會產生輸出。

如需詳細資訊,請參Amazon EC2 自動擴展使用者指南中的建立啟動組態

範例 2:使用安全性群組、key pair 和啟動補漏白指令碼建立啟動組態

此範例會建立包含安全群組、key pair 和使用者資料中包含的啟動補漏白指令碼的啟動組態。

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

此命令不會產生輸出。

如需詳細資訊,請參Amazon EC2 自動擴展使用者指南中的建立啟動組態

範例 3:使用 IAM 角色建立啟動組態

此範例會使用 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

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的在 Amazon EC2 執行個體上執行的應用程式 IAM 角色

範例 4:建立啟動組態並啟用詳細監視

此範例會建立啟用 EC2 詳細監控的啟動組態,並 CloudWatch 在 1 分鐘內將 EC2 指標傳送至。

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

此命令不會產生輸出。

如需詳細資訊,請參Amazon EC2 Auto Scaling 使用者指南中的設定 Auto Scaling 執行個體的監控

範例 5:建立啟動 Spot 執行個體的啟動組態

此範例會建立使用 Spot 執行個體做為唯一購買選項的啟動設定。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的請求 Spot 執行個體。

範例 6:使用 EC2 執行個體建立啟動組態

此範例會根據現有執行個體的屬性建立啟動組態。它會覆寫放置租用,以及是否透過包含--placement-tenancy--no-associate-public-ip-address選項來設定公用 IP 位址。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 自動擴展使用者指南中的使用 EC2 執行個體建立啟動組態

範例 7:使用 Amazon EBS 磁碟區的區塊裝置對應建立啟動組態

此範例會建立啟動組態,其中包含裝置名稱/dev/sdhgp3磁碟區大小為 20 的 Amazon EBS 磁碟區的區塊裝置對映。

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"}}]'

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling API 參考中的 EBS

如需有關引用 JSON 格式參數值之語法的詳細資訊,請參閱《AWS 命令列介面使用者指南》中的 AWS CLI 中的〈使用引號搭配字串〉。

範例 8:使用執行個體存放區磁碟區的區塊裝置對應建立啟動設定

此範例會建立啟動設定,並以裝置名稱ephemeral1做為執行個體存放區磁碟區/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"}]'

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling API 參考BlockDeviceMapping中的。

如需有關引用 JSON 格式參數值之語法的詳細資訊,請參閱《AWS 命令列介面使用者指南》中的 AWS CLI 中的〈使用引號搭配字串〉。

範例 9:建立啟動設定並禁止區塊裝置在啟動時附加

此範例會建立啟動組態,以抑制 AMI 的區塊裝置對應所指定的區塊裝置 (例如/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":""}]'

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling API 參考BlockDeviceMapping中的。

如需有關引用 JSON 格式參數值之語法的詳細資訊,請參閱《AWS 命令列介面使用者指南》中的 AWS CLI 中的〈使用引號搭配字串〉。

下列程式碼範例會示範如何使用create-or-update-tags

AWS CLI

建立或更新 Auto Scaling 群組的標籤

此範例會將兩個標籤新增至指定的「Auto Scaling」群組。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的標記 Auto Scaling 群組和執行個體

下列程式碼範例會示範如何使用delete-auto-scaling-group

AWS CLI

範例 1:若要刪除指定的「Auto Scaling」群組

此範例會刪除指定的「Auto Scaling」群組。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 自 Auto Scaling 使用者指南中的刪除 Auto Scaling 基礎設施

範例 2:強制刪除指定的「Auto Scaling」群組

若要刪除 Auto Scaling 群組而不等待群組中的執行個體終止,請使用--force-delete選項。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 自 Auto Scaling 使用者指南中的刪除 Auto Scaling 基礎設施

下列程式碼範例會示範如何使用delete-launch-configuration

AWS CLI

若要刪除啟動組態

此範例會刪除指定的啟動組態。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 自 Auto Scaling 使用者指南中的刪除 Auto Scaling 基礎設施

下列程式碼範例會示範如何使用delete-lifecycle-hook

AWS CLI

若要刪除生命週期掛接

此範例會刪除指定的生命週期掛接。

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

此命令不會產生輸出。

下列程式碼範例會示範如何使用delete-notification-configuration

AWS CLI

刪除 Auto Scaling 通知

此範例會從指定的「Auto Scaling」群組中刪除指定的通知。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的刪除通知組態

下列程式碼範例會示範如何使用delete-policy

AWS CLI

刪除資源調度政策

此範例會刪除指定的資源調整政策。

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

此命令不會產生輸出。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeletePolicy中的。

下列程式碼範例會示範如何使用delete-scheduled-action

AWS CLI

若要從「Auto Scaling」群組中刪除排程動作

此範例會從指定的 Auto Scaling 群組中刪除指定的排程動作。

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

此命令不會產生輸出。

下列程式碼範例會示範如何使用delete-tags

AWS CLI

從「Auto Scaling」群組中刪除標籤

此範例會從指定的「Auto Scaling」群組中刪除指定的標籤。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的標記 Auto Scaling 群組和執行個體

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteTags中的。

下列程式碼範例會示範如何使用delete-warm-pool

AWS CLI

範例 1:若要刪除暖池

下列範例會針對指定的 Auto Scaling 群組刪除暖池。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling 的暖集區

範例 2:強制刪除暖池

若要刪除暖池而不等待其執行個體終止,請使用--force-delete選項。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling 的暖集區

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteWarmPool中的。

下列程式碼範例會示範如何使用describe-account-limits

AWS CLI

說明您的 Amazon EC2 Auto Scaling 帳戶限制

此範例說明您 AWS 帳戶的 Amazon EC2 自動擴展限制。

aws autoscaling describe-account-limits

輸出:

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

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的 Amazon EC2 Auto Scaling 服務配額

下列程式碼範例會示範如何使用describe-adjustment-types

AWS CLI

說明可用的縮放調整類型

此範例說明可用的調整類型。

aws autoscaling describe-adjustment-types

輸出:

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

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的擴展調整類型

下列程式碼範例會示範如何使用describe-auto-scaling-groups

AWS CLI

範例 1:描述指定的「Auto Scaling」群組

此範例說明指定的「Auto Scaling」群組。

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

輸出:

{ "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": [] } ] }

範例 2:描述前 100 個指定的「Auto Scaling」群組

此範例說明指定的「Auto Scaling 例」群組。它允許您指定最多 100 個組名。

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

如需範例輸出,請參閱範例 1。

範例 3:描述指定區域中的「Auto Scaling」群組

此範例說明指定區域中的「Auto Scaling 例」群組,最多 75 個群組。

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

如需範例輸出,請參閱範例 1。

範例 4:描述「Auto Scaling」群組的指定數目

若要傳回特定數目的「Auto Scaling」群組,請使用--max-items選項。

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

如需範例輸出,請參閱範例 1。

如果輸出包含NextToken欄位,則會有更多群組。若要取得其他群組,請在後續呼叫中使用此欄位的值搭配--starting-token選項,如下所示。

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

如需範例輸出,請參閱範例 1。

範例 5:說明使用啟動設定的「自動調整比例」群組

此範例使用--query選項來描述使用啟動設定的「自動調整比例」群組。

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

輸出:

[ { "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": [] } ]

如需詳細資訊,請參閱《AWS 命令列介面使用者指南》中的篩選 AWS CLI 輸出

下列程式碼範例會示範如何使用describe-auto-scaling-instances

AWS CLI

範例 1:描述一或多個執行個體

此範例說明指定的執行個體。

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

輸出:

{ "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" } } ] }

範例 2:描述一或多個執行個體

此範例會使用選--max-items項來指定要透過此呼叫傳回的執行個體數目。

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

如果輸出包含NextToken欄位,則會有更多實例。若要取得其他執行個體,請在後續呼叫中使用此欄位的值搭配--starting-token選項,如下所示。

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

如需範例輸出,請參閱範例 1。

範例 3:說明使用啟動設定的執行個體

此範例使用選--query項來描述使用啟動設定的執行個體。

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

輸出:

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

如需詳細資訊,請參閱《AWS 命令列介面使用者指南》中的篩選 AWS CLI 輸出

下列程式碼範例會示範如何使用describe-auto-scaling-notification-types

AWS CLI

描述可用的通知類型

此範例說明可用的通知類型。

aws autoscaling describe-auto-scaling-notification-types

輸出:

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

有關詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的取得 Auto Scaling 群組擴展時的 Amazon SNS 通知

下列程式碼範例會示範如何使用describe-instance-refreshes

AWS CLI

描述執行個體重新整

下列describe-instance-refreshes範例會傳回指定 Auto Scaling 群組之所有執行個體重新整理要求的說明,包括狀態訊息和狀態原因 (如果有的話)。

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

輸出:

{ "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" } } ] }

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的檢查執行個體重新整理的狀態

下列程式碼範例會示範如何使用describe-launch-configurations

AWS CLI

範例 1:描述指定的啟動組態

此範例說明指定的啟動組態。

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

輸出:

{ "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" } } ] }

範例 2:描述指定數目的啟動設定

若要傳回特定數目的啟動設定,請使用--max-items選項。

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

如果輸出包含NextToken欄位,則會有更多啟動設定。若要取得其他啟動組態,請在後續呼叫中使用此欄位的值搭配--starting-token選項,如下所示。

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

下列程式碼範例會示範如何使用describe-lifecycle-hook-types

AWS CLI

描述可用的生命週期掛接類型

此範例說明可用的生命週期掛接類型。

aws autoscaling describe-lifecycle-hook-types

輸出:

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

下列程式碼範例會示範如何使用describe-lifecycle-hooks

AWS CLI

描述您的生命週期掛鉤

此範例說明指定 Auto Scaling 群組的生命週期掛接。

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

輸出:

{ "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" } ] }

下列程式碼範例會示範如何使用describe-load-balancer-target-groups

AWS CLI

說明「Auto Scaling」群組的負載平衡器目標群組

此範例說明連結至指定 Auto Scaling 群組的負載平衡器目標群組。

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

輸出:

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

下列程式碼範例會示範如何使用describe-load-balancers

AWS CLI

說明自動調整資源調整群組的傳統負載平衡器

此範例說明指定之 Auto Scaling 群組的傳統負載平衡器。

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

輸出:

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

下列程式碼範例會示範如何使用describe-metric-collection-types

AWS CLI

說明可用的測量結果收集類型

此範例說明可用的測量結果收集類型。

aws autoscaling describe-metric-collection-types

輸出:

{ "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" } ] }

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的Auto Scaling 群組指標

下列程式碼範例會示範如何使用describe-notification-configurations

AWS CLI

範例 1:描述指定群組的通知組態

此範例說明指定「Auto Scaling」群組的通知組態。

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

輸出:

{ "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" } ] }

有關詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的取得 Auto Scaling 群組擴展時的 Amazon SNS 通知

範例 1:描述指定數目的通知組態

若要傳回特定數目的通知組態,請使用max-items參數。

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

輸出:

{ "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" } ] }

如果輸出包含NextToken欄位,則會有更多通知設定。若要取得其他通知組態,請在後續呼叫中使用此欄位的值搭配starting-token參數,如下所示。

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

有關詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的取得 Auto Scaling 群組擴展時的 Amazon SNS 通知

下列程式碼範例會示範如何使用describe-policies

AWS CLI

範例 1:說明指定群組的資源調整政策

此範例說明指定 Auto Scaling 群組的資源調整政策。

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

輸出:

{ "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 } ] }

如需詳細資訊,請參閱 Amazon EC2 自動擴展使用者指南中的動態擴展

範例 2:說明指定名稱的資源縮放原則

若要傳回特定資源調度政策,請使用--policy-names選項。

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

如需範例輸出,請參閱範例 1。

如需詳細資訊,請參閱 Amazon EC2 自動擴展使用者指南中的動態擴展

範例 3:說明數個擴展政策

若要傳回特定數目的策略,請使用--max-items選項。

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

如需範例輸出,請參閱範例 1。

如果輸出包含NextToken欄位,請在後續呼叫中使用此欄位的值搭配--starting-token選項,以取得其他原則。

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

如需詳細資訊,請參閱 Amazon EC2 自動擴展使用者指南中的動態擴展

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribePolicies中的。

下列程式碼範例會示範如何使用describe-scaling-activities

AWS CLI

範例 1:描述指定群組的縮放活動

此範例說明指定「自動調整比例」群組的縮放活動。

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

輸出:

{ "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\"}" } ] }

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的驗證 Auto Scaling 群組的擴展活動

範例 2:描述已刪除群組的縮放活動

若要描述刪除「Auto Scaling」群組之後的縮放活動,請新增選--include-deleted-groups項。

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

輸出:

{ "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" } ] }

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的疑難排解 Amazon EC2 Auto Scaling 的問題。

範例 3:描述指定數目的縮放活動

若要傳回特定數目的活動,請使用--max-items選項。

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

輸出:

{ "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\"}" } ] }

如果輸出包含NextToken欄位,則會有更多活動。若要取得其他活動,請使用此欄位的值搭配後續呼叫中的--starting-token選項,如下所示。

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

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的驗證 Auto Scaling 群組的擴展活動

下列程式碼範例會示範如何使用describe-scaling-process-types

AWS CLI

描述可用的流程類型

此範例說明可用的流程類型。

aws autoscaling describe-scaling-process-types

輸出:

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

如需詳細資訊,請參閱 Amazon EC2 自動擴展使用者指南中的暫停和繼續擴展程序

下列程式碼範例會示範如何使用describe-scheduled-actions

AWS CLI

範例 1:描述所有已排程的動作

此範例說明您所有已排程的動作。

aws autoscaling describe-scheduled-actions

輸出:

{ "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" } ] }

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的排程擴展

範例 2:說明指定群組的排程動作

若要描述特定「Auto Scaling」群組的排程動作,請使用--auto-scaling-group-name選項。

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

輸出:

{ "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" } ] }

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的排程擴展

範例 3:描述指定的排程動作

若要描述特定的排程動作,請使用--scheduled-action-names選項。

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

輸出:

{ "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" } ] }

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的排程擴展

範例 4:描述具有指定開始時間的排程動作

若要描述在特定時間開始的已排程動作,請使用--start-time選項。

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

輸出:

{ "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" } ] }

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的排程擴展

範例 5:說明在指定時間結束的排程動作

若要描述在特定時間結束的排程動作,請使用--end-time選項。

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

輸出:

{ "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" } ] }

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的排程擴展

範例 6:描述指定數目的排程動作

若要傳回特定數目的排程動作,請使用--max-items選項。

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

輸出:

{ "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" } ] }

如果輸出包含NextToken欄位,則會有更多排程動作。若要取得其他已排程動作,請使用此欄位的值搭配後續呼叫中的--starting-token選項,如下所示。

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

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的排程擴展

下列程式碼範例會示範如何使用describe-tags

AWS CLI

描述所有標籤

此範例說明您的所有標籤。

aws autoscaling describe-tags

輸出:

{ "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" } ] }

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的標記 Auto Scaling 群組和執行個體

範例 2:描述指定群組的標籤

若要描述特定「Auto Scaling」群組的標記,請使用--filters選項。

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

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的標記 Auto Scaling 群組和執行個體

實施例 3:描述標籤的指定數量

要返回特定數量的標籤,請使用該--max-items選項。

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

如果輸出包含NextToken欄位,則會有更多標籤。若要取得其他標籤,請在後續呼叫中使用此欄位的值搭配--starting-token選項,如下所示。

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

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的標記 Auto Scaling 群組和執行個體

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribeTags中的。

下列程式碼範例會示範如何使用describe-termination-policy-types

AWS CLI

說明可用的終止原則類型

此範例說明可用的終止原則類型。

aws autoscaling describe-termination-policy-types

輸出:

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

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的控制在擴展期間終止哪些 Auto Scaling 執個體。

下列程式碼範例會示範如何使用describe-warm-pool

AWS CLI

來形容一個溫暖的游泳池

此範例說明指定「Auto Scaling」群組的暖池。

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

輸出:

{ "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" } } ] }

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling 的暖集區

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribeWarmPool中的。

下列程式碼範例會示範如何使用detach-instances

AWS CLI

從 Auto Scaling 群組中分離例證

此範例會將指定的例證從指定的「Auto Scaling」群組中分離出來。

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

輸出:

{ "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\"}" } ] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DetachInstances中的。

下列程式碼範例會示範如何使用detach-load-balancer-target-groups

AWS CLI

將負載平衡器目標群組與 Auto Scaling 群組分離

此範例會將指定的負載平衡器目標群組與指定的 Auto Scaling 群組分離。

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

此命令不產生任何輸出

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling User Guide 中的 Attaching a load balancer to your Auto Scaling group

下列程式碼範例會示範如何使用detach-load-balancers

AWS CLI

將 Classic Load Balancer 與 Auto Scaling 群組中分離

此範例會將指定的 Classic Load Balancer 與指定的「Auto Scaling 例」群組分離。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling User Guide 中的 Attaching a load balancer to your Auto Scaling group

下列程式碼範例會示範如何使用disable-metrics-collection

AWS CLI

若要停用 Auto Scaling 群組的量度收集

此範例會停用指定「Auto Scaling 例」群組的GroupDesiredCapacity量度集合。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的監控 Auto Scaling 群組和執行個體的指 CloudWatch

下列程式碼範例會示範如何使用enable-metrics-collection

AWS CLI

範例 1:啟用「Auto Scaling 例」群組的量度收集

此範例會啟用指定「Auto Scaling」群組的資料收集。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的監控 Auto Scaling 群組和執行個體的指 CloudWatch

範例 2:為「Auto Scaling 例」群組收集指定量度的資料

若要收集特定測量結果的資料,請使用--metrics選項。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的監控 Auto Scaling 群組和執行個體的指 CloudWatch

下列程式碼範例會示範如何使用enter-standby

AWS CLI

將執行個體移至待命模式

此範例會將指定的執行個體置於待命模式。這對於更新或疑難排解目前正在服務的執行個體非常有用。

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

輸出:

{ "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\"}" } ] }

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 執行個體生命週期中的 Amazon EC2 Auto Scaling 使用者指南

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考EnterStandby中的。

下列程式碼範例會示範如何使用execute-policy

AWS CLI

若要執行資源調度政策

此範例會執行my-step-scale-out-policy為指定 Auto Scaling 群組命名的資源調整政策。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 自動擴展使用者指南中的步驟和簡單擴展政策

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ExecutePolicy中的。

下列程式碼範例會示範如何使用exit-standby

AWS CLI

將執行個體移出待命模式

此範例會將指定的執行個體移出待命模式。

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

輸出:

{ "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\"}" } ] }

如需詳細資訊,請參閱 Amazon EC2 自動擴展使用者指南中的暫時移除 Auto Scaling 群組中的執行個體。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ExitStandby中的。

下列程式碼範例會示範如何使用put-lifecycle-hook

AWS CLI

範例 1:建立生命週期掛接

此範例會建立一個生命週期掛接,以便在任何新啟動的執行個體上叫用,逾時 4800 秒。這對於將執行個體保持等待狀態,直到使用者資料指令碼完成為止,或使用叫用 AWS Lambda 函數非常有用 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

此命令不會產生輸出。如果具有相同名稱的生命週期掛接已存在,則新的生命週期掛接將會覆寫該掛接。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

範例 2:傳送 Amazon SNS 電子郵件訊息以通知您執行個體狀態轉換

此範例會建立具有 Amazon SNS 主題和 IAM 角色的生命週期勾點,用於在執行個體啟動時接收通知。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

範例 3:若要將訊息發佈到 Amazon SQS 佇列

此範例會建立一個生命週期勾點,將含有中繼資料的訊息發佈到指定的 Amazon 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"

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考PutLifecycleHook中的。

下列程式碼範例會示範如何使用put-notification-configuration

AWS CLI

若要新增通知

此範例會將指定的通知新增至指定的「Auto Scaling」群組。

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

此命令不會產生輸出。

有關詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的取得 Auto Scaling 群組擴展時的 Amazon SNS 通知

下列程式碼範例會示範如何使用put-scaling-policy

AWS CLI

將目標追蹤調度調度政策新增至 Auto Scaling 群組

下列put-scaling-policy範例會將目標追蹤調度調整政策套用至指定的 Auto Scaling 群組。輸出包含 ARN 和代表您建立的兩個 CloudWatch 警報的名稱。如果已經存在具有相同名稱的資源調整政策,則新的資源調整政策將會覆寫該資源縮放政策。

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

config.json 的內容:

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

輸出:

{ "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" } ] }

如需更多範例,請參閱 Amazon EC2 自動擴展使用者指南中的 AWS 命令列界面 (AWS CLI) 的範例擴展策。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考PutScalingPolicy中的。

下列程式碼範例會示範如何使用put-scheduled-update-group-action

AWS CLI

範例 1:若要將排程動作新增至「Auto Scaling」群組

此範例會將指定的排程動作新增至指定的 Auto Scaling 群組。

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

此命令不會產生輸出。如果已存在具有相同名稱的排程動作,則新的排程動作將會覆寫該動作。

如需更多範例,請參閱 Amazon EC2 自動擴展使用者指南中的排程擴展

範例 2:若要指定週期性排程

此範例會建立排程動作,以根據排定於每年 1 月、6 月和 12 月 1 日的 00:30 小時執行的週期性排程進行調整。

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

此命令不會產生輸出。如果已存在具有相同名稱的排程動作,則新的排程動作將會覆寫該動作。

如需更多範例,請參閱 Amazon EC2 自動擴展使用者指南中的排程擴展

下列程式碼範例會示範如何使用put-warm-pool

AWS CLI

若要建立溫水池

下列範例會為指定的 Auto Scaling 群組建立暖池。

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

此命令不會產生輸出。如果暖池已經存在,它將被更新。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling 的暖集區

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考PutWarmPool中的。

下列程式碼範例會示範如何使用record-lifecycle-action-heartbeat

AWS CLI

記錄生命週期動作活動訊號

此範例會記錄生命週期動作活動訊號,使執行個體保持擱置狀態。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook

下列程式碼範例會示範如何使用resume-processes

AWS CLI

若要繼續暫停的程序

本範例會為指定的 Auto Scaling 群組恢復指定的暫停縮放程序。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 自動擴展使用者指南中的暫停和繼續擴展程序

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ResumeProcesses中的。

下列程式碼範例會示範如何使用rollback-instance-refresh

AWS CLI

若要復原執行處理重新整理

下列rollback-instance-refresh範例會針對指定的 Auto Scaling 群組復原進行中的執行個體重新整理。

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

輸出:

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

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的使用復原功能來復原變更

下列程式碼範例會示範如何使用set-desired-capacity

AWS CLI

為 Auto Scaling 群組設定所需的容量

此範例會為指定的「Auto Scaling 例」群組設定所需的容量。

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

如果成功,此命令會回到提示字元。

下列程式碼範例會示範如何使用set-instance-health

AWS CLI

若要設定執行處理的健全狀況狀態

此範例會將指定執行個體的健全狀況狀態設定為Unhealthy

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

此命令不會產生輸出。

下列程式碼範例會示範如何使用set-instance-protection

AWS CLI

範例 1:啟用執行個體的執行個體保護設定

此範例會為指定的執行個體啟用執行個體保護。

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

此命令不會產生輸出。

範例 2:若要停用執行個體的執行個體保護設定

此範例會停用指定執行個體的執行個體保護。

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

此命令不會產生輸出。

下列程式碼範例會示範如何使用start-instance-refresh

AWS CLI

範例 1:使用指令行參數啟動執行處理重新整理

下列start-instance-refresh範例會使用命令列引數啟動執行個體重新整理。可選preferences參數指定InstanceWarmup60秒和50百分比MinHealthyPercentage的一個。

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

輸出:

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

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的開始執行個體重新整理

範例 2:若要使用 JSON 檔案啟動執行個體重新整理

下列start-instance-refresh範例會使用 JSON 檔案啟動執行個體重新整理。您可以指定 Auto Scaling 群組,並在 JSON 檔案中定義所需的組態和偏好設定,如下列範例所示。

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

config.json 的內容:

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

輸出:

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

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的開始執行個體重新整理

下列程式碼範例會示範如何使用suspend-processes

AWS CLI

暫停 Auto Scaling 程序

此範例會暫停指定「Auto Scaling」群組的指定縮放程序。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 自動擴展使用者指南中的暫停和繼續擴展程序

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考SuspendProcesses中的。

下列程式碼範例會示範如何使用terminate-instance-in-auto-scaling-group

AWS CLI

終止「Auto Scaling 例」群組中的執行個體

此範例會從指定的 Auto Scaling 群組終止指定的執行個體,而不更新群組的大小。Amazon EC2 Auto Scaling 會在指定的執行個體終止後啟動替換執行個體。

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

輸出:

{ "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\"}" } ] }

下列程式碼範例會示範如何使用update-auto-scaling-group

AWS CLI

範例 1:更新「Auto Scaling」群組的大小限制

此範例會更新指定的「Auto Scaling」群組,其大小下限為 2 且大小上限為 10。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的設定 Auto Scaling 群組的容量限制

範例 2:新增 Elastic Load Balancing 健全狀況檢查,並指定要使用的可用區域和子網路

此範例會更新指定的 Auto Scaling 群組,以新增 Elastic Load Balancing 健康狀態檢查。此命令也會--vpc-zone-identifier使用多個可用區域中的子網路 ID 清單來更新的值。

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"

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的 Elastic Load Balancing 和 Amazon EC2 Auto Scaling

範例 3:若要更新置放群組和終止原則

此範例會更新要使用的置放群組和終止原則。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Auto Scaling 群組

範例 4:若要使用最新版本的啟動範本

此範例會將指定的 Auto Scaling 群組更新為使用指定啟動範本的最新版本。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的啟動範本

範例 5:若要使用特定版本的啟動範本

此範例將指定的 Auto Scaling 群組更新為使用特定版本的啟動範本,而非最新或預設版本。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的啟動範本

範例 6:定義混合執行個體政策並啟用容量重新平衡

此範例將指定的 Auto Scaling 群組更新為使用混合執行個體原則,並啟用容量重新平衡。此結構可讓您指定具有 Spot 和隨需容量的群組,並針對不同的架構使用不同的啟動範本。

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

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" } } }

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的具備多個執行個體類型及購買選項的 Auto Scaling 群組