90DaysOfDevOps 第 33 天:Microsoft Azure 网络模型与 Azure 管理工具实战指南
文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载导读本文源自 90DaysOfDevOps 学习计划 2022 年专题第 33 天聚焦两大主题Azure 网络模型虚拟网络、网络安全组、负载均衡与Azure 管理工具Portal、PowerShell、VS Code、Cloud Shell、Azure CLI。对于 DevOps 工程师而言理解这些网络原语与自动化管理工具链是把 Azure 环境从门户点击走向代码化、自动化供给的必经之路。读完本文你将掌握虚拟网络/子网的地址规划与对等连接原理、网络安全组NSG与应用程序安全组ASG的规则设计、负载均衡方案选型以及五大管理工具的组合用法并能对照仓库中真实的 ARM 模板与 PowerShell 脚本理解其落地形态。Azure 网络模型概览Microsoft Azure 的网络体系以**虚拟网络Virtual Network**为核心围绕地址规划、子网划分、安全控制与流量分发展开。与 AWS VPC 相比两者概念相似但在默认行为、子网语义与安全模型上存在显著差异下文逐一拆解。虚拟网络Virtual Networks核心特征Azure 虚拟网络是订阅内、区域内的逻辑隔离网络构造核心要点如下虚拟网络是 Azure 中创建的构造construct承载一个或多个 IP 地址范围address space虚拟网络位于**某个订阅subscription内的某个区域region**中子网subnet在虚拟网络内创建用于切分网络地址范围虚拟机放置在子网中同一虚拟网络内的所有虚拟机默认可以互相通信每个虚拟网络最多支持65,536 个私有 IP计费只针对离开区域的出站流量egress入站流量与区域内流量不收费同时支持IPv4 与 IPv6IPv6 既可用于面向公网的场景也可用于虚拟网络内部。与 AWS VPC 的关键差异从源码结构看90DaysOfDevOps 仓库的 01VirtualNetworking 模块提供了完整的多虚拟机部署模板其中虚拟网络地址空间被规划为10.40.0.0/22详见 Mod04_90DaysOfDevOps-vms-loop-template.json两个子网分别为10.40.0.0/24与10.40.1.0/24对应文档中虚拟网络含一个或多个 IP 范围、子网用于切分范围的描述。在此基础上理解 Azure 与 AWS 的差异有助于避免迁移时的思维惯性AWS 会自动创建默认 VPCAzure 不会在 Azure 中你必须按自身需求创建第一个虚拟网络不存在开箱即用的默认 VNet默认出网能力不同Azure 中所有虚拟机默认通过 NAT 具备访问互联网的能力无需像 AWS 那样单独配置 NAT 网关没有公有/私有子网概念Azure 不区分 Private/Public 子网子网本身不直接决定公网可达性公网 IP 是独立资源Public IP 作为一种可分配的资源挂载到虚拟网卡vNIC或负载均衡器上ACL 的粒度不同虚拟网络与子网各自拥有 ACL支持子网级委派subnet level delegation子网与可用区的对应关系Azure 的子网可以跨越可用区Availability Zones而 AWS 中每个子网归属于单个可用区。虚拟网络对等Virtual Network Peering虚拟网络对等连接VNet Peering允许跨租户、跨区域的虚拟网络通过Azure 骨干网互联。需要注意两点约束不传递性Not TransitiveA 与 B 对等、B 与 C 对等并不代表 A 能直接访问 C要打通传递路径可在中心hub虚拟网络中使用Azure Firewall充当路由中枢网关传递Gateway Transit通过网关传递可以使已对等的虚拟网络获得对连接网络connected network的访问能力典型案例是将ExpressRoute延伸到本地数据中心On-Premises。访问控制NSG 与 ASG网络安全组Network Security GroupNSGAzure 使用**有状态stateful**的网络安全组来控制流量先创建规则再将其赋予某个网络安全组NSG 可关联到子网或虚拟机网卡关键认知当 NSG 关联到子网时实际强制点仍是虚拟机的 NIC 层面它并非边界设备Edge device这一点区别于传统的防火墙/边缘网关模型。规则在 NSG 中按**优先级priority**合并执行优先级数值越低优先级越高。大多数规则逻辑基于 IP 地址构建同时也支持使用服务标签service tags等标记。文档给出的典型规则集如下DescriptionPrioritySource AddressSource PortDestination AddressDestination PortActionInbound 4431005***443AllowILB1010Azure LoadBalancer**10000AllowDeny All Inbound4000****DENY该表展示了三条典型规则放行任意来源的 443 入站流量、放行来自Azure LoadBalancer服务标签到端口 10000 的流量、以及兜底拒绝DENY所有入站。最后一条通常作为最低优先级存在形成默认拒绝 白名单放行的安全模型。仓库中的 Mod06_90DaysOfDevOps-vms-loop-template.json 给出了 NSG 在 ARM 模板中的真实落地形态模板为 NIC 关联了网络安全组networkSecurityGroup属性并内置两条安全规则——default-allow-rdp优先级 1000放行 TCP 3389 入站与default-allow-http优先级 1100放行 TCP 80 入站且每条规则显式声明direction: Inbound与access: Allow。这印证了规则按优先级合并、低数值高优先级的机制RDP1000先于 HTTP1100评估但两者均为 Allow最终共同生效。应用程序安全组Application Security GroupASGNSG 面向 IP 地址范围在环境规模增长时维护成本很高。ASG 的价值在于引入业务语义命名为不同应用角色定义真实名称Monikers如 Webservers、DB servers、WebApp1 等将虚拟机的NIC 加入一个或多个 ASGASG 可作为 NSG 规则中的源或目的使用控制通信流向同时仍可享受 NSG 的服务标签等能力。文档给出的 ASG 规则示例清晰地展示了三层 Web 架构的流量编排ActionNameSourceDestinationPortAllowAllowInternettoWebInternetWebServers443(HTTPS)AllowAllowWebToAppWebServersAppServers443(HTTPS)AllowAllowAppToDBAppServersDbServers1443 (MSSQL)DenyDenyAllinboundAnyAnyAny这样安全规则从记住哪个网段是 Web 层演进为WebServers 允许来自 Internet 的 443 流量、AppServers 只接受 WebServers 访问、DbServers 只接受 AppServers 的 1443MSSQL访问配合兜底DenyAllinbound安全边界清晰且随业务演进易于维护。负载均衡Layer 4 与 Layer 7Azure 提供两类第一方first-party负载均衡解决方案第三方方案可通过 Azure Marketplace 获取两者均可面向外部externally facing或内部internally facing端点运行Load Balancer第 4 层L4基于哈希hash-based的流量分发支持端口转发port-forwarding适用于 TCP/UDP 流量分发场景Application Gateway第 7 层L7支持SSL 卸载SSL offload、**基于 Cookie 的会话保持session affinity与基于 URL 的内容路由URL-based content routing**等高级功能在 Application Gateway 之上还可以**可选启用 Web 应用防火墙WAF**组件为 Web 流量增加应用层防护。结合仓库的 02TrafficManagement 模块可以进一步看到流量管理的工程化实践该模块的 PowerShell 脚本 Mod06_90DaysOfDevOps.ps1 在完成 ARM 模板部署后通过Get-AzVM枚举全部虚拟机并循环调用Set-AzVMExtension为每台 VM 安装Network Watcher AgentNetworkWatcherAgentWindowsTypeHandlerVersion 1.4。这意味着无论选择哪种负载均衡方案可观测性Network Watcher 流量诊断都是验证规则与分发效果的重要一环——这也与文档强调的自动化供给主题一脉相承。Azure 管理工具全景从 DevOps 文化与实践角度Azure 资源的供给provisioning大多应通过API 或命令行工具完成而不是依赖门户点击。文档依次介绍了五类管理工具构成完整的人机协作工具链。Azure Portal门户Azure Portal 是基于 Web 的控制台是命令行工具的补充可在门户中管理订阅从简单 Web 应用到复杂云部署均可完成构建、管理与监控门户中的**面包屑导航breadcrumbs**背后对应的是资源的层级结构关键洞察JSON 是所有 Azure 资源的底层承载语言。最佳实践是先在门户中理解功能与结构再回看其背后的 JSON 定义将其纳入自动化工作流另提供Azure Preview 门户用于预览和测试新上线服务与功能增强。PowerShell / Azure PowerShellPowerShell 本质上是任务自动化与配置管理框架兼具命令行 Shell 与脚本语言双重身份可类比本学习计划 Linux 章节中的 Shell 脚本它最初面向 Windows如今已跨平台运行。Azure PowerShell是一组 cmdlet命令集用于直接从 PowerShell 命令行管理 Azure 资源连接订阅Connect-AzAccount查找某类资源的专用命令如 Azure 虚拟机相关 cmdlet可借助Get-Command等 PowerShell 语言能力持续深入学习。仓库中 03Storage 与 04Serverless 模块给出了真实的 PowerShell 用法例如 Mod07_90DaysOfDevOps.ps1 通过New-AzResourceGroupDeployment -AsJob以**异步作业AsJob**方式提交模板部署Mod09a_90DaysOfDevOps.ps1 则通过Get-AzWebApp获取 Web 应用后循环Invoke-WebRequest对其发起 HTTP 压测请求。这些脚本展示了连接订阅 → 部署模板 → 操作资源的完整 PowerShell 自动化路径。Visual Studio CodeVisual Studio Code 是微软出品的免费源代码编辑器支持 Windows、Linux 与 macOS。文档强调VS Code 内置了大量与 Azure 交互的集成与工具Azure 扩展、资源管理、终端内嵌 Azure CLI 等是许多开发者的首选 IDE也是门户之外撰写 ARM 模板、PowerShell 脚本与 IaC 代码的主要阵地。Cloud Shell云 ShellAzure Cloud Shell 是交互式、已认证、浏览器可访问的 Shell用于管理 Azure 资源并允许按需在Bash 与 PowerShell两种体验之间选择。首次启动时需要在订阅中提供少量存储。其运行机制要点如下使用 Cloud Shell 时会临时拉起一台机器这些机器是临时的但文件通过两种方式持久化磁盘镜像与挂载的文件共享file share按每会话、每用户提供临时主机空闲 20 分钟无交互活动即超时需要挂载 Azure 文件共享Bash 与 PowerShell共用同一个文件共享每个用户账户对应一台机器$HOME通过文件共享中的5-GB 镜像持久化Bash 环境下权限按普通 Linux 用户设置。Cloud Shell 的价值在于无需本地安装任何工具打开浏览器即可获得已认证authenticated的 Azure 管理环境非常适合快速验证命令与脚本。Azure CLIAzure CLI 可安装于 Windows、Linux、macOS安装后通过az命令加上子命令即可创建、更新、删除与查看 Azure 资源。文档特别澄清了初学者常见的困惑——Azure PowerShell 与 Azure CLI 的区别Azure PowerShell作为模块附加到 Windows PowerShell 或 PowerShell Core 上运行其他操作系统可用性不一Azure CLI独立的跨平台命令行程序连接 Azure 并执行命令两者语法不同但能力高度重叠。经典对照示例创建虚拟机的 PowerShell 命令是New-AzVM而 Azure CLI 对应命令是az vm create。总结如下工具类型运行平台/宿主典型命令Azure CLI跨平台命令行接口Windows、macOS、Linux可运行于 PowerShell、Cmd、Bash 及其他 Unix Shellaz vm createAzure PowerShell跨平台 PowerShell 模块Windows、macOS、Linux需要 Windows PowerShell 或 PowerShellNew-AzVM选型建议如果环境中无法使用 PowerShell但可以使用cmd或 bash那么Azure CLI 是更合适的选择。核心结论选择正确的工具拥抱自动化本文最核心的 DevOps 启示是Azure 建立在自动化之上。你在门户中执行的每一个操作在底层都会翻译为一段对资源进行读取、创建、修改或删除的代码。因此学习路径建议先在 Portal 中理解服务与功能并观察其 JSON 底层再迁移到 PowerShell / Azure CLI / ARM 模板等自动化手段按环境选型Windows/PowerShell 环境优先 Azure PowerShell非 PowerShell 或追求跨平台一致性则选 Azure CLI快速验证可用 Cloud Shell编写与调试脚本则以 VS Code 为阵地网络先行所有自动化供给都落在虚拟网络、子网、NSG/ASG 与负载均衡这些基础构造之上网络模型的正确规划是自动化环境稳定运行的先决条件。深入仓库继续学习关联文档2022/zh_cn/Days/day33.md本文主题原文另有英文版 2022/Days/day33.md虚拟网络与多 VM 部署模板Mod04_90DaysOfDevOps-vms-loop-template.json 及参数文件 Mod04_90DaysOfDevOps-vms-loop-parameters.json多虚拟网络 NSG 扩展脚本部署Mod06_90DaysOfDevOps-vms-loop-template.jsonPowerShell 自动化示例Module4_90DaysOfDevOps.ps1、Mod06_90DaysOfDevOps.ps1、Mod07_90DaysOfDevOps.ps1、Mod09a_90DaysOfDevOps.ps1下一步本学习计划将把这些理论转化为实战场景在 Azure 中动手创建资源。赞分享文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载相关推荐90DaysOfDevOps 第33天Microsoft Azure 网络模型与 Azure 管理工具实战解析90DaysOfDevOps 第33天Microsoft Azure 网络模型与 Azure 管理工具实战解析 本篇指南基于 90DaysOfDevOps 项文档/教程90DaysOfDevOps 第 33 天Microsoft Azure 网络模型与 Azure 管理工具全解析90DaysOfDevOps 第 33 天Microsoft Azure 网络模型与 Azure 管理工具全解析 本文是 90DaysOfDevOps 挑战中文档/教程90DaysOfDevOps Day 33Microsoft Azure 网络模型与 Azure 管理工具实战指南90DaysOfDevOps Day 33Microsoft Azure 网络模型与 Azure 管理工具实战指南 本文是 90DaysOfDevOps 学习文档/教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

