你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
此参考体系结构显示了一个安全混合网络,可将本地网络扩展到Azure。 该体系结构实现本地网络与Azure虚拟网络之间的 perimeter network(也称为 DMZ)。 所有入站和出站流量都通过Azure 防火墙。
体系结构
下载此架构的 Visio 文件
组件
该体系结构包括以下几个方面:
本地网络。 组织中实现的专用局域网。
Azure虚拟网络。 虚拟网络托管Azure中运行的解决方案组件和其他资源。
虚拟网络路由定义Azure虚拟网络中的 IP 流量流。 在此体系结构中,有两个用户定义的路由表,这两个表都通过Azure 防火墙实例路由流量。 其中一个路由表与中心网络的网关子网关联,另一个路由表与分支网络中的子网关联。
注意
根据 VPN 连接的要求,可以配置边界网关协议 (BGP) 路由,来实现通过本地网络定向返回流量的转发规则。
网关。 网关在本地网络中的路由器与虚拟网络之间提供连接。 网关位于其自己的子网中。
Azure 防火墙。 Azure 防火墙 是作为服务的托管防火墙。 防火墙实例位于其自己的子网中。
网络安全组。 使用安全组来限制虚拟网络内的网络流量。
虚拟机规模集。 虚拟机规模集在辐射虚拟网络中提供计算层。 规模集在内部负载均衡器后面部署和管理一组相同的 VM,并支持自动缩放以满足需求。
Azure Bastion。 Azure Bastion提供对虚拟机规模集实例的安全 SSH 和 RDP 访问,而无需将其公开到 Internet。 使用 Bastion 管理虚拟网络中的实例。
Bastion 需要一个名为 AzureBastionSubnet 的专用子网。
可能的用例
此体系结构需要使用 VPN 网关或 ExpressRoute 连接 连接到本地数据中心。 此体系结构的典型用途包括:
- Azure 平台支持的混合应用程序,其中的工作负荷部分在本地运行,部分在 Azure 上运行。
- 需要对从本地数据中心进入Azure虚拟网络的流量进行精细控制的基础结构。
- 必须审核传出流量的应用程序。 审核通常是许多商业系统的监管要求,可以帮助防止公开披露私有信息。
建议
以下建议适用于大多数方案。 除非有优先于这些建议的特定要求,否则请遵循这些建议。
访问控制建议
使用 Azure 基于角色的访问控制(Azure RBAC)来管理应用程序中的资源。 考虑创建以下自定义角色:
具有管理应用程序基础结构、部署应用程序组件和管理虚拟机规模集操作(例如缩放、重新映像和升级)的权限的 DevOps 角色。
一个集中式 IT 管理员角色,用于管理和监视网络资源。
一个安全性 IT 管理员角色,用于管理安全网络资源,如防火墙。
集中式 IT 管理员角色不应有权访问防火墙资源。 限制对安全 IT 管理员角色的访问。
资源组推荐
Azure虚拟机规模集、虚拟网络和负载均衡器等资源可以通过将它们组合到资源组中来管理。 将Azure角色分配给每个资源组以限制访问。
建议创建以下资源组:
- 包含虚拟网络(不包括计算资源)、NSG 和用于连接到本地网络的网关资源的资源组。 将集中式 IT 管理员角色分配给此资源组。
- 一个资源组,其中包含Azure 防火墙实例的资源和网关子网的用户定义路由。 将安全性 IT 管理员角色分配给此资源组。
- 每个辐射虚拟网络都有单独的资源组,包含负载均衡器和虚拟机规模集。
网络建议
在此体系结构中,本地网络、Internet 和分支虚拟网络之间的所有入站和出站流量都通过 Azure 防火墙传递。 跨外围的每个流都会在防火墙上进行网络地址转换,因此防火墙的 IP 地址(而不是工作负荷)是外部系统和本地系统观察到的。 为以下行为做好规划:
在防火墙的公共 IP 地址(而不是工作负荷的 IP 地址)上可以访问已发布的工作负荷。 在防火墙上发布具有 目标网络地址转换(DNAT) 规则的后端。 目标地址是防火墙的公共 IP 地址;转换后的地址是虚拟网络中的专用 IP 地址。
出站流离开边界,源自防火墙的某个公共 IP 地址。 Azure 防火墙 会随机选择附加的公共 IP 用于每个出站流,因此合作伙伴白名单、本地防火墙规则和审核日志需要涵盖附加到防火墙的所有 IP 地址。 使用 公共 IP 地址前缀 来表示设置为连续范围。
附加到防火墙的公共 IP 地址数量也决定了在源网络地址转换 (SNAT) 端口耗尽之前可以维持多少并发出站连接。
后端看不到原始客户端的 IP 地址。 Azure 防火墙还对与 DNAT 规则匹配的数据包应用 SNAT,因此返回流量流回同一防火墙实例。 后端将防火墙实例的 IP 地址观察为源。
如果应用程序需要客户端的 IP 地址,请在反向代理(如 Azure 应用程序网关 或 Azure Front Door)中终止客户端连接,在
X-Forwarded-ForHTTP 标头中转发客户端的 IP 地址,并遵循 保留原始 HTTP 主机名以便后端继续观察客户端的主机名。
使用站点到站点 VPN 隧道将所有出站 Internet 流量强制隧道传输通过你的本地网络。 本地边缘设备代表 Azure 工作负载执行到 Internet 的 SNAT,这将出站流路由通过你现有的本地出口控制和审核管道。 该设计可以防止任何机密信息的意外泄漏,并允许检查和审核所有传出流量。
不要完全阻止来自分支网络子网中的资源的 Internet 流量。 阻止流量将阻止这些资源使用依赖于公共 IP 地址的 Azure PaaS 服务,例如诊断日志记录、预配虚拟机扩展及其依赖项以及其他平台功能。 Azure诊断还要求组件可以读取和写入Azure 存储帐户。
验证出站互联网流量是否通过隧道强制传输。 如果在本地服务器上使用 VPN 连接与路由和远程访问服务,请使用 WireShark 等工具。
请考虑使用应用程序网关或Azure Front Door进行 SSL 终止。
注意事项
这些注意事项实现Azure Well-Architected框架的支柱,这是一组指导原则,可用于提高工作负荷的质量。 有关详细信息,请参阅 Microsoft Azure Well-Architected Framework。
可靠性
可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅 可靠性设计评审清单。
如果要使用 Azure ExpressRoute 在虚拟网络与本地网络之间提供连接,请配置 VPN 网关以提供故障转移(在 ExpressRoute 连接变为不可用状态时)。
有关维护 VPN 和 ExpressRoute 连接的可用性的信息,请参阅以下部分的可用性注意事项:
- 使用Azure和本地 VPN 实施混合网络体系结构
使用 Azure ExpressRoute
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅 安全设计评审清单。
此参考体系结构实现多个安全级别。
通过Azure 防火墙路由所有本地用户请求
网关子网中用户定义的路由阻止所有用户请求,除了来自本地环境的请求。 路由将允许的请求传递给防火墙。 如果防火墙规则允许,请求会传递到分支虚拟网络中的资源。 可以添加其他路由,但请确保它们不会无意中绕过防火墙或阻止以管理子网为目标的管理流量。
使用 NSG 阻止流量或将流量传递到辐射虚拟网络子网
使用 NSG 限制进出辐射虚拟网络中资源子网的流量。 如果要求扩展 NSG 规则以允许对这些资源进行更广泛的访问,请针对安全风险权衡这些要求。 每个新入站通道都表示可能会发生意外或有意的数据泄露或应用程序损坏。
DDoS 防护
Azure DDoS 防护与应用程序设计最佳做法相结合,针对 DDoS 攻击提供增强的缓解措施。 在任何外围虚拟网络上启用 Azure DDoS 防护。
使用 AVNM 创建基线安全管理员规则
AVNM 让你可以创建安全规则基线,这些规则优先于网络安全组规则。 安全管理规则在 NSG 规则之前进行评估,具有与 NSG 相同的性质,支持优先级、服务标记和 L3-L4 协议。 通过 AVNM,中央 IT 部门可以强制实施安全规则基线,同时允许辐射虚拟网络所有者制定的其他 NSG 规则独立存在。 为了促进安全规则更改的可控推出,AVNM 的部署功能可让你安全地将这些配置的重大更改发布到中心辐射型环境。
DevOps 访问权限
使用 Azure RBAC限制 DevOps 可以在每个层上执行的操作。 授予权限时,请使用最低特权原则。 记录所有管理操作并执行定期审核,确保所有配置更改按计划进行。
成本优化
成本优化是研究减少不必要的开支和提高运营效率的方法。 有关详细信息,请参阅 成本优化的设计评审清单。
将Azure 定价计算器中的此预配置估算用作起点,以估算您的场景所需的成本。 它包含本文中介绍的网络组件以及示例 VM。
下面是有关此体系结构中所使用服务的成本注意事项。
Azure 防火墙
在此体系结构中,Azure 防火墙部署在虚拟网络中,用于控制辐射虚拟网络中网关的子网与资源之间的流量。 将Azure 防火墙用作跨多个工作负荷的共享解决方案有助于减少重复的基础结构。 下面是Azure 防火墙定价模型:
- 固定费率/部署小时。
- 每 GB 处理的数据(用于支持自动缩放)。
与网络虚拟设备(NVA)相比,Azure 防火墙最多可节省 30-50%。 有关详细信息,请参阅 Azure 防火墙 vs NVA。
Azure Bastion
Azure Bastion无需实例上的公共 IP 即可通过 RDP 和 SSH 安全地连接到虚拟机规模集实例。
Bastion 计费与配置为 jumpbox 的基本低级别虚拟机相当。 Bastion 比跳转盒的性价比更高,因为它具有内置安全功能,并且不会产生额外的存储和管理单独的服务器费用。
Azure 虚拟网络
Azure 虚拟网络是免费的。 允许每个订阅在所有区域中最多创建 1,000 个虚拟网络。 在虚拟网络边界内产生的所有流量都是免费的。 例如,从内部负载均衡器到虚拟机规模集实例的流量不会产生网络流量费用。
内部负载均衡器
在此体系结构中,内部负载均衡器用于将流量分发到虚拟网络中的虚拟机规模集实例。 虚拟机规模集需要使用标准负载均衡器。
卓越运营
卓越运营涵盖部署应用程序并使其在生产环境中运行的运营流程。 有关详细信息,请参阅 卓越运营的设计评审清单。
如果从本地网络到Azure的网关连接已关闭,仍可以使用Azure Bastion访问Azure虚拟网络中的资源进行故障排除。 由于虚拟机规模集实例是短暂存在的,因此对于日常运维,应依靠通过 Azure Monitor 和 启动诊断 实现的集中式日志记录和监视,而不是依赖交互式远程会话。
参考体系结构中每个层的子网都受 NSG 规则保护。 管理和监视工具可能需要规则才能打开其他端口。
如果使用 ExpressRoute 在本地数据中心和 Azure之间提供连接,请使用 Azure Connectivity Toolkit (AzureCT)监视和排查连接问题。
有关监视和管理 VPN 和 ExpressRoute 连接的其他信息,请参阅使用 Azure 和本地 VPN 实现混合网络体系结构。
性能效率
性能效率是指您的工作负载具有高效扩展的能力,以满足用户对其提出的需求。 有关详细信息,请参阅性能效率设计评审核对清单。
辐射网络中的虚拟机规模集支持自动缩放。 根据 CPU 使用率或请求计数等指标配置 自动缩放规则 ,以便在响应需求时添加或删除实例。 选择 一个业务流程模式和升级策略 ,该策略与工作负荷在更新期间中断的容忍度相匹配。
有关VPN 网关带宽限制的详细信息,请参阅 Gateway SKU。 对于更高带宽,请考虑升级到 ExpressRoute 网关。 ExpressRoute 提供最多 10 Gbps 的带宽,且延迟低于 VPN 连接。
有关Azure网关可伸缩性的详细信息,请参阅以下部分中的可伸缩性注意事项部分:
- 使用Azure和本地 VPN 实施混合网络体系结构
使用 Azure ExpressRoute
有关大规模管理虚拟网络和 NSG 的详细信息,请参阅 Azure Virtual Network Manager (AVNM):创建安全中心辐射型网络,以创建新的(并载入现有的)中心辐射型虚拟网络拓扑,用于集中管理连接和 NSG 规则。