本指南通过Azure网络设计指南为采用平台即服务(PaaS)服务、容器和托管数据库的客户提供了有序阅读路径。 按照编号步骤生成支持新式应用程序体系结构的多区域安全分层网络。
Overview
迁移和现代化项目已超越虚拟机,迈向 Azure 原生服务:用于容器的 Azure Kubernetes 服务 (AKS)、用于 Web 应用程序的 Azure 应用服务、用于托管数据的 Azure SQL 数据库 和 Azure Cosmos DB,以及用于全局流量分发的 Azure Front Door。 网络必须支持与这些 PaaS 服务、多区域主动-主动部署的专用连接,以及应用程序层之间的严格安全分段。
目标体系结构使用跨越两个Azure区域的双中心拓扑。 IT 托管中心 VNet 托管共享服务,例如Azure 防火墙和VPN 网关。 应用团队拥有各自的辐射型 VNet,并控制各自用于 PaaS 连接的 专用链接 子网。 流量通过 Azure Front Door 或 Azure 流量管理器 进入,经过中心防火墙检查后,到达运行在隔离的辐射网络中的应用服务。
此阅读路径将介绍五个阶段中的 14 篇基本文章。 这条路径比直接迁移耗时更长,因为现代架构需要就流量入口模式、私有 PaaS 连接、Web 应用程序防火墙以及 DDoS 防护作出决策,而这些决策在仅采用 IaaS 的设计中可以暂缓。 如果工作负荷不需要所有组件,两个里程碑检查点可帮助你确定何时可以跳过。
先决条件
- 阅读Azure 网络规划和设计概述,了解可用的服务。
- 了解应用程序面向哪些 PaaS 服务(AKS、应用服务、Azure SQL、Azure Cosmos DB或其他服务)。
- 确定你的部署是否跨多个 Azure 区域(主动-主动或主动-被动)。
- 确定入口模式:应用程序是否为公共 Web 流量、移动 API 流量或仅限内部流量提供服务?
阅读路径
阶段 1:基础
1. 虚拟网络和子网
为 AKS 节点池子网、应用服务环境(ASE)委托子网和专用链接子网合理规划子网大小。 使用 AKS 容器网络接口(CNI)叠加网络时,Pod IP 地址来自独立的叠加 CIDR,并且不会占用 VNet 子网地址空间。 只有节点 IP 需要子网地址。 规划覆盖网络 CIDR 范围,以满足 Pod 扩展规模需求,并为每种服务类型分配专用子网。
2. IP 地址规划
为跨两个区域的主动-主动部署规划 IP 地址分配。 主区域和备份区域需要支持 VNet 对等互连和跨区域复制的非重叠地址空间。 分配足够大的地址范围,以便容纳未来新增的辐射分支。
设计严格的分段,以便只有负载均衡器流量到达应用程序子网。 阻止对应用程序层的直接 Internet 访问。 使用应用程序安全组(ASG)根据工作负荷角色而不是单个 IP 地址应用规则。
阶段 2:拓扑
4. 轮辐式拓扑
为多区域部署双枢纽拓扑。 IT 订阅包含两个中心虚拟网络,并管理共享服务,例如 Azure 防火墙、VPN 网关 和 DNS 转发器。 应用程序团队拥有其辐射 VNet,并在分配的地址空间中管理专用链接子网、AKS 群集和应用程序资源。
5. 多区域网络
设计跨主区域与备份区域的双活部署。 在各中心之间配置跨区域 VNet 对等互连,设置故障转移路由,并为单一区域故障场景做好规划。 这两个区域同时处理流量,Azure Front Door 根据延迟和运行状况探测结果分配请求。
注释
里程碑:拓扑完成。 您的双中心多区域拓扑已部署完成。 如果应用程序是仅限内部且没有面向 Internet 的终结点,则可以跳到步骤 9(出站 Internet 访问),并从那里继续操作。
跳过的内容: 步骤 6-8 涵盖 Internet 入口、应用程序交付和性能以及 PaaS 专用访问。 如果工作负荷没有面向公众的终结点,并且没有专用链接要求,则跳过是安全的。
重要: 即使是仅供内部使用的应用程序,如果它们通过专用终结点连接到 Azure SQL、Azure 存储、Azure 密钥保管库 或其他 PaaS 服务,通常也需要 Azure 专用链接(步骤 8)。 如果应用程序使用上述任何服务,请在跳过到步骤 9 之前完成步骤 8。
剩余文章: 跳过后(步骤 9-14)剩余六篇,而未跳过时(步骤 6-14)剩余九篇。
阶段 3:连接
6. Internet 入口
面向客户的流量模式决定了体系结构的外部形状。 对需要全局负载均衡、缓存和Web 应用程序防火墙(WAF)的 Web 应用程序使用Azure Front Door。 对于移动应用或 API 应用,如果基于 DNS 且带有运行状况探测的路由已足够,则可使用 Azure 流量管理器。
7. 应用程序交付和性能
根据应用程序类型在Azure Front Door和Azure 流量管理器之间进行选择。 Web 应用程序受益于 Front Door 的第 7 层功能:TLS 卸载、缓存、基于 URL 的路由和集成的 WAF。 移动后端和 API 后端使用流量管理器进行 DNS 级别的故障转移,总体开销更低。
8. PaaS 专用访问
在每个辐射型 VNet 中创建 专用链接 子网,用于连接 PaaS 服务。 应用程序团队管理自己的专用终端节点:AKS 通过专用链接拉取容器映像,Web 应用程序通过专用终端节点连接到 Azure SQL,并且没有任何 PaaS 流量经过公共互联网。 为专用链接资源指定每个分支的子网。
注释
里程碑:连接完成。 已配置入口和专用 PaaS 连接。
剩余步骤:出站出口(步骤 9)、Azure 防火墙(步骤 10)、Web 应用程序防火墙(步骤 11)、DDoS 保护(步骤 12)、DNS 安全性(步骤 13)和网络监视(步骤 14),共 6 篇文章。
对所有部署至关重要:步骤 9-10(出站出口和Azure 防火墙)适用于每个现代化部署。 你的中心防火墙控制所有出站流量,并提供集中检查,无论你的工作负载是对外公开的还是仅限内部使用的。
仅公共终结点:仅当应用程序通过Azure Front Door、应用程序网关或公共负载均衡器公开面向公众的终结点时,才应用步骤 11-12(WAF 和 DDoS 保护)。 仅内部使用的工作负载可以跳过这两篇文章,直接继续执行步骤 13(DNS 安全)。
9. 出站互联网访问
使用 User-Defined 路由(UDR)将所有辐射出站流量路由到中心防火墙。 中心防火墙充当所有出口的源网络地址转换(SNAT)点。 IT 集中管理防火墙规则,因此应用程序团队无法绕过出站控制。
阶段 4:安全性
10. Azure 防火墙
将中心 VNet 中的Azure 防火墙配置为 SNAT 和目标网络地址转换 (DNAT) 点。 所有入口流量在到达应用程序层之前通过防火墙。 使用防火墙策略控制辐射网络之间的东西向流量以及到互联网的南北向流量。
11. Web 应用程序防火墙
在 Web 应用程序的Azure Front Door或Azure 应用程序网关上部署 WAF。 WAF 可防范 Open Web Application Security Project (OWASP) 前 10 种威胁、SQL 注入、跨站点脚本和其他 HTTP 层攻击。 使用托管规则集并为应用程序的特定模式添加自定义规则。
12. DDoS 防护
为所有公共 IP 资源启用 Azure DDoS 防护。 DDoS 防护提供始终开启的流量监视、自动攻击缓解和成本保护保证。 将 DDoS 防护与 WAF 组合在一起,针对卷和应用程序层攻击进行分层防御。
13. DNS 安全性和专用名称解析
为面向客户的域名配置公共 DNS 区域,并将 CNAME 记录指向 Azure Front Door 或流量管理器终结点。 将 Role-Based 访问控制(RBAC)应用于 DNS 区域,以便只有授权的团队才能修改记录。 为需要加密验证的区域启用 DNS 安全扩展插件(DNSSEC)。
阶段 5:操作
14. 网络监视和可观测性
生产就绪情况需要从第一天进行监视。 启用 Azure 网络观察程序进行连接诊断,启用网络性能监视器进行延迟跟踪,并启用流日志进行流量分析。 应用程序团队监视自己的 AKS 和 ASE 工作负载。 平台团队监视中心基础结构和跨区域连接。
条件文章
根据具体要求包括以下文章:
| 条件 | 文章 | 何时应包含 |
|---|---|---|
| 混合共存 | 混合连接 | 在过渡期间,现代化应用程序必须与本地系统共存 |
| 需要 VM 管理员访问权限 | 开发人员和管理员访问权限 | 您的环境中既包含需要安全 RDP/SSH 访问的虚拟机,也包含 PaaS 工作负载 |
| 大型受治理环境 | 集中式网络管理 | 你负责管理一个多订阅、多团队的 VNet 环境,并且需要集中实施策略 |
| 跨云 | 跨区域和多云连接 | 您的架构需要超出多区域网络所提供范围的明确跨区域私有连接 |
| 非常小的工作负荷 | 平面网络拓扑 | 你只有一个单个工作负载,不足以支撑采用中心辐射拓扑的复杂性 |
总结
按照此阅读路径,为 PaaS 工作负载设计了多区域安全分层网络体系结构。 你的设计方案包括双枢纽拓扑和由 IT 托管的共享服务、使用 Azure Front Door 或 Azure 流量管理器 的跨区域主动-主动部署、用于 PaaS 服务的 专用链接 连接、对所有流量进行集中式防火墙检查、针对公共终结点的 WAF 和 DDoS 保护,以及结合 RBAC 和 DNSSEC 的 DNS。 此体系结构支持新式应用程序模式,同时维护集中式安全治理。
验证清单
使用此清单确认现代化网络设计已完成:
- 跨主区域和备份区域部署的双中心拓扑。
- 为各区域和未来的辐射网络分配的非重叠地址空间。
- 如果你的工作负载对公网开放,请将 Azure Front Door 或 Azure 流量管理器 配置为全局入口。
- 在每个托管 PaaS 依赖项的辐射 VNet 中预配的 专用链接 子网。
- 用户定义的路由将辐射网络的出站流量经由中心网络防火墙转发。
- Azure 防火墙部署在两个中心 VNet 中,用于入口、东西部和出站检查。
- 应用于公共 Web 终结点的 WAF 策略(如果适用)。
- 在公共 IP 资源上启用 DDoS 防护(如果适用)。
- 为专用终结点配置的 DNS 区域和专用 DNS 解析。
- 已启用网络观察程序、流日志和跨区域连接监视。
后续步骤
- 原位迁移网络路径:如果您还有需要采用更简单迁移路径的 IaaS 工作负载
- 跨云网络路径:如果你的环境连接到 Amazon Web Services (AWS) 或 Google Cloud
- 设计阶段一目了然:Azure 网络设计的通用分阶段摘要
- Azure 网络规划和设计概述:按功能浏览所有可用服务