AIWriteX维度化创意变换引擎源码解析:同一素材变身多平台多风格完全指南

AIWriteX维度化创意变换引擎源码解析:同一素材变身多平台多风格完全指南

AIWriteX维度化创意变换引擎源码解析:同一素材变身多平台多风格完全指南 【免费下载链接】AIWriteX AIWriteX - 微信公众号全自动AI工具:全网热搜舆情聚合趋势分析爆款选题文章采集一键生成排版发布 | AI自动配图 | 去AI味、过朱雀检测 | 支持小红书/百家…

2026/10/9 0:04:52 阅读更多 →
AI Skills技能包实战:从提示词到标准化大模型能力封装

AI Skills技能包实战:从提示词到标准化大模型能力封装

开始之前:先说清楚这个"skills"到底是什么如果你最近在技术社区逛,大概率会看到一堆人在聊"skills"。这个标签底下,说的不是求职简历上写的那些技能,而是2025年AI Agent圈子里最火的一种能力封装方式——Skil…

2026/10/9 0:03:52 阅读更多 →
MiniMax M3.1 Flash本地部署实战:从跑分到显存优化全攻略

MiniMax M3.1 Flash本地部署实战:从跑分到显存优化全攻略

最近AI圈子最热闹的一件事,就是MiniMax M3.1 Flash发布。说实话,Opus 5.5刷屏那阵,大家讨论的都是贵有贵的道理,旗舰能力确实摆在那;但M3.1 Flash出来之后,很多人的第一反应是:那些绝活&#xf…

