SuperAPI AI 工具集

aws-cloudformation-auto-scaling

部署与运维

查看项目

更新于 10-15 21:52

技能介绍

用途:该技能面向使用 AWS CloudFormation 创建生产级 Auto Scaling 基础设施的场景,覆盖 EC2、ECS 和 Lambda 的自动扩缩容,以及启动配置、启动模板、扩缩容策略、生命周期钩子和高可用与成本优化实践。

主要能力:定义容量与实例参数(MinSize、MaxSize、DesiredCapacity、InstanceType、AmiId、SubnetIds);创建启动配置与启动模板;创建 Auto Scaling 组并设置网络、健康检查与标签;集成 ALB 目标组与负载均衡器;配置目标跟踪等扩缩容策略;配置生命周期钩子;设置 CloudWatch 告警;通过 Outputs 与 Export 实现跨堆栈引用;使用混合实例策略提升多样性。

使用方式:按资料给出的步骤编写模板,先定义 Parameters,再依次创建启动配置、Auto Scaling 组、负载均衡集成、扩缩容策略、生命周期钩子、监控与输出。部署前可用命令校验与预览:aws cloudformation validate-template --template-body file://template.yaml;aws cloudformation create-change-set --stack-name my-asg-stack --template-body file://template.yaml --change-set-type CREATE;aws cloudformation describe-change-set --stack-name my-asg-stack --change-set-name <change-set-id>;aws cloudformation execute-change-set --stack-name my-asg-stack --change-set-name <change-set-id>。部署后可用 aws autoscaling describe-auto-scaling-groups、describe-auto-scaling-instances、describe-policies、describe-scaling-activities 验证。

适用场景:需要为 EC2 实例创建 Auto Scaling 组、配置启动配置或启动模板、实现步进/目标跟踪/简单扩缩容策略、添加生命周期钩子、为 ECS 服务扩缩容、实现 Lambda 预置并发扩缩容、用 Parameters/Outputs/Mappings/Conditions 组织模板、通过 export/import 实现跨堆栈引用、使用混合实例策略。

限制与警告:ASG 最大 10000 实例(更多需申请提额);每账户最多 20 个启动配置(建议改用启动模板);每个 ASG 最多 50 个生命周期钩子;目标跟踪策略每个 ASG 最多 20 个;默认冷却期 300 秒。不要在同一次更新中同时修改同一 ASG 的启动配置和启动模板;应使用 UpdatePolicy 实现优雅更新与实例刷新;HealthCheckGracePeriod 应不小于实例初始化时间;生命周期钩子超时需容纳优雅关闭流程;Spot 实例应设置 InstanceMaintenancePolicy。安全方面:不要硬编码凭证,使用 IAM 实例配置文件;使用服务关联角色 aws-autoscaling.amazonaws.com;限制 ASG describe 权限;EBS 加密的 KMS 密钥须与 ASG 同区域;跨堆栈引用导出名在每个区域内唯一。其余细节暂未提供。