MacOS运行EC2 Classic Resource Finder脚本及创建对应IAM用户方法
MacOS 运行 EC2 Classic Resource Finder 全流程指南
适用前提
- 运行较新版本MacOS系统(实测Monterey 12.4版本完美适配,更早版本操作逻辑一致)
- 持有可创建新IAM用户的AWS账号管理员权限
- 重要提醒:EC2-Classic网络已于2022年8月15日正式终止服务,本工具为AWS官方推荐的EC2-Classic存量资源扫描工具,可排查账号下所有部署在EC2-Classic网络中的资源,避免服务终止带来的业务影响。
一、创建权限适配的IAM用户
严格按照以下步骤创建仅用于扫描的最小权限IAM用户,避免权限过度开放:
- 登录AWS控制台,进入IAM服务页面
- 左侧导航栏选择「用户」,点击「添加用户」
- 填写自定义用户名,访问类型勾选编程访问,点击下一步
- 权限配置选择「直接附加现有策略」,搜索并勾选以下只读权限策略:
AmazonEC2ReadOnlyAccessAWSCloudTrailReadOnlyAccessAmazonRDSReadOnlyAccessAmazonElastiCacheReadOnlyAccessAmazonRedshiftReadOnlyAccessElasticLoadBalancingReadOnlyAccess
注:以上策略均为AWS托管只读权限,仅用于资源扫描,不会修改账号内任何资源配置
- 标签配置页可留空,直接进入下一步确认信息,点击「创建用户」
- 妥善保存页面生成的
Access Key ID和Secret Access Key,后续配置需要使用,关闭页面后无法再次查看Secret Access Key。
二、Mac端脚本运行环境配置
以下步骤针对无Python、pip、Boto3使用经验的用户设计,逐行执行命令即可:
- 打开Mac自带终端应用(启动台搜索「终端」即可启动)
- 确认系统Python3环境正常,终端执行以下命令,能返回Python3版本号即为符合要求:
python3 --version如果提示命令不存在,先在App Store安装Xcode,安装完成后重启终端重试即可
- 安装pip包管理工具,依次执行:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py - 安装脚本依赖的Boto3 SDK:
pip3 install boto3 - 安装AWS CLI工具,用于配置账号认证信息:
安装完成后执行curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target /aws --version,返回版本号即为安装成功 - 配置AWS账号认证信息,终端执行命令启动配置向导:
按照提示依次输入之前保存的Access Key ID、Secret Access Key,默认区域填写你账号常用的AWS区域(例如cn-north-1、us-east-1),默认输出格式填aws configurejson,回车完成配置 - 下载EC2 Classic Resource Finder脚本压缩包,解压到本地易查找的目录(例如桌面新建的ec2-classic-scan文件夹)
三、执行脚本完成资源扫描
- 终端切换到脚本存放目录,例如脚本存放在桌面的ec2-classic-scan文件夹,执行:
cd ~/Desktop/ec2-classic-scan - 给脚本添加可执行权限:
chmod +x ec2_classic_resource_finder.py - 启动扫描:
python3 ec2_classic_resource_finder.py - 等待脚本运行完成,扫描结果会直接打印在终端,同时当前目录会生成一份CSV格式的结果文件,包含所有扫描到的EC2-Classic资源ID、资源类型、所属区域等信息。
常见报错处理
- 脚本运行提示权限不足:回到IAM用户配置页,检查列出的所有只读策略是否已正确附加
- 执行pip安装命令提示权限错误:在命令前加
sudo前缀,例如sudo pip3 install boto3,输入Mac开机密码回车即可 - 扫描过程提示区域不存在:检查
aws configure步骤填写的默认区域是否正确,需和账号实际使用的区域匹配
内容的提问来源于stack exchange,提问作者Ka Wai Cheung
相关产品推荐
相关产品推荐

