如何使用AWS CLI创建以EC2和ASG为基础设施的集群
如何使用AWS CLI创建以EC2和ASG为基础设施的集群
嘿,我来给你详细讲讲怎么用AWS CLI创建基于EC2和自动缩放组(ASG)的ECS集群~先得说清楚,AWS在线控制台创建集群时能看到一堆可视化的配置选项,但CLI这边得换个思路,很多细节需要提前准备好,咱们一步步来:
先对比下控制台的可选配置
在AWS UI里创建集群时,你能直观选择这些额外配置项:
- 基础设施
- Amazon EC2实例
- Auto Scaling group:可选择创建新ASG或选用已有ASG
- Provisioning model:支持按需实例(On-demand)或竞价实例(Spot)
- Container instance Amazon Machine Image:比如Amazon Linux镜像等
- EC2 instance type:例如t2.micro这类实例规格
- EC2 instance role:可选择创建新角色或选用已有角色
- Desired capacity:可设置最小(如0)、最大(如5)等容量阈值
- SSH Key pair:用于远程连接EC2实例的密钥对
- Amazon EC2实例
- 网络设置
- VPC:指定集群所在的虚拟私有云
- Subnets:选择集群使用的子网
- Security Group:配置实例的安全组规则
使用AWS CLI创建集群的操作步骤
相比控制台,AWS CLI创建集群时的直接可选参数会少一些,很多细节需要提前准备好相关资源,或者通过额外命令配置,具体步骤如下:
提前准备依赖资源
- 先创建好需要的VPC、子网、安全组(如果不想用默认配置的话)
- 提前创建EC2实例角色(或选用已有角色),确保它拥有ECS集群所需的权限(比如
AmazonEC2ContainerServiceforEC2Role托管权限) - 准备好Auto Scaling组:ASG里要提前配置好实例类型、AMI、SSH密钥对、容量阈值这些控制台里直接选的参数
创建ECS集群并关联ASG
首先创建基础集群:aws ecs create-cluster \ --cluster-name your-cluster-name \ --default-capacity-provider-strategy capacityProvider=EC2,weight=1,base=1然后把提前准备好的ASG注册为集群的EC2容量提供商:
aws ecs register-capacity-provider \ --cluster-name your-cluster-name \ --capacity-provider name=your-asg-name,auto-scaling-group-provider={autoScalingGroupArn=arn:aws:autoscaling:your-region:your-account-id:autoScalingGroup:your-asg-id:autoScalingGroupName/your-asg-name,managedScaling={status=ENABLED,targetCapacity=100},managedTerminationProtection=ENABLED}记得替换命令里的
your-cluster-name、your-asg-name、your-region、your-account-id、your-asg-id为你自己的实际信息。验证集群状态
运行以下命令查看集群详情,确认ASG和EC2配置已正确关联:aws ecs describe-clusters --cluster your-cluster-name
小提示
CLI里没法像控制台那样在创建集群时直接选实例类型、AMI这些参数,这些都得在创建ASG的时候预先配置好,所以提前把ASG的细节设置到位很重要哦~
备注:内容来源于stack exchange,提问作者Inspiraller
相关产品推荐
相关产品推荐

