You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ECS CLI创建AWS集群时遭遇密钥对不存在错误求助

解决ECS CLI创建集群时密钥对不存在的错误

我来帮你排查这个密钥对的问题——你遇到的The key pair 'my-key-pair' does not exist错误,哪怕你已经添加了密钥对,通常是几个容易忽略的细节导致的,咱们一步步来解决:

1. 确认密钥对的区域完全匹配

AWS的资源是区域隔离的,你配置的CLI区域是us-east-1,但如果你的密钥对是在其他区域(比如us-west-2)创建的,CloudFormation肯定找不到它。

  • 操作:登录AWS控制台,切换到US East (N. Virginia)区域(也就是us-east-1),进入EC2控制台的「密钥对」页面,确认my-key-pair确实存在于这个区域。如果没有,就在该区域重新创建密钥对。

2. 检查密钥对名称的拼写和大小写

AWS密钥对的名称是区分大小写的,比如My-Key-Pair和my-key-pair会被识别为两个不同的密钥对。

  • 操作:对比你ecs-cli up命令里的--keypair my-key-pair和控制台里的密钥对名称,确保完全一致,包括连字符、大小写、特殊字符。

3. 确保ECS CLI使用了正确的配置文件

你已经创建了名为myclusterconfig的配置(指定了cluster_test集群和us-east-1区域),但默认情况下ecs-cli up可能会使用default配置,而不是你自定义的这个。

  • 解决:在ecs-cli up命令里加上--config-name myclusterconfig参数,同时指定集群名称,确保用对配置:
    ecs-cli up --keypair my-key-pair --capability-iam --size 2 --instance-type t2.small --force --config-name myclusterconfig --cluster cluster_test
    

4. 验证IAM用户的权限

你配置的grantspilsbury IAM用户需要有足够的权限读取EC2密钥对信息,如果权限不足,CloudFormation也会提示找不到密钥对。

  • 操作:检查该IAM用户的权限策略,确保包含ec2:DescribeKeyPairs权限,或者临时附加AmazonEC2FullAccess和AmazonECS_FullAccess策略进行测试(生产环境记得调整为最小权限)。

另外,从你的操作日志里看到Created cluster cluster=default,这说明你的ecs-cli up默认创建了default集群,而不是你配置的cluster_test,所以加上--cluster cluster_test参数也能避免这个问题。

内容的提问来源于stack exchange,提问作者grabury

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:36:17