这个Skill在做什么
云上资源一多,脑子就不够用了。一个生产环境的Resource Group里塞着App Service、Function App、SQL Database、Key Vault、VNet……它们之间怎么连的、数据怎么流的,光靠Azure Portal根本看不清楚。azure-resource-visualizer就是专门解决这个问题的——它会自动扫描你指定的Azure Resource Group,分析所有资源的配置和依赖关系,然后生成一张完整的Mermaid架构图,连带输出一份Markdown文档。
核心功能
- 资源组自动发现:如果你没指定Resource Group,它会先列出订阅下所有可用的资源组,让你选一个,不会瞎猜。
- 深度资源分析:扫描资源组内每一个资源,包括SKU/Tier、所在Region、网络配置(VNet、子网、私有端点)、托管标识、RBAC绑定等关键属性,一个都不漏。
- 关系映射:自动识别资源之间的连接——数据流(App → Database)、身份链路(Managed Identity → Key Vault)、网络拓扑(NSG → Subnet)、配置依赖(App Settings → Key Vault引用)全部覆盖。
- Mermaid图生成:输出标准的
graph TB或graph LR格式图表,用subgraph按层分组(网络层、计算层、数据层、安全层),节点标签里直接带上SKU和关键配置,连线上有描述性标签。 - 文档一键输出:生成
[resource-group-name]-architecture.md文件,包含资源清单表格、架构图、关系说明和优化建议,可以直接丢给团队或存档。
适用平台
azure-resource-visualizer作为一个标准Skill,可以无缝接入主流AI编程助手,成为你IDE里的”云架构外挂”:
- Cursor:在项目里直接唤起,边写IaC代码边看架构图,上下文拉满。
- GitHub Copilot:结合Copilot Chat使用,问一句”帮我画出rg-prod的架构”就能出图。
- Claude Code:配合Claude的长上下文能力,处理50+资源的复杂架构毫无压力。
- OpenAI Codex / Gemini Code Assist:同样支持,Skill标准化接口保证兼容性。
- 文心快码、腾讯云CodeBuddy、华为云CodeArts:国内主流AI编码平台同样适用,帮助团队在本地化环境里做Azure架构可视化。
这些平台接入后,AI对你Azure环境的理解深度会直接上一个台阶,生成的Terraform或Bicep代码也会更准确。
实操代码示例
下面是azure-resource-visualizer输出的Mermaid图的典型结构,你可以直接在支持Mermaid的Markdown渲染器里预览:
graph TB
subgraph 'Resource Group: rg-prod-app'
subgraph 'Network Layer'
VNET[Virtual Network<br/>10.0.0.0/16]
SUBNET1[Subnet: web<br/>10.0.1.0/24]
NSG[Network Security Group]
end
subgraph 'Compute Layer'
APP[App Service<br/>Plan: P1v2]
FUNC[Function App<br/>Runtime: .NET 8]
end
subgraph 'Data Layer'
SQL[Azure SQL Database<br/>Tier: Standard S1]
STORAGE[Storage Account<br/>Type: Standard LRS]
end
subgraph 'Security'
KV[Key Vault]
MI[Managed Identity]
end
end
APP -->|'HTTPS requests'| FUNC
FUNC -->|'SQL connection'| SQL
FUNC -->|'Blob access'| STORAGE
APP -->|'Uses identity'| MI
MI -->|'Read secrets'| KV
NSG -->|'Rules applied'| SUBNET1
生成的图里每个节点都带着配置细节,连线上有语义标签,架构师和开发同学看一眼就懂。
优势分析
- 只读分析,零风险:Skill明确约束不会修改或删除任何Azure资源,纯读取,放心跑。
- 关系识别比人工更全:人工梳理容易漏掉Managed Identity链路或App Settings里的Key Vault引用,自动分析不会。
- 输出即可用:生成的Markdown文件格式规范,可以直接提交到Git仓库作为架构文档,也可以贴进Confluence。
- 大型架构有降级策略:资源超过50个时,会按层拆分成多张图,不会把所有东西塞进一张图里变成天书。
- 双布局支持:
graph TB适合层次清晰的架构,graph LR适合横向扩展的宽架构,根据实际情况选择。
应用场景
- 新人上手:刚接手一个老项目,Resource Group里几十个资源完全不知道是干嘛的,跑一次直接出架构图,比翻文档快多了。
- 架构评审:开评审会之前,用azure-resource-visualizer生成最新的架构图,保证图和实际环境一致,不用担心文档过期。
- 故障排查:线上出问题,需要快速确认某个服务的上下游依赖,架构图一眼看清楚数据流向。
- 合规审计:安全团队需要确认网络隔离是否到位、哪些资源有公网暴露,架构图加资源清单表格直接提交。
- 迁移规划:准备把某个服务迁移到新Region,先用Skill把现有依赖关系全部梳理出来,再规划迁移顺序。
最佳实践
- 定期更新文档:建议把生成架构图的操作加入CI/CD流程或定期任务,每次有资源变更后重新生成,保持文档和环境同步。
- 文件命名规范:输出文件默认命名为
[rg-name]-architecture.md,建议在文件名里加上日期,例如rg-prod-app-20250115-architecture.md,方便追踪架构演进历史。 - 存入docs目录:如果项目里有
docs/目录,Skill会优先在那里创建文件,建议保持这个目录结构,方便团队统一查阅。 - 跨资源组依赖要手动补充:Skill会在Notes里标注外部依赖,但跨订阅的资源关系需要你手动补充到图里。
- Mermaid渲染环境:GitHub、GitLab、Notion、Obsidian都原生支持Mermaid渲染,把生成的Markdown文件放进去就能直接看图,不需要额外工具。
如果你的团队在管理多个Azure环境,这类Skill的价值会随着资源数量成倍放大。Skill优仓上汇聚了大量类似的云原生、DevOps方向的优质Skill,覆盖Azure、AWS、GCP等主流云平台的自动化分析场景,有需要的话可以去Skill优仓逛逛,说不定能找到你下一个提效神器。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END









暂无评论内容