此参考体系结构演示如何通过使用 Azure ExpressRoute 以及用作故障转移连接的站点到站点虚拟专用网络 (VPN),将本地网络连接到 Azure 虚拟网络。
体系结构
下载此体系结构的 Visio 文件。
工作流
该体系结构包括以下组件。
本地网络。 组织中运行的专用局域网。
Azure 虚拟网络。 每个虚拟网络驻留在单个 Azure 区域中,可以托管多个应用程序层。 可以使用每个虚拟网络中的子网对应用程序层进行分段。
- 网关子网。 虚拟网络网关位于同一子网中。
VPN 设备。 用于与本地网络建立外部连接的设备或服务。 该 VPN 设备可以是硬件设备,也可以是软件解决方案,例如 Windows Server 2012 中的路由和远程访问服务 (RRAS)。 有关受支持 VPN 设备的列表和有关为连接到 Azure 而配置所选 VPN 设备的信息,请参阅关于用于建立站点到站点 VPN 网关连接的 VPN 设备。
ExpressRoute 线路。 连接提供商提供的第 2 层或第 3 层线路,用于通过边缘路由器将本地网络与 Azure 相连接。 该线路使用连接提供商管理的硬件基础结构。
本地边缘路由器。 将本地网络连接到提供商管理的线路的路由器。 根据连接预配方式,可能需要提供路由器使用的公共 IP 地址。
Microsoft Edge 路由器。 主动-主动、高度可用的配置中的两个路由器。 这两个路由器使连接提供商可以将其线路直接连接到其数据中心。 根据连接预配方式,可能需要提供路由器使用的公共 IP 地址。
ExpressRoute 虚拟网络网关。 使用 ExpressRoute 虚拟网络网关,可将 Azure 虚拟网络连接到用于与本地网络建立连接的 ExpressRoute 线路。
VPN 虚拟网络网关。 VPN 虚拟网络网关可让 Azure 虚拟网络连接到本地网络中 VPN 设备。 VPN 虚拟网络网关配置为仅通过 VPN 设备接受来自本地网络的请求。 有关详细信息,请参阅将本地网络连接到 Microsoft Azure 虚拟网络。
VPN 连接。 该连接包含一些属性,这些属性指定连接类型 (IPSec),以及与本地 VPN 设备共享的、用于加密流量的密钥。
Azure 公共服务。 可以在混合应用程序中使用的 Azure 服务。 这些服务也可通过 Internet 使用,但使用 ExpressRoute 线路访问这些服务可提供低延迟和更可预测的性能,因为流量不会通过 Internet。
Microsoft 365 服务。 Microsoft提供的 365 个应用程序和服务的公开发布Microsoft。 连接使用 Microsoft组织拥有的对等互连 和地址,或者由连接提供商提供。 还可以使用Microsoft对等互连直接连接到 Microsoft CRM Online。
连接提供商(未显示)。 使用数据中心与 Azure 数据中心之间的第 2 层或第 3 层连接提供连接的公司。
组件
Azure ExpressRoute。 可以使用 ExpressRoute 通过专用连接将本地网络扩展到 Microsoft 云中,并借助连接提供商。 使用 ExpressRoute,可以建立与 Microsoft 云服务(如 Azure 和 Microsoft 365)的连接。
Azure 虚拟网络。 Azure 虚拟网络是 Azure 中专用网络的基本构建块。 虚拟网络使许多类型的 Azure 资源(如 Azure 虚拟机)能够相互通信、Internet 和具有增强安全性的本地网络。
Azure VPN 网关。 VPN 网关是一个虚拟网络网关,可用于使用站点到站点虚拟专用网络(VPN)连接将本地网络连接到 Azure 虚拟网络。
方案详细信息
此参考体系结构演示如何使用 ExpressRoute 以及用作故障转移连接的站点到站点虚拟专用网络 (VPN),将本地网络连接到 Azure 虚拟网络。 本地网络与 Azure 虚拟网络之间的流量通过 ExpressRoute 连接传送。 如果 ExpressRoute 线路的连接断开,则通过 IPSec VPN 隧道路由流量。 部署此解决方案。
如果 ExpressRoute 线路不可用,VPN 路由仅处理专用对等互连连接。 公共对等互连和 Microsoft 对等互连连接通过 Internet 传递。
建议
以下建议适用于大多数方案。 除非有优先于这些建议的特定要求,否则请遵循这些建议。
连接提供商
为你所在位置选择合适的 ExpressRoute 连接提供商。 若要获取位置可用的连接提供商列表,请使用以下 PowerShell 命令:
Get-AzExpressRouteServiceProvider
ExpressRoute 连接提供商采用以下方式将你的数据中心连接到 Microsoft:
共置于云交换位置。 如果你位于具有云交换的设施中,可以通过共同位置提供商的以太网交换订购到 Azure 的虚拟交叉连接。 共同位置提供商可以提供第 2 层跨连接或托管的第 3 层跨连接,在共同位置设施与 Azure 中的基础结构之间提供。
点到点以太网连接。 可以使用点到点以太网链接将本地数据中心/办公室连接到 Azure。 点到点以太网提供程序可以在站点和 Azure 之间提供第 2 层连接或托管的第 3 层连接。
任意位置之间的 (IPVPN) 网络。 可以将广域网 (WAN) 与 Azure 集成。 Internet 协议虚拟专用网络(IPVPN)提供商提供分支机构和数据中心之间的任意到任意连接。 (IPVPN 通常是多协议标签切换 VPN。Azure 可以与 WAN 互连,使其像任何其他分支机构一样显示。 WAN 提供商通常提供托管的第 3 层连接。
有关连接提供商的详细信息,请参阅 ExpressRoute 简介。
ExpressRoute 线路
可以使用以下步骤创建 ExpressRoute 线路。
运行以下 PowerShell 命令:
New-AzExpressRouteCircuit -Name <circuit-name> -ResourceGroupName <resource-group> -Location <location> -SkuTier <SKU-tier> -SkuFamily <SKU-family> -ServiceProviderName <service-provider-name> -PeeringLocation <peering-location> -BandwidthInMbps <bandwidth-in-Mbps>
将新线路的
ServiceKey
发送给服务提供商。等待提供商预配线路。 若要验证线路的预配状态,请运行以下 PowerShell 命令:
Get-AzExpressRouteCircuit -Name <circuit-name> -ResourceGroupName <resource-group>
Provisioning state
输出部分中的字段Service Provider
从NotProvisioned
线路准备就绪时更改为Provisioned
”注意
如果使用第 3 层连接,提供程序应为你配置和管理路由。 你提供使提供商可以实现相应路由所需的信息。
如果使用第 2 层连接:
为要实现的每种对等互连类型保留由有效公共 IP 地址组成的两个 /30 子网。 这些 /30 子网用于为用于线路的路由器提供 IP 地址。 如果要实现专用和Microsoft对等互连,则需要四个具有有效公共 IP 地址的 /30 子网。
配置 ExpressRoute 线路的路由。 针对专用对等互连和Microsoft对等互连运行以下 PowerShell 命令。 有关详细信息,请参阅创建和修改 ExpressRoute 线路的路由。
Set-AzExpressRouteCircuitPeeringConfig -Name <peering-name> -ExpressRouteCircuit <circuit-name> -PeeringType <peering-type> -PeerASN <peer-ASN> -PrimaryPeerAddressPrefix <primary-peer-address-prefix> -SecondaryPeerAddressPrefix <secondary-peer-address-prefix> -VlanId <vlan-ID> Set-AzExpressRouteCircuit -ExpressRouteCircuit <circuit-name>
保留另一个由有效公共 IP 地址组成的池,以用于 Microsoft 对等互连的网络地址转换 (NAT)。 建议为每个对等互连使用不同的池。 将池指定到连接提供商,以便他们可以为这些范围配置边界网关协议(BGP)播发。
VPN 和 ExpressRoute 网关
如果 Azure 虚拟网络中已有现有的 VPN 虚拟网络网关,则可以创建 ExpressRoute 虚拟网络网关,而无需删除现有的虚拟网络网关。
遵照使用 Azure ExpressRoute 配置混合网络体系结构中的说明建立 ExpressRoute 连接。
按照使用 Azure 和本地 VPN 配置混合网络体系结构中的说明建立 VPN 虚拟网络网关连接。
建立虚拟网络网关连接后,请按照以下步骤测试环境:
- 确保可从本地网络连接到 Azure 虚拟网络。
- 联系提供商停止 ExpressRoute 连接,以进行测试。
- 验证是否仍可使用 VPN 虚拟网络网关连接从本地网络连接到 Azure 虚拟网络。
- 联系提供商重新建立 ExpressRoute 连接。
故障排除
如果以前正常运行的 ExpressRoute 线路无法连接,并且本地或专用虚拟网络中没有配置更改,则可能需要联系连接提供商并与其协作来更正问题。 使用以下 PowerShell 命令验证是否已正确预配 ExpressRoute 线路:
Get-AzExpressRouteCircuit -Name <circuit-name> -ResourceGroupName <resource-group>
此命令的输出显示线路的多个属性,包括 ProvisioningState
, CircuitProvisioningState
和 ServiceProviderProvisioningState
,如下所示:
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : NotProvisioned
如果 ProvisioningState
尝试创建新线路后未设置为 Succeeded
该线路,请使用以下命令删除线路,然后再次尝试创建该线路。
Remove-AzExpressRouteCircuit -Name <circuit-name> -ResourceGroupName <resource-group>
如果提供商已预配线路,并且 ProvisioningState
已设置为 Failed
或 CircuitProvisioningState
未 Enabled
设置线路,请联系提供商以获取帮助。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
伸缩性
ExpressRoute 线路在网络之间提供高带宽路径。 通常,带宽越高,成本就越高。
ExpressRoute 提供两 个定价计划:按流量计费计划和无限制数据计划。 费用因线路带宽而异。 可用带宽可能因提供商而异。 使用 Get-AzExpressRouteServiceProvider
cmdlet 可查看你所在区域中可用的提供商以及它们提供的带宽。
单个 ExpressRoute 线路可以支持一定数量的对等互连和虚拟网络链接。 有关详细信息,请参阅 ExpressRoute 限制。
ExpressRoute Premium 加载项提供:
- 提高专用对等互连的路由限制。
- 每个 ExpressRoute 线路的虚拟网络链接数增加。
- 服务的全球连接。
有关详细信息,请参阅 ExpressRoute 定价。
尽管某些提供商允许你更改带宽,但请务必选择一个超出需求的初始带宽,并提供增长空间。 如果需要将来增加带宽,有两个选项:
增加带宽。 请尽量避免此选项。 并非所有提供商都允许动态增加带宽。 但是,如果需要增加带宽,请咨询提供商,确保它们支持使用 PowerShell 命令更改 ExpressRoute 带宽属性。 如果这样做,请运行以下命令:
$ckt = Get-AzExpressRouteCircuit -Name <circuit-name> -ResourceGroupName <resource-group> $ckt.ServiceProviderProperties.BandwidthInMbps = <bandwidth-in-Mbps> Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
可以增加带宽而不会丢失连接。 降级带宽会中断连接,因为需要删除线路并使用新配置重新创建线路。
更改定价计划并且/或者升级到高级版。 为此,请运行以下命令。 该
Sku.Tier
属性可以是Standard
或Premium
。 该Sku.Name
属性可以是MeteredData
或UnlimitedData
。$ckt = Get-AzExpressRouteCircuit -Name <circuit-name> -ResourceGroupName <resource-group> $ckt.Sku.Tier = "Premium" $ckt.Sku.Family = "MeteredData" $ckt.Sku.Name = "Premium_MeteredData" Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
重要
请确保属性
Sku.Name
与Sku.Tier
andSku.Family
. 如果更改系列和层而不是名称,则连接将被禁用。无需中断即可升级 SKU,但无法从无限制定价计划切换到按流量计费的计划。 如果降级 SKU,带宽消耗必须保持在标准 SKU 的默认限制内。
可用性
ExpressRoute 不支持路由器冗余协议,例如热备用路由协议(HSRP)和虚拟路由器冗余协议(VRRP),以实现高可用性。 而是对每个对等互连使用一对冗余的 BGP 会话。 为了促进与网络的高可用性连接,Azure 在主动-主动配置中在两个路由器(Microsoft边缘的一部分)上预配两个冗余端口。
默认情况下,BGP 会话使用 60 秒的空闲超时值。 如果会话超时三次(总共 180 秒),则路由器将标记为不可用,所有流量将重定向到剩余的路由器。 此 180 秒超时对于关键应用程序而言可能太长。 如果需要,可以将本地路由器上的 BGP 超时设置更改为较短的持续时间。 ExpressRoute 还支持基于专用对等互连的双向转发检测 (BFD)。 通过通过 ExpressRoute 启用 BFD,可以加快Microsoft企业边缘(MSEE)设备和终止 ExpressRoute 线路的路由器之间的链接故障检测。 可以通过客户边缘路由设备或合作伙伴 Edge 路由设备终止 ExpressRoute(如果有托管的第 3 层连接服务)。
可以通过不同的方式为 Azure 连接配置高可用性,具体取决于使用的提供商类型以及愿意配置的 ExpressRoute 线路和虚拟网络网关连接数。 下面是可用性选项的摘要:
如果使用第 2 层连接,请在主动-主动配置中在本地网络中部署冗余路由器。 将主线路连接到一个路由器,将辅助线路连接到另一个路由器。 此配置在两端提供高度可用的连接。 如果需要 ExpressRoute 服务级别协议(SLA),则需要此配置。 有关详细信息,请参阅 Azure ExpressRoute SLA。
下图显示一个将冗余本地路由器连接到主线路和辅助线路的配置。 每个线路处理专用对等互连的流量。 (每个对等互连都指定一对 /30 地址空间,如上一部分所述。
如果使用第 3 层连接,请验证它是否提供用于处理可用性的冗余 BGP 会话。
将虚拟网络连接到由不同服务提供商提供的多个 ExpressRoute 线路。 此策略提供更多的高可用性和灾难恢复功能。
将站点到站点 VPN 配置为 ExpressRoute 的故障转移路径。 有关此选项的详细信息,请参阅 使用 ExpressRoute 和 VPN 故障转移将本地网络连接到 Azure。 此选项仅适用于私有对等互连。 对于 Azure 和 Microsoft 365 服务,Internet 是唯一的故障转移路径。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅 “安全”支柱概述。
根据安全问题和符合性需求,可以采用不同方式为 Azure 连接配置安全选项。
ExpressRoute 在第 3 层运行。 可以使用限制流量到合法资源的网络安全设备,在应用程序层中提供免受威胁的保护。
若要最大程度提高安全性,请在本地网络与提供商边缘路由器之间添加网络安全设备。 这有助于限制来自虚拟网络的未经授权的流量流入:
若要进行审核或符合性,可能需要阻止虚拟网络中运行的组件的直接 Internet 访问,并实现强制隧道。 在这种情况下,应通过本地运行的代理将 Internet 流量重定向回,可在其中对其进行审核。 可以将代理配置为阻止未经授权的流量流出并筛选潜在的恶意入站流量。
若要最大程度地提高安全性,请不要为 VM 启用公共 IP 地址,并使用 NSG 来帮助确保无法公开访问这些 VM。 VM 只能通过内部 IP 地址可用。 可以通过 ExpressRoute 网络访问这些地址,使本地 DevOps 员工能够执行配置或维护。
如果必须向外部网络公开 VM 的管理终结点,请使用 NSG 或访问控制列表将这些端口限制为允许的 IP 地址或网络列表可见。
注意
通过Azure 门户部署的 Azure VM 可以包含提供登录访问权限的公共 IP 地址。 但是,最佳做法是禁止此访问。
有关一般性 Azure 安全注意事项,请参阅 Microsoft 云服务和网络安全。
网络监视
使用 Azure 网络观察程序监视和排查网络组件问题。 流量分析等工具可识别虚拟网络中生成最多流量的系统,以便在出现问题之前直观地识别瓶颈。 连接监视器可以监视 ExpressRoute 线路。
还可使用 Azure 连接工具包 (AzureCT) 监视本地数据中心与 Azure 之间的连接。
有关详细信息,请参阅 监视 DevOps。
成本优化
成本优化就是减少不必要的费用和提高运营效率。 有关详细信息,请参阅 成本优化支柱概述。
有关 ExpressRoute 成本注意事项,请参阅以下文章:
ExpressRoute
在此体系结构中,使用 ExpressRoute 路线通过边缘路由器加入 Azure 本地网络。
ExpressRoute 提供两个定价计划。 使用按流量计费的数据计划,所有入站数据传输都是免费的。 所有出站数据传输都根据预先确定的费率收费。
使用无限制数据计划,所有入站和出站数据传输都是免费的。 根据高可用性双端口,你按固定的每月端口收费。
计算你的利用率并选择相应的计费套餐。 如果利用率超过 68%,建议使用无限制数据计划。
有关详细信息,请参阅 Azure ExpressRoute 定价。
Azure 虚拟网络
所有应用程序层都托管在单个虚拟网络中,并划分为子网。
Azure 虚拟网络是免费的。 对于每个订阅,可以跨所有区域创建多达 50 个虚拟网络。 虚拟网络边界内发生的所有流量都是免费的,因此单个虚拟网络中的两个 VM 之间的通信是免费的。
卓越运营
卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅 卓越运营支柱概述。
有关 ExpressRoute DevOps 注意事项,请参阅使用 Azure ExpressRoute 配置混合网络体系结构指南。
有关站点到站点 VPN DevOps 注意事项,请参阅使用 Azure 和本地 VPN 配置混合网络体系结构指南。
部署此方案
先决条件。 必须提供一个已配置适当网络设备的现有本地基础结构。
若要部署该解决方案,请执行以下步骤。
选择以下链接:
等待链接在 Azure 门户中打开,然后选择要将这些资源部署到其中的“资源组”,或创建新的资源组。 “区域”和“位置”将自动更改以匹配资源组。
如果要更改环境的资源名称、提供程序、SKU 或网络 IP 地址,请更新其余字段。
选择“查看 + 创建”,然后选择“创建”以部署这些资源。
等待部署完成。
注意
此模板部署仅部署以下资源:
- 资源组(如果创建了新的资源组)
- ExpressRoute 线路
- Azure 虚拟网络
- ExpressRoute 虚拟网络网关
若要建立从本地到 ExpressRoute 线路的专用对等互连连接,需要向服务提供商提供线路服务密钥。 可以在 ExpressRoute 线路资源的概述页上找到服务密钥。 有关配置 ExpressRoute 线路的详细信息,请参阅创建或修改对等互连配置。 配置专用对等互连后,可以将 ExpressRoute 虚拟网络网关链接到线路。 有关详细信息,请参阅教程:使用 Azure 门户将虚拟网络连接到 ExpressRoute 线路。
若要部署站点到站点 VPN 作为 ExpressRoute 的备份,请参阅创建站点到站点 VPN 连接。
成功配置到同一本地网络(在其中配置 ExpressRoute)的 VPN 连接后,如果对等互连位置完全失败,你将完成备份 ExpressRoute 连接的设置。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Sarah Parkes | 高级云解决方案架构师
若要查看非公开领英个人资料,请登录领英。
后续步骤
产品文档:
- ExpressRoute 文档
- ExpressRoute 的 Azure 安全基线
- 如何创建 ExpressRoute 线路
- Azure 网络博客
- 使用 PowerShell 配置 ExpressRoute 和站点到站点共存连接
- 什么是 Azure 虚拟网络?
- Microsoft 365 服务
Microsoft Learn 模块: