如何快速导出当前项目所有云资源及VPC/Subnet、Region、Zone等位置信息
快速获取指定属性云资源清单的实现方案
以下是不同场景下可直接落地的快速实现方式:
1. 云厂商原生CLI(最快批量导出方案)
主流云厂商都提供了官方CLI工具,配置完项目凭证后调用全局资源查询接口,即可一次性拉取全量资源并过滤所需属性,不需要逐个服务遍历:
- 阿里云:配置
aliyuncli凭证后调用标签服务的全局查询接口aliyun tag ListResources --ResourceType all --output cols=RegionId,ZoneId,VpcId,SubnetId,ResourceId,ResourceType >> resource_list.csv - AWS:配置
awscli后调用资源组标签API拉取全量资源aws resourcegroupstaggingapi get-resources --query 'ResourceTagMappingList[*].{ResourceARN:ResourceARN,Region:ARN.split(`:`)[3],Zone:Tags[?Key==`aws:ec2:zone`] | [0].Value, VpcId:Tags[?Key==`aws:ec2:vpc`] | [0].Value, SubnetId:Tags[?Key==`aws:ec2:subnet`] | [0].Value}' --output csv >> resource_list.csv - 腾讯云:配置
tccli后调用资源查询接口tccli tag DescribeResources --ResourceType all --Fields Region,Zone,VpcId,SubnetId --output csv >> resource_list.csv
注:如果只需要特定类型的资源,把参数里的all替换为对应资源类型(比如ECS、RDS)即可缩小查询范围
2. 云控制台手动导出(适合无CLI权限的场景)
如果没有命令行操作权限,直接用控制台可视化操作即可:
- 进入对应云厂商的「资源管理」「全局资源搜索」页面
- 筛选范围为当前项目/资源组的全部资源
- 在列表字段设置中勾选地域(Region)、可用区(Zone)、VPC、子网四个属性
- 点击页面「导出CSV」按钮即可一键生成清单
3. 开源本地工具导出(适合多云混合部署场景)
如果是多云混合部署的项目,可以用本地运行的开源工具拉取,不需要上传凭证到第三方平台:
- 若项目资源已经用Terraform/OpenTofu纳管,直接读取本地状态文件即可导出所有属性,不需要调用公网API
terraform show -json | jq '.values.root_module.resources[] | {type:.type, region:.values.region, zone:.values.availability_zone, vpc_id:.values.vpc_id, subnet_id:.values.subnet_id}' >> resource_list.json
内容的提问来源于stack exchange,提问作者B.T Anand
相关产品推荐
相关产品推荐

