如何在AWS Cloud Shell运行EC2 Classic Resource Finder
方案1:AWS Cloud Shell 运行(优先选择,无需本地安装任何工具)
Cloud Shell是AWS控制台自带的预托管命令行环境,默认继承你当前控制台登录身份的权限,不需要手动配置访问凭证,且预装了脚本运行需要的所有依赖,操作步骤如下:
- 登录AWS管理控制台,点击顶部导航栏的Cloud Shell图标(终端样式,一般在全局搜索框右侧),等待环境初始化完成,通常10秒左右即可进入可用的命令行界面
- 在Shell终端中依次执行以下命令拉取脚本并赋予执行权限:
git clone https://github.com/aws-samples/ec2-classic-resource-finder.git cd ec2-classic-resource-finder chmod +x ec2ClassicResourceFinder.sh
- 执行脚本启动全区域EC2-Classic资源扫描:
./ec2ClassicResourceFinder.sh
提示:如果仅需要扫描单个指定区域,可直接在脚本后追加区域代码参数,比如扫描美东1区可执行
./ec2ClassicResourceFinder.sh us-east-1,能大幅缩短扫描时长。
脚本运行完成后会在当前目录生成结构化的扫描结果文件,可直接在Cloud Shell中下载查看,EC2-Classic下的EC2实例、经典负载均衡器、RDS实例、ElastiCache集群、Redshift集群等资源都会被统一列出。
方案2:本地环境运行脚本
如果Cloud Shell因账号权限限制、网络问题无法使用,可选择本地运行,前置要求和操作步骤如下:
前置依赖
- 必须预先安装AWS CLI:支持1.16及以上版本或v2版本,安装完成后执行
aws configure配置拥有对应服务只读权限的访问凭证,确保凭证可正常调用各区域AWS服务接口 - 本地需具备Bash运行环境:macOS、Linux系统自带终端可直接使用,Windows系统建议通过WSL或者Git Bash运行,不要直接用原生CMD/PowerShell,会存在语法兼容问题
运行步骤
打开本地终端,依次执行以下命令即可启动扫描:
git clone https://github.com/aws-samples/ec2-classic-resource-finder.git cd ec2-classic-resource-finder chmod +x ec2ClassicResourceFinder.sh ./ec2ClassicResourceFinder.sh
常见问题排查
- 运行时报权限不足错误:检查当前使用的身份(CloudShell对应的控制台角色/本地配置的CLI凭证)是否拥有EC2、ELB、RDS、ElastiCache、Redshift、VPC相关服务的Describe类权限,只读权限即可满足扫描需求
- 扫描过程长时间无输出:脚本会逐区域调用API扫描,账号下资源量较大时单区域扫描可能需要1-2分钟,不要强行通过Ctrl+C中断,等所有区域扫描完成后会自动汇总输出结果
- 扫描结果为空:说明当前账号在所选扫描范围内,已经不存在EC2-Classic环境下运行的资源
内容的提问来源于stack exchange,提问作者ls168
相关产品推荐
相关产品推荐

