CloudMapper网络可视化功能详解:构建清晰的AWS架构图
什么是CloudMapper网络可视化
CloudMapper是一款强大的AWS环境分析工具,其网络可视化功能能够将复杂的AWS虚拟私有云(VPC)架构以直观的图形方式呈现。这项功能特别适合需要快速理解云环境网络拓扑的安全工程师、架构师和运维人员。
核心功能特性
-
资源覆盖范围:
- 支持可视化EC2、RDS、ELB(经典和v2)、Redshift、ElasticSearch、ECS等VPC内资源
- 包含Lambda函数(仅限VPC内部署的)和VPC端点(S3/DynamoDB网关端点和PrivateLink)
- 注意:不展示S3存储桶,仅显示S3服务的网关端点(如已创建)
-
连接关系展示:
- 基于安全组的入站规则显示连接关系
- 不包含资源策略、网络ACL或路由表的连接关系
数据准备与处理
基础准备命令
python cloudmapper.py prepare --account my_account
此命令会将收集的AWS数据转换为浏览器可显示的格式,生成web/data.json
文件。
高级过滤选项
对于复杂环境,合理使用过滤选项可以显著改善可视化效果:
-
区域过滤:
--regions us-east-1,us-east-2
限制只显示特定区域的资源
-
VPC过滤:
--vpc-ids vpc-12345678 --vpc-names Production-VPC
精确控制显示的VPC范围
-
标签过滤:
--tags Env=Prod --tags Env=Test,Name=Bastion
逻辑说明:同一组标签条件为AND关系,不同组间为OR关系
-
标签聚合:
--collapse-by-tag Environment
将具有相同标签值的节点合并显示,大幅简化复杂视图
其他实用选项
--no-internal-edges
:仅显示公开访问路径--inter-rds-edges
:显示RDS节点间的通信路径(默认不显示)--no-read-replicas
:隐藏RDS只读副本--no-azs
:不显示可用区信息--no-collapse-asgs
:显示自动扩展组中的所有实例(默认聚合显示)
可视化服务启动
完成数据准备后,可通过以下命令启动本地Web服务:
python cloudmapper.py webserver
也可将生成的web
目录部署到任意Web服务器。
可视化界面操作指南
鼠标交互
-
视图控制:
- 使用UI控件或键盘方向键、+/-键进行平移和缩放
-
节点选择:
- 单击选中节点(背景变黄)
- 双击显示被隐藏的相邻节点
- Shift+单击取消选择
- Shift+拖动进行区域多选
功能命令详解
-
节点隐藏(d):
- 选中节点后点击"带斜杠的眼睛"图标隐藏
- 点击"眼睛"图标恢复所有隐藏节点
- 与被隐藏节点相连的节点会显示黑边
-
邻居高亮(h):
- 选中节点后点击"连接节点"符号高亮相邻节点
- 点击"反向符号"取消高亮
- 特别适合分析特定节点的连接关系
-
节点聚合:
- "向内的箭头"图标:聚合所有节点
- "向外的箭头"图标:展开所有聚合节点
- 单个节点的聚合/展开使用"+"和"-"符号
-
布局优化:
- "锤子"图标:随机重新布局
- "相机"图标:保存高分辨率图像(适合复杂图表)
- 导入/导出功能可保存自定义布局
布局优化建议
初始布局通常不够理想,虽然CloudMapper使用了先进的CoSE布局算法,但手动调整仍是必要的:
- 将关键服务节点拖动到中心位置
- 按功能或环境分组排列相关节点
- 对复杂子网进行适当聚合
最佳实践
-
大型环境处理:
- 先使用区域/VPC过滤缩小范围
- 对非关键资源进行标签聚合
-
安全审计场景:
- 使用
--no-internal-edges
专注外部暴露面 - 结合高亮功能分析关键节点的可达性
- 使用
-
架构文档生成:
- 通过多次过滤创建不同视角的视图
- 使用保存图像功能导出专业架构图
CloudMapper的网络可视化功能为AWS环境提供了独特的洞察视角,合理运用可以显著提升云环境的管理效率和安全性。通过本文介绍的各种过滤和交互技巧,即使是复杂的生产环境也能被清晰地呈现和分析。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考