2026/10/9 0:03:52 阅读更多 →

最新新闻

飞桨模型库社区临床模型 emilyalsentzer/Bio_Discharge_Summary_BERT 的获取与加载指南

飞桨模型库社区临床模型 emilyalsentzer/Bio_Discharge_Summary_BERT 的获取与加载指南

人工智能深度学习计算机视觉NLP语音 【免费下载链接】models Officially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on. 项目地址: https://gitcode.com/gh_mirrors/mo/models 点击查看 免费下载 本文围绕飞…

2026/10/9 1:49:14 阅读更多 →
PaddleNLP 社区模型 biobert_chemical_ner:化学命名实体识别模型下载与使用完整指南

PaddleNLP 社区模型 biobert_chemical_ner:化学命名实体识别模型下载与使用完整指南

人工智能深度学习计算机视觉NLP语音 【免费下载链接】models Officially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on. 项目地址: https://gitcode.com/gh_mirrors/mo/models 点击查看 免费下载 本文以飞桨…

2026/10/9 1:49:14 阅读更多 →
2026文献翻译工具实测复盘:TaoToken统一Key接入10款主流翻译器,研究生选哪个不踩坑?

2026文献翻译工具实测复盘:TaoToken统一Key接入10款主流翻译器,研究生选哪个不踩坑?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 1:49:14 阅读更多 →
智能合约成熟度评估报告实战解读:以 Code Maturity Assessor 9 类框架与 EXAMPLE_REPORT 为模板

