本文介绍了Azure 文件同步的网络考虑,该系统将Azure文件共享缓存到本地的Windows文件服务器上。 关于直接部署 Azure 文件存储 的网络考虑,请参见 Azure 文件存储 网络考虑。
Azure 文件同步 的网络涉及两个 Azure 对象:一个存储同步服务(管理注册服务器和同步组)和一个 Azure 存储账户(托管文件共享)。 在大多数情况下,你不需要额外的网络配置,除了基本的互联网连接外,你可以配置代理服务器、防火墙、VPN或ExpressRoute隧道、私有端点以及通过QUIC设置的SMB。
通过 Azure 文件同步将 Windows 文件服务器连接到 Azure
要在本地的Windows文件服务器上搭建并使用Azure 文件存储和Azure 文件同步,除了基本的互联网连接外,不需要额外的Azure网络连接。 要部署 Azure 文件同步,请在你想与 Azure 同步的 Windows 文件服务器上安装 Azure 文件同步 代理。 Azure 文件同步 代理通过两个通道实现与 Azure 文件共享的同步:
- FileREST 协议,它是一种基于 HTTPS 的协议,用于访问 Azure 文件共享。 由于 FileREST 协议使用标准 HTTPS 进行数据传输,因此,端口 443 必须可以出站访问。 Azure 文件同步不使用 SMB 协议将数据在本地 Windows Server 和 Azure 文件共享之间传输。
- Azure 文件同步同步协议是一种基于 HTTPS 的协议,用于在环境中的终结点之间交换同步知识,即有关文件和文件夹的版本信息。 此协议还用于交换有关文件和文件夹的元数据,例如时间戳和访问控制列表 (ACL)。
对于 Azure 文件同步 代理,不需要通过 SMB 直接挂载 Azure 文件共享,也不建议这样做,因为直接对文件共享所做的更改可能要过长达 24 小时才能检测到。 要直接使用文件共享而不使用Azure 文件同步,请参见Azure 文件存储网络概述。
尽管 Azure 文件同步不需要任何特殊的网络配置,但某些客户可能希望配置高级网络设置,以支持以下方案:
- 与贵组织的代理服务器配置兼容。
- 将贵组织的本地部署防火墙开放给 Azure 文件和 Azure 文件同步服务。
- 通过 ExpressRoute 或虚拟专用网 (VPN) 连接为 Azure 文件存储和 Azure 文件同步流量建立隧道。
配置代理服务器
Azure 文件同步 可与代理服务器完全兼容,但你必须针对你的环境手动配置 Azure 文件同步 的代理终结点设置。请使用 PowerShell 和 Azure 文件同步 服务器 cmdlet Set-StorageSyncProxyConfiguration。
有关如何使用代理服务器配置 Azure 文件同步的详细信息,请参阅使用代理服务器配置 Azure 文件同步。
配置防火墙和服务标记
出于安全考虑,许多组织会将文件服务器与大多数互联网位置隔离。 若要在此类环境中使用 Azure 文件同步,需要将防火墙配置为允许出站访问以选择 Azure 服务。 如果你的防火墙支持URL或域过滤,允许端口443向托管这些特定Azure服务的必需云端点进行出站访问。 如果没有,您可以通过服务标记获取这些 Azure 服务的 IP 地址范围。
Azure 文件同步 需要以下服务的 IP 地址范围,这些范围按其服务标记标识:
| 服务 | 说明 | 服务标记 |
|---|---|---|
| Azure 文件同步 | Azure 文件同步服务由存储同步服务对象表示,负责在 Azure 文件共享与 Windows 文件服务器之间同步数据的核心活动。 | StorageSyncService |
| Azure 文件存储 | 所有通过 Azure 文件同步 同步的数据都存储在 Azure 文件共享中。 Windows 文件服务器上已更改的文件将复制到 Azure 文件共享,并且在本地文件服务器上分层的文件会在用户请求时无缝下载。 | Storage |
| Azure 资源管理器 | Azure 资源管理器是 Azure 的管理接口。 所有管理调用(包括 Azure 文件同步服务器注册和正在进行的同步服务器任务)都通过 Azure 资源管理器进行。 | AzureResourceManager |
| Microsoft Entra ID | Microsoft Entra ID(以前称为 Azure AD)包含针对存储同步服务授权服务器注册所需的用户主体,以及授权 Azure 文件同步访问云资源所需的服务主体。 | AzureActiveDirectory |
如果你在 Azure 中使用 Azure 文件同步,即使它位于不同的区域,也可以直接在网络安全组中使用该服务标记名称,以允许发往该服务的流量。 有关详细信息,请参阅网络安全组。
如果是在本地使用 Azure 文件同步,则可以使用服务标记 API 为防火墙的允许列表获取特定的 IP 地址范围。 可以通过两种方法获取此信息:
- 支持服务标记的所有 Azure 服务的最新 IP 地址范围列表每周都会以 JSON 文档的形式在 Microsoft 下载中心上发布。
- 服务标记发现 API(预览版)允许以编程方式检索最新服务标记列表。 在预览阶段,服务标记发现 API 返回的信息可能不如 Microsoft 下载中心发布的 JSON 文档中的信息最新。 可以根据自动化首选项使用 API 接口:
若要详细了解如何使用服务标记 API 来检索服务的地址,请参阅 Azure 文件同步 IP 地址允许列表。
通过虚拟专用网络或 ExpressRoute 以隧道方式传输流量
某些组织需要通过网络隧道(VPN 或 ExpressRoute)与 Azure 进行通信来实现额外的安全层,或确保与 Azure 的通信遵循确定性路由。
Azure 文件存储和 Azure 文件同步支持以下机制,以在本地服务器与 Azure 之间以隧道方式传输流量:
Azure VPN 网关:VPN 网关是一种特定类型的虚拟网络网关,用于通过互联网在 Azure 虚拟网络与其他地点(如本地)之间发送加密流量。 Azure VPN 网关 是一种 Azure 资源,你可以与存储账户或其他 Azure 资源一起部署在资源组中。 由于 Azure 文件同步 是为本地 Windows 文件服务器设计的,通常使用站点对站点 VPN,尽管技术上也可以使用点对站点 VPN。
站点对站点VPN连接连接您的Azure虚拟网络和组织的本地网络。 站点对站点VPN连接允许您仅为组织网络上托管的VPN服务器或设备配置一次VPN,而不必对所有需要访问Azure文件共享的客户端设备配置一次。 为了简化站点对站点VPN连接的部署,请参见“配置Azure 文件存储中的站点对站点VPN”。
ExpressRoute,使你可以在 Azure 与不经过 Internet 的本地网络之间创建定义的路由(专用连接)。 由于 ExpressRoute 在本地数据中心和 Azure 之间提供了专用路径,因此当网络性能是主要考量时,ExpressRoute 可能会很有用。 组织的策略或法规要求使用确定的路径访问云中的资源时,ExpressRoute 也是一个不错的选择。
基于 QUIC 的 SMB
如果你的环境里445端口被封锁,你可以用 SMB通过QUIC 代替VPN或ExpressRoute。 SMB over QUIC 使用端口 443 的 QUIC 传输协议,大多数组织和互联网服务提供商(ISP)都已开放该协议以支持 HTTPS 流量。 这一功能消除了通常通过公共互联网远程访问文件共享所需的大部分网络配置。
将 SMB over QUIC 与 Azure 文件同步 配合使用:
- Azure 文件同步 服务器端点必须在 Azure 中的 Windows Server Datacenter: Azure Edition 虚拟机上运行。
- 客户端必须运行的是Windows 11或更高版本。
有关设置和配置的详细信息,请参见 SMB over QUIC。
Azure 文件存储 和 Azure 文件同步 的私有端点
除了 Azure 文件存储和 Azure 文件同步通过存储帐户和存储同步服务提供的默认公共终结点,它们还提供了为每个资源设置一个或多个私有端点的选项。 该选项允许您通过VPN或ExpressRoute私密安全地从本地连接Azure文件共享,并在Azure虚拟网络内连接。 为 Azure 资源创建专用终结点时,该资源将从虚拟网络地址空间中获取一个专用 IP 地址,这非常类似于本地 Windows 文件服务器具有本地网络专用地址空间中的 IP 地址。
单个专用终结点与特定的 Azure 虚拟网络子网相关联。 存储帐户和存储同步服务可以在多个虚拟网络中具有专用终结点。
使用专用终结点可以:
- 通过 VPN 或具有专用对等互连的 ExpressRoute 连接,从本地网络安全地连接到 Azure 资源。
- 通过禁用 Azure 文件存储和文件同步的公共终结点来保护 Azure 资源。默认情况下,创建专用终结点不会阻止连接到公共终结点。
- 阻止数据从虚拟网络(和对等互连边界)渗出,从而提高虚拟网络的安全性。
要创建私有端点,请参见配置 Azure 文件同步 的私有端点。
专用终结点和 DNS
当你创建私有端点时,Azure 也会创建一个或更新对应子privatelink域名的私有 DNS 区域。 对于中国云区域,这些 DNS 区域是 privatelink.file.core.chinacloudapi.cn(Azure 文件存储)和 privatelink.afs.azure.cn(Azure 文件同步)。
当你为存储账户和存储同步服务创建私有端点时,Azure会在它们各自的私有DNS区域创建A记录。 Azure 还会更新公共 DNS 条目,使得常规的完全限定域名是相关privatelink名称的 CNAME。 该配置使得完全合格的域名在请求者处于虚拟网络内时指向私有端点的IP地址,而当请求者在虚拟网络之外时,则指向公共端点的IP地址。
对于 Azure 文件存储,每个专用终结点都有一个完全限定的域名,遵循 storageaccount.privatelink.file.core.chinacloudapi.cn 模式,映射到专用终结点的一个专用 IP 地址。 对于 Azure 文件同步,每个专用终结点都有四个完全限定的域名,分别用于 Azure 文件同步公开的四个不同的终结点:管理、同步(主要)、同步(辅助)和监视。 这些终结点的完全限定的域名通常将遵循存储同步服务的名称,除非该名称包含非 ASCII 字符。 例如,如果存储同步服务名称在中国东部 2 区域中为 mysyncservice,则同等的终结点将是 mysyncservicemanagement.chinaeast2.afs.azure.cn、mysyncservicesyncp.chinaeast2.afs.azure.cn、mysyncservicesyncs.chinaeast2.afs.azure.cn 和 mysyncservicemonitoring.chinaeast2.afs.azure.cn。 存储同步服务的每个专用终结点将包含 4 个不同的 IP 地址。
由于 Azure 专用 DNS 区域已连接到包含专用终结点的虚拟网络,因此可以通过从 Azure VM 中的 PowerShell 调用 Resolve-DnsName cmdlet 来观察 DNS 配置(也可 nslookup 在 Windows 和 Linux 中):
Resolve-DnsName -Name "storageaccount.file.core.chinacloudapi.cn"
对于本示例,存储帐户 storageaccount.file.core.chinacloudapi.cn 解析为专用终结点的专用 IP 地址(正好是 192.168.0.4)。
Name Type TTL Section NameHost
---- ---- --- ------- --------
storageaccount.file.core.chinacloudapi.cn CNAME 29 Answer storageaccount.privatelink.file.core.chinacloudapi.cn
Name : storageaccount.privatelink.file.core.chinacloudapi.cn
QueryType : A
TTL : 1769
Section : Answer
IP4Address : 192.168.0.4
Name : privatelink.file.core.chinacloudapi.cn
QueryType : SOA
TTL : 269
Section : Authority
NameAdministrator : azureprivatedns-host.microsoft.com
SerialNumber : 1
TimeToZoneRefresh : 3600
TimeToZoneFailureRetry : 300
TimeToExpiration : 2419200
DefaultTTL : 300
如果在本地环境中运行相同的命令,你会看到同一存储帐户名称解析为该存储帐户的公共 IP 地址;storageaccount.file.core.chinacloudapi.cn 是 storageaccount.privatelink.file.core.chinacloudapi.cn 的 CNAME 记录,而 storageaccount.privatelink.file.core.chinacloudapi.cn 又是托管该存储帐户的 Azure 存储群集的 CNAME 记录:
Name Type TTL Section NameHost
---- ---- --- ------- --------
storageaccount.file.core.chinacloudapi.cn CNAME 60 Answer storageaccount.privatelink.file.core.chinacloudapi.cn
storageaccount.privatelink.file.core.chinacloudapi.cn CNAME 60 Answer file.par20prdstr01a.store.core.chinacloudapi.cn
Name : file.par20prdstr01a.store.core.chinacloudapi.cn
QueryType : A
TTL : 60
Section : Answer
IP4Address : 52.239.194.40
这种配置反映了 Azure 文件存储 和 Azure 文件同步 可以同时暴露它们的公共端点以及每个资源中一个或多个私有端点的事实。 为了确保资源的完全限定域名被解析到私有端点的 IP 地址,您必须配置本地 DNS 服务器。 你可以通过多种方式完成这项任务:
- 修改客户端上的 hosts 文件,以便将存储帐户和存储同步服务的完全限定的域名解析为所需的专用 IP 地址。 对于生产环境,则强烈建议不要这样做,因为需要对需要访问专用终结点的每个客户端进行这些更改。 将不会自动处理对专用终结点/资源的更改(删除、修改等)。
- 在本地服务器上为
privatelink.file.core.chinacloudapi.cn和privatelink.afs.azure.cn创建 DNS 区域,并为 Azure 资源添加 A 记录。 这种方法的优势在于,本地环境中的客户端能够自动解析 Azure 资源,而无需配置每个客户端。 但是,与修改 hosts 文件一样,此解决方法较不可靠,因为不会反映所做的更改。 尽管此解决方法不太可靠,但在某些环境中,它却是最佳的选择。 - 将
core.chinacloudapi.cn和afs.azure.cn区域从本地 DNS 服务器转发到 Azure 专用 DNS 区域。 可以通过特殊 IP 地址 (168.63.129.16) 访问 Azure 专用 DNS 主机,该 IP 地址只能在链接到 Azure 专用 DNS 区域的虚拟网络内部访问。 若要解决此问题,可以在虚拟网络core.chinacloudapi.cn中运行转发和转发到afs.azure.cn等效Azure专用 DNS 区域的 DNS 服务器。 为了简化配置,Microsoft 提供了 PowerShell cmdlet,可以自动部署 Azure 虚拟网络中的 DNS 服务器,并按需配置。 想了解如何设置DNS转发,请参见“用Azure 文件存储配置DNS”。
传输中加密
从 Azure 文件同步代理到 Azure 文件共享或存储同步服务建立的连接始终是加密的。 尽管 Azure 存储帐户提供了一项设置,可禁用对与 Azure 文件(以及该存储帐户管理的其他 Azure 存储服务)通信时使用传输中加密的要求,但禁用此设置不会影响 Azure 文件同步 与 Azure 文件通信时所使用的加密。 默认情况下,所有 Azure 存储帐户均已启用传输中加密。
有关传输中的加密的详细信息,请参阅在 Azure 存储中要求安全传输。