执行eb init后 eb list 不显示AWS控制台已创建的Elastic Beanstalk环境
问题排查与解答
核心原因排查
- 区域不匹配:控制台创建EB环境的区域与
eb init执行时选择的区域不一致是最高发的问题。EB CLI默认只会查询初始化指定区域的资源,跨区域资源默认不可见。 - 应用名不匹配:
eb init时指定的应用名称,需要和控制台创建的环境所属的EB应用名称完全一致。eb list默认仅返回当前绑定应用下的环境,跨应用环境无法查询。 - 凭证权限不足:本地EB CLI调用的AWS凭证(默认读取
~/.aws/credentials配置或系统环境变量)未授予EB相关读取权限,例如缺少AWSElasticBeanstalkReadOnlyAccess托管策略时,会返回空列表。 - 账号不匹配:控制台登录的AWS账号与本地CLI配置的凭证所属账号不一致,跨账号资源无法直接查询。
验证与修复方法
你可以直接携带参数强制查询指定资源,确认是否为配置错误:
eb list --application <控制台创建的EB应用名称> --region <EB环境所在的区域编码>
如果执行上述命令可以查到对应环境,只需重新执行eb init,选择正确的区域与对应应用名称即可。
正常运行逻辑说明
eb init的作用是将当前本地目录与指定区域下的某一个EB应用做绑定,后续无额外参数的所有eb命令(包括eb list、eb deploy等)默认仅操作该绑定范围下的资源,不会默认遍历当前凭证下所有区域、所有应用的EB环境,和多数用户初始的预想存在差异。
内容的提问来源于stack exchange,提问作者mike
相关产品推荐
相关产品推荐