智能合约成熟度评估报告实战解读:以 Code Maturity Assessor 9 类框架与 EXAMPLE_REPORT 为模板

AI 技能AI 插件应用安全网络安全AI 评测 【免费下载链接】skills Trail of Bits Claude Code skills for security research, vulnerability detection, and audit workflows 项目地址: https://gitcode.com/gh_mirrors/skills8/skills 点击查看 免费下载 导读 本…

2026/10/9 1:49:13 阅读更多 →
HoRain云--Hermes Agent 记忆系统:把 settings 改到 TaoToken 的配置与验证

HoRain云--Hermes Agent 记忆系统:把 settings 改到 TaoToken 的配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 1:49:13 阅读更多 →
使用 LLM 为 ProxySQL 编写高质量增强版发布说明(Enhanced Release Notes)实战指南

使用 LLM 为 ProxySQL 编写高质量增强版发布说明(Enhanced Release Notes)实战指南

后端数据库负载均衡 【免费下载链接】proxysql High-performance proxy for MySQL and PostgreSQL 项目地址: https://gitcode.com/gh_mirrors/pr/proxysql 点击查看 免费下载 本文档是 ProxySQL 仓库中发布说明生成工作流的核心提示词模板 —— enhanced_prompt_t…

2026/10/9 1:48:13 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →