Azure 檔案同步的網路考慮

本文說明 Azure 檔案同步 的網路相關考量;Azure 檔案同步 會將 Azure 檔案共用快取到內部部署的 Windows 檔案伺服器上。 關於直接部署 Azure 檔案儲存體 的網路考量,請參見 Azure 檔案儲存體 網路考量。

Azure 檔案同步 的網路包含兩個 Azure 物件:一個儲存同步服務(管理註冊伺服器與同步群組)和一個 Azure 儲存帳號(負責承載檔案分享)。 大多數情況下,你不需要額外的網路設定,只要基本的網路連線,但你可以設定代理伺服器、防火牆、VPN 或 ExpressRoute 隧道、私有端點,以及透過 QUIC 建立的 SMB。

重要

Azure 檔案同步不支援網際網路路由。 Azure 檔案同步支援預設的網路路由選項:Microsoft 路由。

使用 Azure 檔案同步將 Windows 檔案伺服器連線至 Azure

要在本地的 Windows 檔案伺服器上設定並使用 Azure 檔案儲存體 和 Azure 檔案同步,除了基本的網路連線外,不需要特別的 Azure 網路連線。 要部署 Azure 檔案同步,請在你想與 Azure 同步的 Windows 檔案伺服器上安裝 Azure 檔案同步 代理程式。 Azure 檔案同步 代理程式透過兩個管道與 Azure 檔案分享同步:

  • FileREST 通訊協定,這是用來存取 Azure 檔案共用的 HTTPS 型通訊協定。 因為 FileREST 通訊協定會使用標準 HTTPS 進行數據傳輸,因此埠 443 必須可存取輸出。 Azure 檔案同步 不會使用SMB通訊協定在內部部署 Windows Server 與 Azure 檔案共享之間傳輸數據。
  • Azure 檔案同步 同步通訊協定,這是 HTTPS 型通訊協定,用來交換同步處理知識,也就是環境中端點之間檔案和資料夾的版本資訊。 此通訊協定也可用來交換檔案和資料夾的相關元數據,例如時間戳和訪問控制清單(ACL)。

不需要也不建議為 Azure 檔案同步 代理程式透過 SMB 直接掛載 Azure 檔案共用,因為對檔案共用所做的直接變更最多可能要 24 小時後才會偵測到。 若要直接使用檔案分享而不使用 Azure 檔案同步,請參閱 Azure 檔案儲存體 網路概覽。

雖然 Azure 檔案同步 不需要任何特殊的網路設定,但某些客戶可能想要設定進階網路設定,以啟用下列案例:

  • 與您組織的 Proxy 伺服器設定交互操作。
  • 開放您組織的內部部署防火牆,允許 Azure 檔案和 Azure 檔案同步服務通行。
  • 透過 ExpressRoute 或虛擬私人網路 (VPN) 連線傳送 Azure 檔案儲存體 和 Azure 檔案同步 流量。

設定 Proxy 伺服器

Azure 檔案同步 可以與代理伺服器完全互通,但你必須手動設定 Azure 檔案同步 的代理端點設定。使用 PowerShell 和 Azure 檔案同步 server cmdlet Set-StorageSyncProxyConfiguration。

如需有關如何使用 Proxy 伺服器設定 Azure 檔案同步的詳細資訊,請參閱使用 Proxy 伺服器設定 Azure 檔案同步。

設定防火牆與服務標籤

出於安全考量,許多組織會將檔案伺服器與大多數網際網路位置隔離。 若要在這類環境中使用 Azure 檔案同步,您必須設定防火牆以允許輸出存取選取 Azure 服務。 如果您的防火牆支援 URL 或網域篩選,請允許連接埠 443 對託管這些特定 Azure 服務的必要雲端端點進行輸出存取。 如果不支援,則您可以透過服務標籤擷取這些 Azure 服務的 IP 位址範圍。

Azure 檔案同步需要下列服務的 IP 位址範圍,就如同它們的服務標籤所識別的那樣:

服務 描述 服務標籤
Azure 檔案同步 就像儲存體同步服務物件一樣,顧名思義,「Azure 檔案同步」服務會負責執行在 Azure 檔案共用與 Windows 檔案伺服器之間同步處理資料的核心活動。 StorageSyncService
Azure 檔案儲存體 所有透過 Azure 檔案同步 同步的資料都會儲存在 Azure 檔案分享中。 您 Windows 檔案伺服器上變更的檔案會複寫至您的 Azure 檔案共用,而您內部部署檔案伺服器上的階層式檔案則會在使用者要求時順暢地下載。 Storage
Azure Resource Manager Azure Resource Manager 是 Azure 的管理介面。 所有管理呼叫 (包括 Azure 檔案同步伺服器註冊與進行中的同步處理伺服器工作) 都是透過 Azure Resource Manager 進行的。 AzureResourceManager
Microsoft Entra ID Microsoft Entra ID (先前稱為 Azure AD) 包含針對儲存體同步服務授權進行伺服器註冊所需的使用者主體,以及授權 Azure 檔案同步存取雲端資源所需的服務主體。 AzureActiveDirectory

如果您在 Azure 中使用 Azure 檔案同步,即使其是不同的區域,您也可以直接在您的網路安全性群組中使用服務標籤的名稱,以允許對該服務傳送流量。 若要深入了解,請參閱網路安全性群組。

如果您是使用 Azure 檔案同步內部部署,就可利用服務標籤 API 來取得您防火牆允許清單的特定 IP 位址範圍。 有兩種方法可以取得此資訊:

  • 所有支援服務標籤之 Azure 服務的目前 IP 位址範圍清單,都會以 JSON 文件的形式,每週在 Microsoft 下載中心發佈。 每個 Azure 雲端都有自己的 JSON 文件,其中包含與該雲端相關的 IP 位址範圍:
  • 服務標籤探索 API (預覽) 可讓您以程式設計方式擷取目前的服務標籤清單。 在預覽中,服務標籤探索 API 傳回的資訊,可能沒有從 Microsoft 下載中心上發佈的 JSON 文件所傳回的資訊那麼新。 您可以根據您的自動化喜好設定來使用 API 介面:

若要深入了解如何使用服務標籤 API 來擷取您服務的位址,請參閱 Azure 檔案同步 IP 位址的允許清單。

透過虛擬私人網路或 ExpressRoute 傳輸流量

某些組織需要與 Azure 進行通訊,才能透過 VPN 或 ExpressRoute 等網路通道進行通訊,以取得額外的安全性層級,或確保與 Azure 的通訊遵循決定性路由。

Azure 檔案儲存體 和 Azure 檔案同步 支援下列機制,可在您的內部部署伺服器與 Azure 之間透過通道傳輸流量:

  • Azure VPN 閘道:VPN 閘道是一種特定類型的虛擬網路閘道,用於透過網際網路在 Azure 虛擬網路與其他地點(例如本地)之間傳送加密流量。 Azure VPN 閘道 是一種 Azure 資源,你可以部署在資源群組中,與儲存帳號或其他 Azure 資源並列。 由於 Azure 檔案同步 是設計給本地的 Windows 檔案伺服器使用,通常會使用站對站 VPN,雖然技術上也可以使用點對站 VPN。

    站對站 VPN 連線連接您的 Azure 虛擬網路與組織的本地網路。 站對站 VPN 連線讓你只需設定一次 VPN 連線,針對組織網路上託管的 VPN 伺服器或裝置,而不必對每台需要存取 Azure 檔案分享的用戶端裝置都設定一次。 為了簡化站對站 VPN 連線的部署,請參見「配置 Site to Site VPN 以用於 Azure 檔案儲存體」。

  • ExpressRoute,可讓您在 Azure 與不會周遊網際網路的內部部署網路之間建立已定義好的路由 (私人連線)。 因為 ExpressRoute 提供內部部署資料中心與 Azure 之間的專用路徑,因此當網路效能是關鍵考慮時,ExpressRoute 會很有用。 當組織的原則或法規需求要求您的雲端資源必須有確定的路徑時,ExpressRoute 也會是不錯的選擇。

透過 QUIC 的 SMB

如果你的環境封鎖了 445 埠,你可以使用 SMB over QUIC ,作為 VPN 或 ExpressRoute 的替代方案。 SMB over QUIC 使用 QUIC 傳輸協定,透過 443 埠,大多數組織與網際網路服務提供商(ISP)已開放此協定以支援 HTTPS 流量。 此功能省去了通常透過公共網際網路遠端存取檔案分享所需的大部分網路配置。

若要使用 SMB 而非 QUIC 搭配 Azure 檔案同步:

  • Azure 檔案同步 伺服器端點必須在 Azure 中的 Windows Server Datacenter: Azure Edition 虛擬機上執行。
  • 用戶端必須是 Windows 11 或更新版本。

關於設定與設定細節,請參見 SMB over QUIC。

Azure 檔案儲存體 和 Azure 檔案同步 的私人端點

除了儲存體帳戶和儲存體同步服務為 Azure 檔案和 Azure 檔案同步提供的預設公用端點之外,它們也提供可為每個資源設定一個或多個私人端點的選項。 此選項允許您透過 VPN 或 ExpressRoute 私密且安全地從本地連接 Azure 檔案分享,並可從 Azure 虛擬網路內連線。 當您為 Azure 資源建立私人端點時,Azure 資源便會從您虛擬網路的位址空間內取得私人 IP 位址,情況非常類似於您的內部部署 Windows 檔案伺服器如何獲得您內部部署網路專用位址空間內的 IP 位址。

個別的私人端點會與特定的 Azure 虛擬網路子網路相關聯。 儲存體帳戶與儲存體同步服務可能會在超過一個虛擬網路中有私人端點。

使用私人端點可讓您:

  • 使用 VPN 或 ExpressRoute 連線搭配私人對等互連,來安全地從內部部署網路連線到您的 Azure 資源。
  • 藉由停用 Azure 檔案儲存體 和 檔案同步 的公用端點,保護您的 Azure 資源。根據預設,建立私人端點不會封鎖公用端點的連線。
  • 藉由啟用可讓您封鎖資料從虛擬網路及其對等互連邊界外洩的功能,提高虛擬網路的安全性。

要建立私人端點,請參見「配置 Azure 檔案同步 的私有端點」。

私人端點和 DNS

當你建立私有端點時,Azure 也會建立或更新一個對應子privatelink網域的私有 DNS 區域。 針對公用雲端區域,這些 DNS 區域為 privatelink.file.core.windows.net (針對 Azure 檔案儲存體) 與 privatelink.afs.azure.net (針對 Azure 檔案同步)。

注意

本文會針對 Azure 公用區域使用儲存體帳戶 DNS 尾碼 core.windows.net。 這也適用於 Azure 主權雲端,例如 Azure US Gov 雲端和由 21Vianet 營運的 Microsoft Azure 雲端;只要將適用於您環境的尾碼代入即可。

當你為儲存帳號和儲存同步服務建立私人端點時,Azure 會在它們各自的私人 DNS 區域建立 A 紀錄。 Azure 也會更新公開 DNS 條目,使一般完全限定的網域名稱會被指定為相關privatelink名稱的 CNAME。 此配置使得完全合格的網域名稱在請求者位於虛擬網路內時指向私有端點的 IP 位址,當請求者在虛擬網路外時,則指向公有端點的 IP 位址。

針對 Azure 檔案,每個私人端點都有一個單一完整網域名稱(遵循 storageaccount.privatelink.file.core.windows.net 模式),並對應到該私人端點的一個私人 IP 位址。 針對 Azure 檔案同步,每個私人端點都有四個完整網域名稱,用於 Azure 檔案同步所公開的四個不同端點:管理、同步 (主要)、同步 (次要) 和監視。 除非名稱包含非 ASCII 字元,否則這些端點的完整網域名稱通常會遵循儲存體同步服務的名稱。 例如,如果您的儲存體同步服務在美國西部 2 區域中的名稱為 mysyncservice,對等端點就會是 mysyncservicemanagement.westus2.afs.azure.net、mysyncservicesyncp.westus2.afs.azure.net、mysyncservicesyncs.westus2.afs.azure.net 與 mysyncservicemonitoring.westus2.afs.azure.net。 記憶體同步服務的每個私人端點都會包含四個不同的IP位址。

因為您的 Azure 私人 DNS 區域已連線到包含私人端點的虛擬網路,因此您可以從 Azure VM 中的 PowerShell 呼叫 Resolve-DnsName Cmdlet 來觀察 DNS 設定(或者 nslookup 在 Windows 和 Linux 中):

