此参考体系结构显示了一个可将本地网络扩展到 Azure 的安全混合网络。 此体系结构在本地网络与 Azure 虚拟网络之间实现一个外围网络(也称为 DMZ)。 所有入站和出站流量均通过 Azure 防火墙。
体系结构
下载此体系结构的 Visio 文件。
组件
该体系结构包括以下几个方面:
本地网络。 组织中实现的专用局域网。
Azure 虚拟网络。 虚拟网络承载在 Azure 中运行的解决方案组件和其他资源。
虚拟网络路由定义 Azure 虚拟网络中的 IP 流量流。 在图中,有两个由用户定义的路由表。
在网关子网中,流量通过 Azure 防火墙实例路由。
注意
根据 VPN 连接的要求,可以配置边界网关协议 (BGP) 路由,来实现通过本地网络定向返回流量的转发规则。
网关。 网关在本地网络中的路由器与虚拟网络之间提供连接。 网关位于其自己的子网中。
Azure 防火墙。 Azure 防火墙是一种托管防火墙即服务。 防火墙实例位于其自己的子网中。
网络安全组。 使用安全组来限制虚拟网络内的网络流量。
Azure Bastion。 Azure Bastion 让你可以通过 SSH 或远程桌面协议 (RDP) 登录到虚拟网络中的虚拟机 (VM),而无需直接向 Internet 公开 VM。 使用 Bastion 管理虚拟网络中的 VM。
Bastion 需要一个名为 AzureBastionSubnet 的专用子网。
可能的用例
此体系结构需要使用 VPN 网关或 ExpressRoute 连接连接到本地数据中心。 此体系结构的典型用途包括:
- 在本地运行一部分工作负荷,在 Azure 中运行一部分工作负荷的混合应用程序。
- 需要精细控制从本地数据中心进入 Azure 虚拟网络的流量的基础结构。
- 必须审核传出流量的应用程序。 审核通常是许多商业系统的监管要求,可以帮助防止公开披露私有信息。
建议
以下建议适用于大多数方案。 除非有优先于这些建议的特定要求,否则请遵循这些建议。
访问控制建议
使用 Azure 基于角色的访问控制 (Azure RBAC) 来管理应用程序中的资源。 考虑创建以下自定义角色:
一个 DevOps 角色,具有管理应用程序的基础结构、部署应用程序组件以及监视和重新启动 VM 的权限。
一个集中式 IT 管理员角色,用于管理和监视网络资源。
一个安全性 IT 管理员角色,用于管理安全网络资源,如防火墙。
IT 管理员角色不应具有防火墙资源的访问权限。 访问权限应限制为安全性 IT 管理员角色。
有关资源组的建议
可以通过将 Azure 资源(如 VM、虚拟网络和负载均衡器)分组到资源组中,来轻松地管理它们。 将 Azure 角色分配给每个资源组以限制访问。
建议创建以下资源组:
- 一个包含虚拟网络(不包括 VM)、NSG 以及用于连接到本地网络的网关资源的资源组。 将集中式 IT 管理员角色分配给此资源组。
- 一个包含 Azure 防火墙实例的 VM 和网关子网的用户定义路由的资源组。 将安全性 IT 管理员角色分配给此资源组。
- 为包含负载平衡器和 VM 的每个辐射虚拟网络设置单独资源组。
网络建议
若要接受来自 Internet 的入站流量,请将目标网络地址转换 (DNAT) 规则添加到 Azure 防火墙。
- 目标地址 = 防火墙实例的公共 IP 地址。
- 已转换的地址 = 虚拟网络中的专用 IP 地址。
使用站点到站点 VPN 隧道通过本地网络强制隧道传递所有出站 Internet 流量,并使用网络地址转换 (NAT) 路由到 Internet。 该设计可以防止任何机密信息的意外泄漏,并允许检查和审核所有传出流量。
不要完全阻止来自分支网络子网中的资源的 Internet 流量。 阻止流量会阻止这些资源使用依赖于公共 IP 地址的 Azure PaaS 服务(如 VM 诊断日志记录、VM 扩展的下澡和其他功能)。 Azure 诊断还要求组件可以读取和写入 Azure 存储帐户。
验证出站 Internet 流量是否正确地强制隧道传递。 如果在本地服务器上使用 VPN 连接与路由和远程访问服务,请使用 WireShark 等工具。
请考虑使用应用程序网关或 Azure Front Door 进行 SSL 终止。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
性能效率
性能效率是指工作负荷能够以高效的方式扩展以满足用户对它的需求。 有关详细信息,请参阅性能效率要素概述。
有关 VPN 网关带宽限制的详细信息,请参阅网关 SKU。 对于更高带宽,请考虑升级到 ExpressRoute 网关。 ExpressRoute 提供最多 10 Gbps 的带宽,且延迟低于 VPN 连接。
有关 Azure 网关可伸缩性的详细信息,请参阅以下部分中的可伸缩性注意事项部分:
有关大规模管理虚拟网络和 NSG 的详细信息,请参阅 Azure Virtual Network Manager (AVNM):创建安全的中心辐射型网络以创建新的(并载入现有的)中心辐射型虚拟网络拓扑,以便集中管理连接和 NSG 规则。
可靠性
可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性支柱概述。
如果要使用 Azure ExpressRoute 在虚拟网络与本地网络之间提供连接,请配置 VPN 网关以提供故障转移(在 ExpressRoute 连接变为不可用状态时)。
有关维护 VPN 和 ExpressRoute 连接的可用性的信息,请参阅以下部分的可用性注意事项:
卓越运营
卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅卓越运营支柱概述。
如果从本地网络到 Azure 的网关连接已关闭,仍可通过 Azure Bastion 访问 Azure 虚拟网络中的 VM。
参考体系结构中每个层的子网都受 NSG 规则保护。 可能需要创建一个规则以打开用于在 Windows VM 上进行远程桌面协议 (RDP) 访问的端口 3389,或是用于在 Linux VM 上进行安全外壳 (SSH) 访问的端口 22。 其他管理和监视工具可能需要规则打开其他端口。
如果要使用 ExpressRoute 在本地数据中心与 Azure 之间提供连接,请使用 Azure 连接 工具包 (AzureCT) 监视和解决连接问题.
可以在文章使用 Azure 和本地 VPN 实现混合网络体系结构中找到关于监视和管理 VPN 和 ExpressRoute 连接的其他信息。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述。
此参考体系结构实现多个安全级别。
通过 Azure 防火墙路由所有本地用户请求
网关子网中用户定义的路由阻止从本地接收的请求之外的所有用户请求。 路由将允许的请求传递给防火墙。 如果防火墙规则允许,请求会传递到分支虚拟网络中的资源。 可以添加其他路由,但请确保它们不会无意中绕过防火墙或阻止以管理子网为目标的管理流量。
使用 NSG 阻止流量或将流量传递到辐射虚拟网络子网
使用 NSG 限制进出辐射虚拟网络中资源子网的流量。 如果要求扩展 NSG 规则以允许对这些资源进行更广泛的访问,请针对安全风险权衡这些要求。 每个新入站通道都表示可能会发生意外或有意的数据泄露或应用程序损坏。
DDOS 保护
Azure DDoS 防护与应用程序设计最佳做法相结合,提供增强的 DDoS 缓解功能来更全面地防御 DDoS 攻击。 应在任何外围虚拟网络上启用 Azure DDOS 防护。
使用 AVNM 创建基线安全管理员规则
AVNM 让你可以创建安全规则基线,这些规则优先于网络安全组规则。 安全管理规则在 NSG 规则之前进行评估,具有与 NSG 相同的性质,支持优先级、服务标记和 L3-L4 协议。 通过 AVNM,中央 IT 部门可以强制实施安全规则基线,同时允许辐射虚拟网络所有者制定的其他 NSG 规则独立存在。 为了促进安全规则更改的可控推出,AVNM 的部署功能可让你安全地将这些配置的重大更改发布到中心辐射型环境。
DevOps 访问权限
使用 Azure RBAC 可限制 DevOps 可以在每个层执行的操作。 授予权限时,请使用最低特权原则。 记录所有管理操作并执行定期审核,确保所有配置更改按计划进行。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。
使用 Azure 定价计算器估算成本。 Microsoft Azure 架构良好的框架的“成本优化”部分描述了其他注意事项。
下面是有关此体系结构中所使用服务的成本注意事项。
Azure 防火墙
在此体系结构中,Azure 防火墙部署在虚拟网络中,用于控制辐射虚拟网络中网关的子网与资源之间的流量。 这使 Azure 防火墙变得经济高效,因为多个工作负荷可以共用这一个解决方案。 下面是 Azure 防火墙的定价模型:
- 固定费率/部署小时。
- 每 GB 处理的数据(用于支持自动缩放)。
与网络虚拟设备 (NVA) 相比,使用 Azure 防火墙最多可以节省 30-50%。 有关详细信息,请参阅 Azure 防火墙与 NVA。
Azure Bastion
Azure Bastion 通过 RDP 和 SSH 安全地连接到虚拟机,而无需在虚拟机上配置公共 IP。
Bastion 计费与配置为 jumpbox 的基本低级别虚拟机相当。 Bastion 比跳转盒的性价比更高,因为它具有内置安全功能,并且不会产生额外的存储和管理单独的服务器费用。
Azure 虚拟网络
Azure 虚拟网络是免费的。 允许每个订阅在所有区域中最多创建 1,000 个虚拟网络。 在虚拟网络边界内产生的所有流量都是免费的。 例如,同一虚拟网络中相互通信的 VM 不会产生网络流量费用。
内部负载均衡器
位于同一虚拟网络中的虚拟机之间的基本负载均衡是免费的。
在此体系结构中,内部负载均衡器用于对虚拟网络内部的流量进行负载均衡。
部署此方案
此部署创建两个资源组:第一个包含模拟本地网络,第二个是一组中心辐射型网络。 模拟本地网络和中心网络使用 Azure 虚拟网络网关进行连接,形成站点到站点连接。 此配置与将本地数据中心连接到 Azure 的方式非常相似。
部署过程可能需要 45 分钟才能完成。 建议的部署方法是使用下面找到的门户选项。
使用以下按钮,通过 Azure 门户部署引用。
部署完成后,查看新建的连接资源来验证站点到站点连接。 在 Azure 门户中,搜索“连接”并注意每个连接的状态。
可以从位于本地模拟网络的虚拟机访问辐射网络中发现的 IIS 实例。 使用已包含的 Azure Bastion 主机创建与虚拟机的连接,打开 Web 浏览器,并导航到应用程序网络负载均衡器的地址。
有关详细信息和其他部署选项,请参阅用于部署此解决方案的 Azure 资源管理器模板(ARM 模板):安全混合网络。