本文件 AWS CLI 僅適用於 第 1 版。如需 第 2 版的相關文件 AWS CLI,請參閱 第 2 版使用者指南。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 Auto Scaling 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 attach-instances
。
- AWS CLI
-
將執行個體連接至 Auto Scaling 群組
此範例會將指定的執行個體連接至指定的 Auto Scaling 群組。
aws autoscaling attach-instances \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-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-arnsarn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Elastic Load Balancing 和 Amazon EC2 Auto Scaling。 Amazon EC2 Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 AttachLoadBalancerTargetGroups
。
-
下列程式碼範例示範如何使用 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-namemy-asg
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Elastic Load Balancing 和 Amazon EC2 Auto Scaling。 Amazon EC2 Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 AttachLoadBalancers
。
-
下列程式碼範例示範如何使用 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 使用者指南》中的取消執行個體重新整理。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CancelInstanceRefresh
。
-
下列程式碼範例示範如何使用 complete-lifecycle-action
。
- AWS CLI
-
完成生命週期動作
此範例會通知 Amazon EC2 Auto Scaling 指定的生命週期動作已完成,因此可以完成啟動或終止執行個體。
aws autoscaling complete-lifecycle-action \ --lifecycle-hook-name
my-launch-hook
\ --auto-scaling-group-namemy-asg
\ --lifecycle-action-resultCONTINUE
\ --lifecycle-action-tokenbcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CompleteLifecycleAction
。
-
下列程式碼範例示範如何使用 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-templateLaunchTemplateId=lt-1234567890abcde12
\ --min-size1
\ --max-size5
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Auto Scaling 群組。
範例 2:連接 Application Load Balancer、Network Load Balancer 或 Gateway Load Balancer
此範例指定支援預期流量之負載平衡器的目標群組 ARN。運作狀態檢查類型會指定 ,
ELB
當 Elastic Load Balancing 將執行個體回報為運作狀態不佳時,Auto Scaling 群組會予以取代。命令也會定義運作狀態檢查寬限期,時間為600
秒。寬限期有助於防止新啟動的執行個體提早終止。aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-templateLaunchTemplateId=lt-1234567890abcde12
\ --target-group-arnsarn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/943f017f100becff
\ --health-check-typeELB
\ --health-check-grace-period600
\ --min-size1
\ --max-size5
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Elastic Load Balancing 和 Amazon EC2 Auto Scaling。 Amazon EC2 Auto Scaling
範例 3:指定置放群組並使用最新版本的啟動範本
此範例會在單一可用區域內的置放群組中啟動執行個體。這對於具有 HPC 工作負載的低延遲群組很有用。此範例也會指定群組的大小下限、大小上限和所需的容量。
aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateId=lt-1
2345
67890abcde12,Version='$Latest' \ --min-size 1 \ --max-size 5 \ --desired-capacity3
\ --placement-groupmy-placement-group
\ --vpc-zone-identifier"subnet-6194ea3b"
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的置放群組。
範例 4:指定單一執行個體 Auto Scaling 群組,並使用啟動範本的特定版本
此範例會建立容量下限和上限設為 的 Auto Scaling 群組
1
,以強制執行一個執行個體將執行。命令也會指定啟動範本的 v1,其中指定現有 ENI 的 ID。當您使用指定 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-size1
\ --max-size 1 \ --availability-zonesus-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-namemy-lc
\ --min-size1
\ --max-size5
\ --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 終止政策。 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-templateLaunchTemplateName=my-template-for-auto-scaling
\ --min-size1
\ --max-size5
\ --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 建立自訂終止政策。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateAutoScalingGroup
。
-
下列程式碼範例示範如何使用 create-launch-configuration
。
- AWS CLI
-
範例 1:建立啟動組態
此範例會建立簡單的啟動組態。
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的建立啟動組態。
範例 2:使用安全群組、金鑰對和引導指令碼建立啟動組態
此範例會建立啟動組態,其中包含安全群組、金鑰對和使用者資料中包含的引導指令碼。
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --security-groupssg-eb2af88example
\ --key-namemy-key-pair
\ --user-datafile://myuserdata.txt
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的建立啟動組態。
範例 3:使用 IAM 角色建立啟動組態
此範例會使用 IAM 角色的執行個體設定檔名稱建立啟動組態。
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --iam-instance-profilemy-autoscaling-role
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的在 Amazon EC2 執行個體上執行的應用程式 IAM 角色。
範例 4:建立啟用詳細監控的啟動組態
此範例會在啟用 EC2 詳細監控的情況下建立啟動組態,並在 1 分鐘內將 EC2 指標傳送至 CloudWatch。
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --instance-monitoringEnabled=true
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的設定 Auto Scaling 執行個體的監控。 Amazon EC2 Auto Scaling
範例 5:建立啟動 Spot 執行個體的啟動組態
此範例會建立使用 Spot 執行個體做為唯一購買選項的啟動組態。
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.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-idi-0123a456700123456
\ --instance-typem5.large
\ --no-associate-public-ip-address \ --placement-tenancydedicated
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的使用 EC2 執行個體建立啟動組態。 Amazon EC2 Auto Scaling
範例 7:使用 Amazon EBS 磁碟區的區塊型裝置映射建立啟動組態
此範例會為裝置名稱
/dev/sdh
為 且磁碟區大小為 20 的 Amazon EBSgp3
磁碟區建立具有區塊型裝置映射的啟動組態。aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --block-device-mappings '[{"DeviceName":"/dev/sdh","Ebs":{"VolumeSize":20,"VolumeType":"gp3"}}]
'此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling API 參考》中的 EBS。
如需引用 JSON 格式參數值的語法資訊,請參閱《 AWS 命令列界面使用者指南》中的使用引號搭配 CLI AWS 中的字串。
範例 8:使用執行個體存放區磁碟區的區塊型裝置映射建立啟動組態
此範例會建立使用 的啟動組態,
ephemeral1
做為具有裝置名稱 的執行個體存放磁碟區/dev/sdc
。aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --block-device-mappings '[{"DeviceName":"/dev/sdc","VirtualName":"ephemeral1"}]
'此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling API 參考》中的 BlockDeviceMapping。 Amazon EC2 Auto Scaling
如需引用 JSON 格式參數值的語法資訊,請參閱《 AWS 命令列界面使用者指南》中的使用引號搭配 CLI AWS 中的字串。
範例 9:建立啟動組態,並禁止區塊型裝置在啟動時連接
此範例會建立啟動組態,以抑制由 AMI 區塊型裝置映射所指定的區塊型裝置 (例如,
/dev/sdf
)。aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --block-device-mappings '[{"DeviceName":"/dev/sdf","NoDevice":""}]
'此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling API 參考》中的 BlockDeviceMapping。 Amazon EC2 Auto Scaling
如需引用 JSON 格式參數值的語法資訊,請參閱《 AWS 命令列界面使用者指南》中的使用引號搭配 CLI AWS 中的字串。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateLaunchConfiguration
。
-
下列程式碼範例示範如何使用 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 群組和執行個體。 Amazon EC2 Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateOrUpdateTags
。
-
下列程式碼範例示範如何使用 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 基礎設施。 Amazon EC2 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 基礎設施。 Amazon EC2 Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteAutoScalingGroup
。
-
下列程式碼範例示範如何使用 delete-launch-configuration
。
- AWS CLI
-
刪除啟動組態
此範例會刪除指定的啟動組態。
aws autoscaling delete-launch-configuration \ --launch-configuration-name
my-launch-config
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的刪除 Auto Scaling 基礎設施。 Amazon EC2 Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteLaunchConfiguration
。
-
下列程式碼範例示範如何使用 delete-lifecycle-hook
。
- AWS CLI
-
刪除生命週期掛鉤
此範例會刪除指定的生命週期掛鉤。
aws autoscaling delete-lifecycle-hook \ --lifecycle-hook-name
my-lifecycle-hook
\ --auto-scaling-group-namemy-asg
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 DeleteLifecycleHook
。
-
下列程式碼範例示範如何使用 delete-notification-configuration
。
- AWS CLI
-
刪除 Auto Scaling 通知
此範例會從指定的 Auto Scaling 群組刪除指定的通知。
aws autoscaling delete-notification-configuration \ --auto-scaling-group-name
my-asg
\ --topic-arnarn:aws:sns:us-west-2:123456789012:my-sns-topic
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的刪除通知組態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteNotificationConfiguration
。
-
下列程式碼範例示範如何使用 delete-policy
。
- AWS CLI
-
刪除擴展政策
此範例會刪除指定的擴展政策。
aws autoscaling delete-policy \ --auto-scaling-group-name
my-asg
\ --policy-namealb1000-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-namemy-scheduled-action
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteScheduledAction
。
-
下列程式碼範例示範如何使用 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 群組和執行個體。 Amazon EC2 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 Auto Scaling 限制。
aws autoscaling describe-account-limits
輸出:
{ "NumberOfLaunchConfigurations": 5, "MaxNumberOfLaunchConfigurations": 100, "NumberOfAutoScalingGroups": 3, "MaxNumberOfAutoScalingGroups": 20 }
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling 服務配額。 Amazon EC2 Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeAccountLimits
。
-
下列程式碼範例示範如何使用 describe-adjustment-types
。
- AWS CLI
-
描述可用的擴展調整類型
此範例說明可用的調整類型。
aws autoscaling describe-adjustment-types
輸出:
{ "AdjustmentTypes": [ { "AdjustmentType": "ChangeInCapacity" }, { "AdjustmentType": "ExactCapacity" }, { "AdjustmentType": "PercentChangeInCapacity" } ] }
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的擴展調整類型。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeAdjustmentTypes
。
-
下列程式碼範例示範如何使用 describe-auto-scaling-groups
。
- AWS CLI
-
範例 1:描述指定的 Auto Scaling 群組
此範例說明指定的 Auto Scaling 群組。
aws autoscaling describe-auto-scaling-groups \ --auto-scaling-group-names
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-names"group1"
"group2"
"group3"
"group4"
如需範例輸出,請參閱範例 1。
範例 3:描述指定區域中的 Auto Scaling 群組
此範例說明指定區域中的 Auto Scaling 群組,最多 75 個群組。
aws autoscaling describe-auto-scaling-groups \ --max-items
75
\ --regionus-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:描述使用啟動組態的 Auto Scaling 群組
此範例使用
--query
選項來描述使用啟動組態的 Auto Scaling 群組。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 輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeAutoScalingGroups
。
-
下列程式碼範例示範如何使用 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 輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeAutoScalingInstances
。
-
下列程式碼範例示範如何使用 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 通知。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeAutoScalingNotificationTypes
。
-
下列程式碼範例示範如何使用 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 使用者指南》中的檢查執行個體重新整理的狀態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeInstanceRefreshes
。
-
下列程式碼範例示範如何使用 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
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeLaunchConfigurations
。
-
下列程式碼範例示範如何使用 describe-lifecycle-hook-types
。
- AWS CLI
-
描述可用的生命週期勾點類型
此範例說明可用的生命週期勾點類型。
aws autoscaling describe-lifecycle-hook-types
輸出:
{ "LifecycleHookTypes": [ "autoscaling:EC2_INSTANCE_LAUNCHING", "autoscaling:EC2_INSTANCE_TERMINATING" ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeLifecycleHookTypes
。
-
下列程式碼範例示範如何使用 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" } ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeLifecycleHooks
。
-
下列程式碼範例示範如何使用 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" } ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeLoadBalancerTargetGroups
。
-
下列程式碼範例示範如何使用 describe-load-balancers
。
- AWS CLI
-
描述 Auto Scaling 群組的 Classic Load Balancer
此範例說明指定 Auto Scaling 群組的 Classic Load Balancer。
aws autoscaling describe-load-balancers \ --auto-scaling-group-name
my-asg
輸出:
{ "LoadBalancers": [ { "State": "Added", "LoadBalancerName": "my-load-balancer" } ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeLoadBalancers
。
-
下列程式碼範例示範如何使用 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 群組指標。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeMetricCollectionTypes
。
-
下列程式碼範例示範如何使用 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-items1
輸出:
{ "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-tokenZ3M3LMPEXAMPLE
有關詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的取得 Auto Scaling 群組擴展時的 Amazon SNS 通知。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeNotificationConfigurations
。
-
下列程式碼範例示範如何使用 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 Auto Scaling 使用者指南》中的動態擴展。
範例 2:描述指定名稱的擴展政策
若要傳回特定擴展政策,請使用
--policy-names
選項。aws autoscaling describe-policies \ --auto-scaling-group-name
my-asg
\ --policy-namescpu40-target-tracking-scaling-policy
如需範例輸出,請參閱範例 1。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的動態擴展。
範例 3:描述一些擴展政策
若要傳回特定數量的政策,請使用
--max-items
選項。aws autoscaling describe-policies \ --auto-scaling-group-name
my-asg
\ --max-items1
如需範例輸出,請參閱範例 1。
如果輸出包含
NextToken
欄位,請在後續呼叫中使用此欄位的值與--starting-token
選項,以取得其他政策。aws autoscaling describe-policies --auto-scaling-group-name
my-asg
--starting-tokenZ3M3LMPEXAMPLE
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的動態擴展。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribePolicies
。
-
下列程式碼範例示範如何使用 describe-scaling-activities
。
- AWS CLI
-
範例 1:描述指定群組的擴展活動
此範例說明指定 Auto Scaling 群組的擴展活動。
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 進行故障診斷。 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 群組的擴展活動。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeScalingActivities
。
-
下列程式碼範例示範如何使用 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 Auto Scaling 使用者指南》中的暫停和繼續擴展程序。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeScalingProcessTypes
。
-
下列程式碼範例示範如何使用 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-items1
輸出:
{ "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-tokenZ3M3LMPEXAMPLE
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的排程擴展。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeScheduledActions
。
-
下列程式碼範例示範如何使用 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 群組和執行個體。 Amazon EC2 Auto Scaling
範例 2:描述指定群組的標籤
若要描述特定 Auto Scaling 群組的標籤,請使用
--filters
選項。aws autoscaling describe-tags --filters
Name=auto-scaling-group,Values=my-asg
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的標記 Auto Scaling 群組和執行個體。 Amazon EC2 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-tokenZ3M3LMPEXAMPLE
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的標記 Auto Scaling 群組和執行個體。 Amazon EC2 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 執行個體在縮減期間終止。 Amazon EC2 Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeTerminationPolicyTypes
。
-
下列程式碼範例示範如何使用 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-namemy-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-arnsarn: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。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DetachLoadBalancerTargetGroups
。
-
下列程式碼範例示範如何使用 detach-load-balancers
。
- AWS CLI
-
從 Auto Scaling 群組分離 Classic Load Balancer
此範例會將指定的 Classic Load Balancer 與指定的 Auto Scaling 群組分離。
aws autoscaling detach-load-balancers \ --load-balancer-names
my-load-balancer
\ --auto-scaling-group-namemy-asg
此命令不會產生輸出。
如需詳細資訊,請參閱 Amazon EC2 Auto Scaling User Guide 中的 Attaching a load balancer to your Auto Scaling group。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DetachLoadBalancers
。
-
下列程式碼範例示範如何使用 disable-metrics-collection
。
- AWS CLI
-
停用 Auto Scaling 群組的指標集合
此範例會停用指定 Auto Scaling
GroupDesiredCapacity
群組的指標集合。aws autoscaling disable-metrics-collection \ --auto-scaling-group-name
my-asg
\ --metricsGroupDesiredCapacity
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的監控 Auto Scaling 群組和執行個體的 CloudWatch 指標。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DisableMetricsCollection
。
-
下列程式碼範例示範如何使用 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
\ --metricsGroupDesiredCapacity
--granularity"1Minute"
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的監控 Auto Scaling 群組和執行個體的 CloudWatch 指標。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 EnableMetricsCollection
。
-
下列程式碼範例示範如何使用 enter-standby
。
- AWS CLI
-
將執行個體移至待命模式
此範例會讓指定的執行個體進入待命模式。這對於更新或故障診斷目前正在使用的執行個體非常有用。
aws autoscaling enter-standby \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-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 執行個體生命週期。 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-namemy-step-scale-out-policy
\ --metric-value95
\ --breach-threshold80
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的步驟和簡單擴展政策。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ExecutePolicy
。
-
下列程式碼範例示範如何使用 exit-standby
。
- AWS CLI
-
將執行個體移出待命模式
此範例會將指定的執行個體移出待命模式。
aws autoscaling exit-standby \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-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 使用者指南》中的暫時從 Auto Scaling 群組移除執行個體。 Amazon EC2 Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ExitStandby
。
-
下列程式碼範例示範如何使用 put-lifecycle-hook
。
- AWS CLI
-
範例 1:建立生命週期關聯
此範例會建立生命週期掛鉤,以調用任何新啟動的執行個體,逾時為 4800 秒。這有助於將執行個體保持在等待狀態,直到使用者資料指令碼完成,或使用 EventBridge 叫用 AWS Lambda 函數。
aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name
my-asg
\ --lifecycle-hook-namemy-launch-hook
\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING
\ --heartbeat-timeout4800
此命令不會產生輸出。如果具有相同名稱的生命週期掛鉤已存在,則會由新的生命週期掛鉤覆寫。
如需詳細資訊,請參閱《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-namemy-launch-hook
\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING
\ --notification-target-arnarn:aws:sns:us-west-2:123456789012:my-sns-topic
\ --role-arnarn: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-namemy-launch-hook
\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING
\ --notification-target-arnarn:aws:sqs:us-west-2:123456789012:my-sqs-queue
\ --role-arnarn: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-arnarn:aws:sns:us-west-2:123456789012:my-sns-topic
\ --notification-typeautoscaling:TEST_NOTIFICATION
此命令不會產生輸出。
有關詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的取得 Auto Scaling 群組擴展時的 Amazon SNS 通知。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutNotificationConfiguration
。
-
下列程式碼範例示範如何使用 put-scaling-policy
。
- AWS CLI
-
將目標追蹤擴展政策新增至 Auto Scaling 群組
下列
put-scaling-policy
範例會將目標追蹤擴展政策套用至指定的 Auto Scaling 群組。輸出包含 ARNs和代表您建立的兩個 CloudWatch 警示名稱。如果具有相同名稱的擴展政策已存在,則新的擴展政策會覆寫該政策。aws autoscaling put-scaling-policy --auto-scaling-group-name
my-asg
\ --policy-namealb1000-target-tracking-scaling-policy
\ --policy-typeTargetTrackingScaling
\ --target-tracking-configurationfile://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 Auto Scaling 使用者指南》中的 AWS 命令列界面 (AWS CLI) 的範例擴展政策。 Amazon EC2 Auto Scaling
-
如需 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-namemy-scheduled-action
\ --start-time"2023-05-12T08:00:00Z"
\ --min-size2
\ --max-size6
\ --desired-capacity4
此命令不會產生輸出。如果具有相同名稱的排程動作已存在,則新的排程動作會覆寫它。
如需更多範例,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的排程擴展。
範例 2:指定週期性排程
此範例會建立排程動作,以根據排程於每年 1 月、6 月和 12 月 1 日 00:30 執行的週期性排程進行擴展。
aws autoscaling put-scheduled-update-group-action \ --auto-scaling-group-name
my-asg
\ --scheduled-action-namemy-recurring-action
\ --recurrence"30 0 1 1,6,12 *"
\ --min-size2
\ --max-size6
\ --desired-capacity4
此命令不會產生輸出。如果具有相同名稱的排程動作已存在,則新的排程動作會覆寫它。
如需更多範例,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的排程擴展。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutScheduledUpdateGroupAction
。
-
下列程式碼範例示範如何使用 put-warm-pool
。
- AWS CLI
-
建立暖集區
下列範例會為指定的 Auto Scaling 群組建立暖集區。
aws autoscaling put-warm-pool \ --auto-scaling-group-name
my-asg
\ --min-size2
此命令不會產生輸出。如果暖集區已存在,將會更新。
如需詳細資訊,請參閱《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-namemy-asg
\ --lifecycle-action-tokenbcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling lifecycle hook。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RecordLifecycleActionHeartbeat
。
-
下列程式碼範例示範如何使用 resume-processes
。
- AWS CLI
-
若要繼續暫停的程序
此範例會繼續指定 Auto Scaling 群組的指定暫停擴展程序。
aws autoscaling resume-processes \ --auto-scaling-group-name
my-asg
\ --scaling-processesAlarmNotification
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的暫停和繼續擴展程序。
-
如需 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 使用者指南》中的使用復原功能來復原變更。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RollbackInstanceRefresh
。
-
下列程式碼範例示範如何使用 set-desired-capacity
。
- AWS CLI
-
設定 Auto Scaling 群組所需的容量
此範例會為指定的 Auto Scaling 群組設定所需的容量。
aws autoscaling set-desired-capacity \ --auto-scaling-group-name
my-asg
\ --desired-capacity2
\ --honor-cooldown如果成功,此命令會回到提示字元。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SetDesiredCapacity
。
-
下列程式碼範例示範如何使用 set-instance-health
。
- AWS CLI
-
設定執行個體的運作狀態
此範例會將指定執行個體的運作狀態設定為
Unhealthy
。aws autoscaling set-instance-health \ --instance-id
i-061c63c5eb45f0416
\ --health-statusUnhealthy
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SetInstanceHealth
。
-
下列程式碼範例示範如何使用 set-instance-protection
。
- AWS CLI
-
範例 1:啟用執行個體的執行個體保護設定
此範例會啟用指定執行個體的執行個體保護。
aws autoscaling set-instance-protection \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-asg
--protected-from-scale-in此命令不會產生輸出。
範例 2:停用執行個體的執行個體保護設定
此範例會停用指定執行個體的執行個體保護。
aws autoscaling set-instance-protection \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-asg
\ --no-protected-from-scale-in此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SetInstanceProtection
。
-
下列程式碼範例示範如何使用 start-instance-refresh
。
- AWS CLI
-
範例 1:使用命令列參數啟動執行個體重新整理
下列
start-instance-refresh
範例使用命令列引數啟動執行個體重新整理。選用preferences
參數會指定60
秒InstanceWarmup
的 和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 使用者指南》中的啟動執行個體重新整理。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 StartInstanceRefresh
。
-
下列程式碼範例示範如何使用 suspend-processes
。
- AWS CLI
-
暫停 Auto Scaling 程序
此範例會暫停指定 Auto Scaling 群組的指定擴展程序。
aws autoscaling suspend-processes \ --auto-scaling-group-name
my-asg
\ --scaling-processesAlarmNotification
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的暫停和繼續擴展程序。
-
如需 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\"}" } ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 TerminateInstanceInAutoScalingGroup
。
-
下列程式碼範例示範如何使用 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-size2
\ --max-size10
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的設定 Auto Scaling 群組的容量限制。 Amazon EC2 Auto Scaling
範例 2:新增 Elastic Load Balancing 運作狀態檢查,並指定要使用的可用區域和子網路
此範例會更新指定的 Auto Scaling 群組,以新增 Elastic Load Balancing 運作狀態檢查。此命令也會
--vpc-zone-identifier
使用多個可用區域中的子網路 IDs 清單來更新 的值。aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --health-check-typeELB
\ --health-check-grace-period600
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Elastic Load Balancing 和 Amazon EC2 Auto Scaling。 Amazon EC2 Auto Scaling
範例 3:更新置放群組和終止政策
此範例會更新要使用的置放群組和終止政策。
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --placement-groupmy-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 群組。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateAutoScalingGroup
。
-