寻求可列出AWS账户中当前运行服务的API或开源工具
列出AWS账户中当前活跃服务的工具与API方案
一、AWS CLI + 自定义脚本
单个AWS CLI命令无法覆盖所有服务,但可以通过编写脚本遍历常用服务,检查是否存在活跃资源:
#!/bin/bash # 检查运行中的EC2实例 echo "=== 活跃EC2实例 ===" aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query 'Reservations[*].Instances[*].InstanceId' --output text # 检查存在的S3存储桶(存在即视为活跃服务) echo -e "\n=== 活跃S3存储桶 ===" aws s3api list-buckets --query 'Buckets[*].Name' --output text # 检查已创建的Lambda函数 echo -e "\n=== 活跃Lambda函数 ===" aws lambda list-functions --query 'Functions[*].FunctionName' --output text # 可扩展添加其他服务检测:如RDS实例、EKS集群、ECS服务等
根据需求扩展脚本,覆盖你关注的AWS服务即可。
二、AWS Config
AWS Config可跟踪所有资源的配置状态,能精准筛选当前存在的资源,间接得到活跃服务列表:
- 先启用AWS Config,确保覆盖所有区域和需要监控的资源类型
- 使用CLI命令查询特定资源类型:
# 查询所有活跃的EC2实例 aws configservice list-discovered-resources --resource-type AWS::EC2::Instance - 在AWS Config控制台的「资源库存」页面,可直观查看所有当前存在的资源,对应到所属的活跃服务
三、AWS Resource Groups & Tag Editor
- 控制台操作:打开Tag Editor的「搜索资源」功能,选择所有区域、所有资源类型,搜索结果中的资源对应的服务即为当前活跃服务
- CLI命令:
通过# 获取所有带标签的活跃资源 aws resourcegroupstaggingapi get-resources--resource-type-filters参数指定特定服务的资源类型,可精准筛选对应服务的活跃状态
四、开源批量检查工具
可以使用开源的aws-inventory类脚本(无需依赖外部服务),这类工具会批量遍历AWS各服务的API,自动汇总当前存在资源的服务列表,适合多账户、多区域的批量检查场景
内容的提问来源于stack exchange,提问作者Priyanka
相关产品推荐
相关产品推荐

