AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用的 Auto Scaling 示例 AWS CLI
以下代码示例向您展示了如何使用与 Auto Scaling AWS Command Line Interface 配合使用来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 attach-instances
。
- AWS CLI
-
将实例附加到自动扩缩组
此示例将指定的实例附加到指定的自动扩缩组。
aws autoscaling attach-instances \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-asg
此命令不生成任何输出。
-
有关API详细信息,请参阅 “AttachInstances AWS CLI
命令参考”。
-
以下代码示例演示如何使用 attach-load-balancer-target-groups
。
- AWS CLI
-
将目标组附加到自动扩缩组
此示例将指定目标组附加到指定的自动扩缩组。
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 A EC2 uto Scaling 用户指南中的 Elastic Load Balancing 和 Amazon A EC2 uto Scaling。
-
有关API详细信息,请参阅 “AttachLoadBalancerTargetGroups AWS CLI
命令参考”。
-
以下代码示例演示如何使用 attach-load-balancers
。
- AWS CLI
-
将经典负载均衡器附加到自动扩缩组
此示例将指定的经典负载均衡器附加到指定的自动扩缩组。
aws autoscaling attach-load-balancers \ --load-balancer-names
my-load-balancer
\ --auto-scaling-group-namemy-asg
此命令不生成任何输出。
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的 Elastic Load Balancing 和 Amazon A EC2 uto Scaling。
-
有关API详细信息,请参阅 “AttachLoadBalancers AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 A EC2 uto Scaling 用户指南中的取消实例刷新。
-
有关API详细信息,请参阅 “CancelInstanceRefresh AWS CLI
命令参考”。
-
以下代码示例演示如何使用 complete-lifecycle-action
。
- AWS CLI
-
完成生命周期操作
此示例通知 Amazon A EC2 uto 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 A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto Scaling 生命周期挂钩。
-
有关API详细信息,请参阅 “CompleteLifecycleAction AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-auto-scaling-group
。
- AWS CLI
-
示例 1:创建自动扩缩组
以下
create-auto-scaling-group
示例在区域内多个可用区中的子网中创建自动扩缩组。实例以指定启动模板的默认版本启动。请注意,大多数其他设置都使用默认值,例如,终止策略和运行状况检查配置。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 Auto Scaling 用户指南中的 A EC2 uto Scaling 群组。
示例 2:附加应用程序负载均衡器、网络负载均衡器或网关负载均衡器
此示例指定ARN了支持预期流量的负载均衡器的目标组。运行状况检查类型指定
ELB
,以便在 Elastic Load Balancing 报告实例运行状况不佳时,自动扩缩组将取代它。该命令还定义了以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 A EC2 uto Scaling 用户指南中的 Elastic Load Balancing 和 Amazon A EC2 uto 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 Linux 实例EC2用户指南》中的置放群组。
示例 4:指定单个实例自动扩缩组,并使用特定版本的启动模板
此示例将创建一个自动扩缩组,并将其最小和最大容量均设置为
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 Auto Scaling 用户指南中的 A EC2 uto Scaling 群组。
示例 5:指定不同的终止策略
此示例使用启动配置创建自动扩缩组,并将终止策略设置为首先终止最旧的实例。该命令还将标签应用于该组及其实例,其密钥为
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 A EC2 uto Scaling 用户指南中的使用 Amazon A EC2 uto Scaling 终止政策。
示例 6:指定启动生命周期挂钩
此示例将使用生命周期挂钩创建一个自动扩缩组,该挂钩支持在实例启动时的自定义操作。
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 A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto Scaling 生命周期挂钩。
示例 7:指定终止生命周期挂钩
此示例将使用生命周期挂钩创建一个自动扩缩组,该挂钩支持在实例终止时的自定义操作。
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 A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto Scaling 生命周期挂钩。
示例 8:指定自定义终止策略
此示例创建了一个 Auto Scaling 组,该组指定了自定义 Lambda 函数终止策略,该策略告诉 Amazon A EC2 uto 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"
此命令不生成任何输出。
有关更多信息,请参阅 A mazon A EC2 uto Scaling 用户指南中的使用 Lambda 创建自定义终止策略。
-
有关API详细信息,请参阅 “CreateAutoScalingGroup AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-launch-configuration
。
- AWS CLI
-
示例 1:创建启动配置
此示例创建一个简单的启动配置。
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
此命令不生成任何输出。
有关更多信息,请参阅 Amazon A EC2 uto 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 A EC2 uto 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 A EC2uto Scaling 用户指南中的在亚马逊EC2实例上运行的应用程序的IAM角色。
示例 4:创建启用详细监控的启动配置
此示例创建了启用EC2详细监控的启动配置,该配置将 CloudWatch 在 1 分钟内向发送EC2指标。
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --instance-monitoringEnabled=true
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的配置EC2自动伸缩实例的监控。
示例 5:创建启动竞价型实例的启动配置
此示例创建使用竞价型实例作为唯一购买选项的启动配置。
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --spot-price"0.50"
此命令不生成任何输出。
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的请求竞价型实例。
示例 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 A EC2 uto Scaling 用户指南中的使用EC2实例创建启动配置。
示例 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"}}]
'此命令不生成任何输出。
有关更多信息,请参阅EBS《Amazon A EC2 uto Scaling API 参考》。
有关引用JSON格式参数值的语法的信息,请参阅《AWS 命令行界面用户指南》中的 “在字符串 AWS CLI中使用引号”。
示例 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"}]
'此命令不生成任何输出。
有关更多信息,请参阅BlockDeviceMapping《Amazon A EC2 uto Scaling API 参考》。
有关引用JSON格式参数值的语法的信息,请参阅《AWS 命令行界面用户指南》中的 “在字符串 AWS CLI中使用引号”。
示例 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":""}]
'此命令不生成任何输出。
有关更多信息,请参阅BlockDeviceMapping《Amazon A EC2 uto Scaling API 参考》。
有关引用JSON格式参数值的语法的信息,请参阅《AWS 命令行界面用户指南》中的 “在字符串 AWS CLI中使用引号”。
-
有关API详细信息,请参阅 “CreateLaunchConfiguration AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-or-update-tags
。
- AWS CLI
-
创建或更新自动扩缩组的标签
此示例向指定的自动扩缩组添加两个标签。
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 Auto Scaling 用户指南中的为 A EC2 uto Scaling 组和实例添加标签。
-
有关API详细信息,请参阅 “CreateOrUpdateTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-auto-scaling-group
。
- AWS CLI
-
示例 1:删除指定的自动扩缩组
此示例将删除指定的自动扩缩组。
aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name
my-asg
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的删除EC2自动扩展基础设施。
示例 2:强制删除指定的自动扩缩组
要在不等待自动扩缩组中的实例终止的情况下删除该组,请使用
--force-delete
选项。aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --force-delete此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的删除EC2自动扩展基础设施。
-
有关API详细信息,请参阅 “DeleteAutoScalingGroup AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-launch-configuration
。
- AWS CLI
-
删除启动配置
此示例删除指定的启动配置。
aws autoscaling delete-launch-configuration \ --launch-configuration-name
my-launch-config
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的删除EC2自动扩展基础设施。
-
有关API详细信息,请参阅 “DeleteLaunchConfiguration AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-lifecycle-hook
。
- AWS CLI
-
删除生命周期挂钩
此示例删除指定的生命周期挂钩。
aws autoscaling delete-lifecycle-hook \ --lifecycle-hook-name
my-lifecycle-hook
\ --auto-scaling-group-namemy-asg
此命令不生成任何输出。
-
有关API详细信息,请参阅 “DeleteLifecycleHook AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-notification-configuration
。
- AWS CLI
-
删除 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 A EC2 uto Scaling 用户指南中的删除通知配置。
-
有关API详细信息,请参阅 “DeleteNotificationConfiguration AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-policy
。
- AWS CLI
-
删除扩缩策略
此示例删除指定的扩缩策略。
aws autoscaling delete-policy \ --auto-scaling-group-name
my-asg
\ --policy-namealb1000-target-tracking-scaling-policy
此命令不生成任何输出。
-
有关API详细信息,请参阅 “DeletePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-scheduled-action
。
- AWS CLI
-
从自动扩缩组中删除计划的操作
此示例从指定的自动扩缩组删除指定的计划操作。
aws autoscaling delete-scheduled-action \ --auto-scaling-group-name
my-asg
\ --scheduled-action-namemy-scheduled-action
此命令不生成任何输出。
-
有关API详细信息,请参阅 “DeleteScheduledAction AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-tags
。
- AWS CLI
-
从自动扩缩组中删除标签
此示例从指定的自动扩缩组删除指定的标签。
aws autoscaling delete-tags \ --tags
ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Dept,Value=Research
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的为 A EC2 uto Scaling 组和实例添加标签。
-
有关API详细信息,请参阅 “DeleteTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-warm-pool
。
- AWS CLI
-
示例 1:删除温池
以下示例删除了指定 Auto Scaling 组的温池。
aws autoscaling delete-warm-pool \ --auto-scaling-group-name
my-asg
此命令不生成任何输出。
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的适用于 Amazon A EC2 uto Scaling 的温池。
示例 2:强制删除温池
要在不等待其实例终止的情况下删除温池,请使用
--force-delete
选项。aws autoscaling delete-warm-pool \ --auto-scaling-group-name
my-asg
\ --force-delete此命令不生成任何输出。
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的适用于 Amazon A EC2 uto Scaling 的温池。
-
有关API详细信息,请参阅 “DeleteWarmPool AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-account-limits
。
- AWS CLI
-
描述您的 Amazon A EC2 uto Scaling 账户限制
此示例描述了您 AWS 账户的 Amazon A EC2 uto Scaling 限制。
aws autoscaling describe-account-limits
输出:
{ "NumberOfLaunchConfigurations": 5, "MaxNumberOfLaunchConfigurations": 100, "NumberOfAutoScalingGroups": 3, "MaxNumberOfAutoScalingGroups": 20 }
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto Scaling 服务配额。
-
有关API详细信息,请参阅 “DescribeAccountLimits AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-adjustment-types
。
- AWS CLI
-
描述可用的扩缩调整类型
此示例描述可用的调整类型。
aws autoscaling describe-adjustment-types
输出:
{ "AdjustmentTypes": [ { "AdjustmentType": "ChangeInCapacity" }, { "AdjustmentType": "ExactCapacity" }, { "AdjustmentType": "PercentChangeInCapacity" } ] }
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的缩放调整类型。
-
有关API详细信息,请参阅 “DescribeAdjustmentTypes AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-auto-scaling-groups
。
- AWS CLI
-
示例 1:描述指定的自动扩缩组
此示例将描述指定的自动扩缩组。
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 个指定的自动扩缩组
此示例将描述指定的自动扩缩组。它允许您指定最多 100 个组名称。
aws autoscaling describe-auto-scaling-groups \ --max-items
100
\ --auto-scaling-group-name"group1"
"group2"
"group3"
"group4"
有关输出示例,请参阅示例 1。
示例 3:描述指定区域中的自动扩缩组
此示例将描述指定区域中的自动扩缩组(最多 75 个组)。
aws autoscaling describe-auto-scaling-groups \ --max-items
75
\ --regionus-east-1
有关输出示例,请参阅示例 1。
示例 4:描述指定数量的自动扩缩组
要返回特定数量的自动扩缩组,请使用
--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输出。
-
有关API详细信息,请参阅 “DescribeAutoScalingGroups 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输出。
-
有关API详细信息,请参阅 “DescribeAutoScalingInstances 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 Auto Scaling 用户指南中的 Auto Scaling 群组缩放时获取亚马逊SNSEC2通知。
-
有关API详细信息,请参阅 “DescribeAutoScalingNotificationTypes AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 A EC2 uto Scaling 用户指南中的检查实例刷新状态。
-
有关API详细信息,请参阅 “DescribeInstanceRefreshes AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DescribeLaunchConfigurations AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-lifecycle-hook-types
。
- AWS CLI
-
描述可用的生命周期挂钩类型
此示例描述可用的生命周期挂钩类型。
aws autoscaling describe-lifecycle-hook-types
输出:
{ "LifecycleHookTypes": [ "autoscaling:EC2_INSTANCE_LAUNCHING", "autoscaling:EC2_INSTANCE_TERMINATING" ] }
-
有关API详细信息,请参阅 “DescribeLifecycleHookTypes AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-lifecycle-hooks
。
- AWS CLI
-
描述您的生命周期挂钩
此示例描述指定自动扩缩组的生命周期挂钩。
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详细信息,请参阅 “DescribeLifecycleHooks AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DescribeLoadBalancerTargetGroups AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-load-balancers
。
- AWS CLI
-
描述自动扩缩组的经典负载均衡器
此示例描述指定自动扩缩组的经典负载均衡器。
aws autoscaling describe-load-balancers \ --auto-scaling-group-name
my-asg
输出:
{ "LoadBalancers": [ { "State": "Added", "LoadBalancerName": "my-load-balancer" } ] }
-
有关API详细信息,请参阅 “DescribeLoadBalancers AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 Auto Scaling 用户指南中的 A EC2 uto Scaling 组指标。
-
有关API详细信息,请参阅 “DescribeMetricCollectionTypes AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-notification-configurations
。
- AWS CLI
-
示例 1:描述指定组的通知配置
此示例描述指定自动扩缩组的通知配置。
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 Auto Scaling 用户指南中的 Auto Scaling 群组缩放时获取亚马逊SNSEC2通知。
示例 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 Auto Scaling 用户指南中的 Auto Scaling 群组缩放时获取亚马逊SNSEC2通知。
-
有关API详细信息,请参阅 “DescribeNotificationConfigurations AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-policies
。
- AWS CLI
-
示例 1:描述指定组的扩缩策略
此示例描述指定自动扩缩组的扩缩策略。
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 A EC2 uto Scaling 用户指南中的动态扩展。
示例 2:描述指定名称的扩缩策略
要返回特定的扩缩策略,请使用
--policy-names
选项。aws autoscaling describe-policies \ --auto-scaling-group-name
my-asg
\ --policy-namescpu40-target-tracking-scaling-policy
有关输出示例,请参阅示例 1。
有关更多信息,请参阅 Amazon A EC2 uto 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 A EC2 uto Scaling 用户指南中的动态扩展。
-
有关API详细信息,请参阅 “DescribePolicies AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 Auto Scaling 用户指南中的验证 Aut EC2 o Scaling 组的扩展活动。
示例 2:描述已删除组的扩展活动
要在删除自动扩缩组后描述扩展活动,请添加
--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 A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto 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 Auto Scaling 用户指南中的验证 Aut EC2 o Scaling 组的扩展活动。
-
有关API详细信息,请参阅 “DescribeScalingActivities AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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" } ] }
有关更多信息,请参阅 A mazon A EC2 uto Scaling 用户指南中的暂停和恢复扩展流程。
-
有关API详细信息,请参阅 “DescribeScalingProcessTypes AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 A EC2 uto Scaling 用户指南中的计划扩展。
示例 2:描述指定组的计划操作
要描述特定自动扩缩组的计划操作,请使用
--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 A EC2 uto 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 A EC2 uto 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 A EC2 uto 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 A EC2 uto 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 A EC2 uto Scaling 用户指南中的计划扩展。
-
有关API详细信息,请参阅 “DescribeScheduledActions AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 Auto Scaling 用户指南中的为 A EC2 uto Scaling 组和实例添加标签。
示例 2:描述指定组的标签
要描述特定自动扩缩组的标签,请使用
--filters
选项。aws autoscaling describe-tags --filters
Name=auto-scaling-group,Values=my-asg
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的为 A EC2 uto 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 Auto Scaling 用户指南中的为 A EC2 uto Scaling 组和实例添加标签。
-
有关API详细信息,请参阅 “DescribeTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-termination-policy-types
。
- AWS CLI
-
描述可用的终止策略类型
此示例描述可用的终止策略类型。
aws autoscaling describe-termination-policy-types
输出:
{ "TerminationPolicyTypes": [ "AllocationStrategy", "ClosestToNextInstanceHour", "Default", "NewestInstance", "OldestInstance", "OldestLaunchConfiguration", "OldestLaunchTemplate" ] }
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的控制哪些 A EC2 uto Scaling 实例在缩容期间终止。
-
有关API详细信息,请参阅 “DescribeTerminationPolicyTypes AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 A EC2 uto Scaling 用户指南中的适用于 Amazon A EC2 uto Scaling 的温池。
-
有关API详细信息,请参阅 “DescribeWarmPool AWS CLI
命令参考”。
-
以下代码示例演示如何使用 detach-instances
。
- AWS CLI
-
将实例与自动扩缩组分离
此示例将指定实例与指定的自动扩缩组分离。
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详细信息,请参阅 “DetachInstances AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 Auto Scaling 用户指南中的将负载均衡器附加到 A EC2 uto Scaling 组。
-
有关API详细信息,请参阅 “DetachLoadBalancerTargetGroups AWS CLI
命令参考”。
-
以下代码示例演示如何使用 detach-load-balancers
。
- AWS CLI
-
将经典负载均衡器与自动扩缩组分离
此示例将指定的经典负载均衡器与指定的自动扩缩组分离。
aws autoscaling detach-load-balancers \ --load-balancer-names
my-load-balancer
\ --auto-scaling-group-namemy-asg
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的将负载均衡器附加到 A EC2 uto Scaling 组。
-
有关API详细信息,请参阅 “DetachLoadBalancers AWS CLI
命令参考”。
-
以下代码示例演示如何使用 disable-metrics-collection
。
- AWS CLI
-
禁用自动扩缩组指标收集
此示例将禁用指定自动扩缩组的
GroupDesiredCapacity
指标的收集。aws autoscaling disable-metrics-collection \ --auto-scaling-group-name
my-asg
\ --metricsGroupDesiredCapacity
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的 Aut EC2 o S caling 组和实例的监控 CloudWatch 指标。
-
有关API详细信息,请参阅 “DisableMetricsCollection AWS CLI
命令参考”。
-
以下代码示例演示如何使用 enable-metrics-collection
。
- AWS CLI
-
示例 1:启用自动扩缩组的指标收集
此示例将启用指定自动扩缩组的数据收集。
aws autoscaling enable-metrics-collection \ --auto-scaling-group-name
my-asg
\ --granularity"1Minute"
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的 Aut EC2 o S caling 组和实例的监控 CloudWatch 指标。
示例 2:收集自动扩缩组指定指标的相关数据
要收集特定指标的相关数据,请使用
--metrics
选项。aws autoscaling enable-metrics-collection \ --auto-scaling-group-name
my-asg
\ --metricsGroupDesiredCapacity
--granularity"1Minute"
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的 Aut EC2 o S caling 组和实例的监控 CloudWatch 指标。
-
有关API详细信息,请参阅 “EnableMetricsCollection AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto Scaling 实例生命周期。
-
有关API详细信息,请参阅 “EnterStandby AWS CLI
命令参考”。
-
以下代码示例演示如何使用 execute-policy
。
- AWS CLI
-
执行扩缩策略
此示例将对指定的自动扩缩组执行名为
my-step-scale-out-policy
的扩缩策略。aws autoscaling execute-policy \ --auto-scaling-group-name
my-asg
\ --policy-namemy-step-scale-out-policy
\ --metric-value95
\ --breach-threshold80
此命令不生成任何输出。
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的步骤和简单扩展策略。
-
有关API详细信息,请参阅 “ExecutePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 Auto Scaling 用户指南中的临时从 Aut EC2 o Sc aling 组中移除实例。
-
有关API详细信息,请参阅 “ExitStandby AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-lifecycle-hook
。
- AWS CLI
-
示例 1:创建生命周期挂钩
此示例创建一个生命周期挂钩,该挂钩将在任何新启动的实例上调用,超时时间为 4800 秒。这对于在用户数据脚本完成之前保持实例处于等待状态或使用调用 Lambd AWS a 函数非常有用。 EventBridge
aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name
my-asg
\ --lifecycle-hook-namemy-launch-hook
\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING
\ --heartbeat-timeout4800
此命令不生成任何输出。如果已存在同名的生命周期挂钩,则该挂钩将被新的生命周期挂钩覆盖。
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto Scaling 生命周期挂钩。
示例 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 A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto Scaling 生命周期挂钩。
示例 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 A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto Scaling 生命周期挂钩。
-
有关API详细信息,请参阅 “PutLifecycleHook AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-notification-configuration
。
- AWS CLI
-
添加通知
此示例将指定的通知添加到指定的自动扩缩组。
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 Auto Scaling 用户指南中的 Auto Scaling 群组缩放时获取亚马逊SNSEC2通知。
-
有关API详细信息,请参阅 “PutNotificationConfiguration AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-scaling-policy
。
- AWS CLI
-
向自动扩缩组添加目标跟踪扩缩策略
以下
put-scaling-policy
示例将目标跟踪扩缩策略应用到指定的自动扩缩组。输出包含代表您创建的两个 CloudWatch 警报的ARNs和名称。如果已存在同名扩缩策略,则该扩缩策略将被新扩缩策略覆盖。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 A EC2 uto Scaling 用户指南中的 AWS 命令行界面扩展策略示例 (AWS CLI)。
-
有关API详细信息,请参阅 “PutScalingPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-scheduled-update-group-action
。
- AWS CLI
-
示例 1:向自动扩缩组添加计划操作
此示例将指定的计划操作添加到指定的自动扩缩组。
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 A EC2 uto Scaling 用户指南中的计划扩展。
示例 2:指定周期性计划
此示例创建一个计划操作,以按计划在每年一月、六月和十二月的第一天 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 A EC2 uto Scaling 用户指南中的计划扩展。
-
有关API详细信息,请参阅 “PutScheduledUpdateGroupAction AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-warm-pool
。
- AWS CLI
-
创建温水池
以下示例为指定的 Auto Scaling 组创建了一个温池。
aws autoscaling put-warm-pool \ --auto-scaling-group-name
my-asg
\ --min-size2
此命令不生成任何输出。如果温池已经存在,则会对其进行更新。
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的适用于 Amazon A EC2 uto Scaling 的温池。
-
有关API详细信息,请参阅 “PutWarmPool AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 A EC2 uto Scaling 用户指南中的 Amazon A EC2 uto Scaling 生命周期挂钩。
-
有关API详细信息,请参阅 “RecordLifecycleActionHeartbeat AWS CLI
命令参考”。
-
以下代码示例演示如何使用 resume-processes
。
- AWS CLI
-
恢复暂停的进程
此示例恢复指定自动扩缩组的指定暂停扩缩进程。
aws autoscaling resume-processes \ --auto-scaling-group-name
my-asg
\ --scaling-processesAlarmNotification
此命令不生成任何输出。
有关更多信息,请参阅 A mazon A EC2 uto Scaling 用户指南中的暂停和恢复扩展流程。
-
有关API详细信息,请参阅 “ResumeProcesses AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 A EC2 uto Scaling 用户指南中的使用回滚撤消更改。
-
有关API详细信息,请参阅 “RollbackInstanceRefresh AWS CLI
命令参考”。
-
以下代码示例演示如何使用 set-desired-capacity
。
- AWS CLI
-
为自动扩缩组设置所需容量
此示例将为指定的自动扩缩组设置所需容量。
aws autoscaling set-desired-capacity \ --auto-scaling-group-name
my-asg
\ --desired-capacity2
\ --honor-cooldown如果成功,该命令将返回到提示符。
-
有关API详细信息,请参阅 “SetDesiredCapacity AWS CLI
命令参考”。
-
以下代码示例演示如何使用 set-instance-health
。
- AWS CLI
-
设置实例的运行状况
此示例将指定实例的运行状况设置为
Unhealthy
。aws autoscaling set-instance-health \ --instance-id
i-061c63c5eb45f0416
\ --health-statusUnhealthy
此命令不生成任何输出。
-
有关API详细信息,请参阅 “SetInstanceHealth AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “SetInstanceProtection AWS CLI
命令参考”。
-
以下代码示例演示如何使用 start-instance-refresh
。
- AWS CLI
-
示例 1:使用命令行参数启动实例刷新
以下
start-instance-refresh
示例使用命令行参数启动实例刷新。可选preferences
参数指定 aInstanceWarmup
为60
秒,aMinHealthyPercentage
为50
百分比。aws autoscaling start-instance-refresh \ --auto-scaling-group-name
my-asg
\ --preferences '{"InstanceWarmup": 60, "MinHealthyPercentage": 50}
'输出:
{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }
有关更多信息,请参阅 Amazon A EC2 uto 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 A EC2 uto Scaling 用户指南中的启动实例刷新。
-
有关API详细信息,请参阅 “StartInstanceRefresh AWS CLI
命令参考”。
-
以下代码示例演示如何使用 suspend-processes
。
- AWS CLI
-
暂停 Auto Scaling 进程
此示例暂停指定自动扩缩组的指定扩缩进程。
aws autoscaling suspend-processes \ --auto-scaling-group-name
my-asg
\ --scaling-processesAlarmNotification
此命令不生成任何输出。
有关更多信息,请参阅 A mazon A EC2 uto Scaling 用户指南中的暂停和恢复扩展流程。
-
有关API详细信息,请参阅 “SuspendProcesses AWS CLI
命令参考”。
-
以下代码示例演示如何使用 terminate-instance-in-auto-scaling-group
。
- AWS CLI
-
终止自动扩缩组中的实例
此示例将在不更新指定自动扩缩组大小的情况下终止该组中的指定实例。Amazon A EC2 uto 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详细信息,请参阅 “TerminateInstanceInAutoScalingGroup AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-auto-scaling-group
。
- AWS CLI
-
示例 1:更新自动扩缩组的大小限制
该示例将更新指定的自动扩缩组,该组的最小大小为 1,最大大小为 10。
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --min-size2
\ --max-size10
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的为 Aut EC2 o S caling 组设置容量限制。
示例 2:添加 Elastic Load Balancing 运行状况检查并指定要使用的可用区和子网
此示例将更新指定的自动扩缩组以添加 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 A EC2 uto Scaling 用户指南中的 Elastic Load Balancing 和 Amazon A EC2 uto Scaling。
示例 3:更新置放群组和终止策略
此示例将更新要使用的置放群组和终止策略。
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --placement-groupmy-placement-group
\ --termination-policies"OldestInstance"
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的 A EC2 uto Scaling 群组。
示例 4:使用最新版本的启动模板
此示例会将指定的自动扩缩组更新为使用最新版本的指定启动模板。
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest'此命令不生成任何输出。
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的启动模板。
示例 5:使用特定版本的启动模板
此示例会将指定的自动扩缩组更新为使用特定版本的启动模板,而不是最新或默认版本。
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'此命令不生成任何输出。
有关更多信息,请参阅 Amazon A EC2 uto Scaling 用户指南中的启动模板。
示例 6:定义混合实例策略并启用容量再平衡
此示例将指定的自动扩缩组更新为使用混合实例策略并启用容量再平衡。此结构允许您指定具有竞价和按需容量的组,并针对不同的架构使用不同的启动模板。
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" } } }
此命令不生成任何输出。
有关更多信息,请参阅 A mazon Auto Scaling 用户指南中的具有多种实例类型和购买选项的 A EC2 uto Scaling 群组。
-
有关API详细信息,请参阅 “UpdateAutoScalingGroup AWS CLI
命令参考”。
-