Resolve-DnsName -Name "storageaccount.file.core.windows.net"

在此範例中,儲存體帳戶storageaccount.file.core.windows.net會解析成私人端點的私人 IP 位址,其恰好為192.168.0.4。

Name                              Type   TTL   Section    NameHost
----                              ----   ---   -------    --------
storageaccount.file.core.windows. CNAME  29    Answer     storageaccount.privatelink.file.core.windows.net
net

Name       : storageaccount.privatelink.file.core.windows.net
QueryType  : A
TTL        : 1769
Section    : Answer
IP4Address : 192.168.0.4


Name                   : privatelink.file.core.windows.net
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.windows.net 是 storageaccount.privatelink.file.core.windows.net 的 CNAME 記錄,而 storageaccount.privatelink.file.core.windows.net 又是儲存體帳戶裝載所在 Azure 儲存體叢集的 CNAME 記錄:

Name                              Type   TTL   Section    NameHost
----                              ----   ---   -------    --------
storageaccount.file.core.windows. CNAME  60    Answer     storageaccount.privatelink.file.core.windows.net
net
storageaccount.privatelink.file.c CNAME  60    Answer     file.par20prdstr01a.store.core.windows.net
ore.windows.net

Name       : file.par20prdstr01a.store.core.windows.net
QueryType  : A
TTL        : 60
Section    : Answer
IP4Address : 52.239.194.40

此設定反映了這項事實:Azure 檔案儲存體 與 Azure 檔案同步 可針對每個資源同時提供其公用端點以及一個或多個私人端點。 為了確保資源的完整網域名稱可解析為私人端點 IP 位址,您必須設定內部部署 DNS 伺服器。 你可以用幾種方式完成這項任務:

  • 修改用戶端上的 hosts 檔案,讓儲存體帳戶與儲存體同步服務的完整網域名稱解析為所需的私有 IP 位址。 對於生產環境,強烈建議您不要這樣做,因為您必須對需要存取私人端點的每個客戶端進行這些變更。 不會自動處理私人端點/資源的變更(刪除、修改等)。
  • 在您的內部部署伺服器上,為 privatelink.file.core.windows.net 與 privatelink.afs.azure.net 建立 DNS 區域,並為您的 Azure 資源建立 A 記錄。 這的優點是內部部署環境中的用戶端將能夠自動解析 Azure 資源,而不需要設定每個用戶端。 不過,這個解決方案和修改 hosts 檔案一樣脆弱,因為變更不會被反映出來。 雖然此解決方案很脆弱,但可能是某些環境的最佳選擇。
  • 將 core.windows.net 與 afs.azure.net 區域從內部部署 DNS 伺服器轉送到您的 Azure 私人 DNS 區域。 您可以透過只能在連結至 Azure 私人 DNS 區域的虛擬網路內存取的特殊 IP 位址 (168.63.129.16),來連線到 Azure 私人 DNS 主機。 為了繞過這個限制,你可以在虛擬網路內運行額外的 DNS 伺服器,這些伺服器會轉發core.windows.net並afs.azure.net傳送到相當的 Azure 私有 DNS 區域。 為了簡化此設定,Microsoft 提供了 PowerShell 指令包,能自動部署 Azure 虛擬網路中的 DNS 伺服器,並依需求配置。 想了解如何設定 DNS 轉發,請參閱「使用 Azure 檔案儲存體 設定 DNS」。

傳輸中加密

系統一律會加密從 Azure 檔案同步代理程式連線到您的 Azure 檔案共用或儲存體同步服務的連線。 雖然 Azure 儲存體帳戶提供一項設定,可停用「對與 Azure 檔案儲存體 通訊時要求傳輸中加密」的需求(以及其他由該儲存體帳戶管理的 Azure 儲存體服務),但停用此設定也不會影響 Azure 檔案同步 與 Azure 檔案儲存體 通訊時所使用的加密。 根據預設,所有 Azure 儲存體帳戶都會啟用傳輸中加密。

若要深入了解傳輸中加密,請參閱「在 Azure 儲存體中要求安全傳輸」。

另請參閱