虛擬網路服務端點
虛擬網路 (VNet) 服務端點可透過 Azure 骨幹網路上已最佳化的路由,為 Azure 服務提供安全的直接連線能力。 端點可讓您將重要的 Azure 服務資源只放到您的虛擬網路保護。 服務端點可讓 VNet 中的私人 IP 位址觸達 Azure 服務的端點,而不需要 VNet 上的公用 IP 位址。
注意
Microsoft 建議使用 Azure Private Link,對裝載於 Azure 平台上的服務進行安全且私人的存取。 如需詳細資訊,請參閱 Azure Private Link。
服務端點會在下列 Azure 服務和區域中提供。 Microsoft.* 資源會以括弧括住。 針對服務設定服務端點時,請從子網路端啟用此資源:
正式推出
- Azure 儲存體 (Microsoft.Storage):已在所有 Azure 區域中正式推出。
- Azure SQL Database (Microsoft.Sql):已在所有 Azure 區域中正式推出。
- Azure Synapse Analytics (Microsoft.Sql):已針對專用的 SQL 集區 (先前稱為 SQL DW),在所有 Azure 區域中正式推出。
- 適用於 PostgreSQL 的 Azure 資料庫伺服器 (Microsoft.Sql):已在提供資料庫服務的 Azure 區域中正式推出。
- 適用於 MySQL 的 Azure 資料庫伺服器 (Microsoft.Sql):已在提供資料庫服務的 Azure 區域中正式推出。
- 適用於 MariaDB 的 Azure 資料庫 (Microsoft.Sql):已在提供資料庫服務的 Azure 區域中正式推出。
- Azure Cosmos DB (Microsoft.AzureCosmosDB):已在所有 Azure 區域中正式推出。
- Azure Key Vault (Microsoft.KeyVault):已在所有 Azure 區域中正式推出。
- Azure 服務匯流排 (Microsoft.ServiceBus):已在所有 Azure 區域中正式推出。
- Azure 事件中樞 (Microsoft.EventHub):已在所有 Azure 區域中正式推出。
- Azure Data Lake Store Gen 1 (Microsoft.AzureActiveDirectory):已在提供 ADLS Gen1 的所有 Azure 區域中正式推出。
- Azure App Service (Microsoft.Web):已在可使用 App Service 的所有 Azure 區域中正式推出。
- Azure 認知服務 (Microsoft.CognitiveServices):已在提供認知服務的所有 Azure 區域中正式推出。
公開預覽
- Azure Container Registry (Microsoft.ContainerRegistry):預覽版已在提供 Azure Container Registry 的有限 Azure 區域中提供。
如需最新通知,請查看 Azure 虛擬網路更新頁面。
主要權益
服務端點可提供下列優點:
提升 Azure 服務資源的安全性:VNet 私人位址空間可以重疊。 您無法使用重疊的空間來唯一識別源自您 VNet 的流量。 服務端點藉由將 VNet 身分識別延伸至服務,讓 Azure 服務資源能夠保護虛擬網路的安全。 在您的虛擬網路中啟用服務端點之後,您就可以新增虛擬網路規則,保護 Azure 服務資源對您虛擬網路的存取。 新增的規則可以透過完全移除對資源的公用網際網路存取,而且只允許來自您虛擬網路的流量,來提升安全性。
來自您虛擬網路之 Azure 服務流量的最佳路由:現今,虛擬網路中強制網際網路流量通過內部部署和/或虛擬設備的任何路由,也會強制 Azure 服務流量採用與網際網路流量相同的路由。 服務端點可提供 Azure 流量的最佳路由。
端點一律會直接採用從虛擬網路到 Microsoft Azure 骨幹網路上服務的服務流量。 Keeping traffic on the Azure backbone network 可讓您透過強制通道,繼續稽核和監視來自虛擬網路的輸出網際網路流量,而不會影響服務流量。 如需使用者定義的路由和強制通道的詳細資訊,請參閱 Azure 虛擬網路流量路由。
設定簡單且管理額外負荷較小:虛擬網路中不再需要保留的公用 IP 位址,就可以透過 IP 防火牆保護 Azure 資源。 設定服務端點不需要網路位址轉譯 (NAT) 或閘道裝置。 您可以透過子網上的單一選取專案來設定服務端點。 維護端點並無額外負荷。
限制
- 這項功能僅適用於透過 Azure Resource Manager 部署模型所部署的虛擬網路。
- 端點會在 Azure 虛擬網路中設定的子網路上啟用。 端點無法用於從內部部署服務到 Azure 服務的流量。 如需詳細資訊,請參閱保護來自內部部署的 Azure 服務存取
- 針對 Azure SQL,服務端點只適用於虛擬網路區域內的 Azure 服務流量。 針對 Azure 儲存體,您可以在預覽中啟用對其他區域中虛擬網路的存取。
- 對於 Azure Data Lake Storage (ADLS) Gen 1,VNet 整合功能只適用於相同區域內的虛擬網路。 另請注意,ADLS Gen1 的虛擬網路整合會使用虛擬網路與 Azure Active Directory 之間的虛擬網路服務端點安全性, (Azure AD) 在存取權杖中產生額外的安全性宣告。 這些宣告隨後會用來對 Data Lake Storage Gen1 帳戶驗證虛擬網路並允許存取。 在支援服務端點的服務下方所列的 Microsoft.AzureActiveDirectory 標籤僅可用於支援 ADLS Gen 1 的服務端點。 Azure AD 無法原生支援服務端點。 如需 Azure Data Lake Store Gen 1 VNet 整合的詳細資訊,請參閱 Azure Data Lake Storage Gen1 中的網路安全性。
將 Azure 服務放入虛擬網路進行保護
虛擬網路服務端點可將您虛擬網路的身分識別提供給 Azure 服務。 在您的虛擬網路中啟用服務端點之後,您就可以新增虛擬網路規則,保護 Azure 服務資源對您虛擬網路的存取。
現在,來自虛擬網路的 Azure 服務流量會使用公用 IP 位址作為來源 IP 位址。 透過服務端點,服務流量會在從虛擬網路存取 Azure 服務時,切換為使用虛擬網路私人位址作為來源 IP 位址。 此切換讓您不需要 IP 防火牆中使用的保留公用 IP 位址,即可存取服務。
注意
使用服務端點,服務流量子網路中虛擬機器的來源 IP 位址會從使用公用 IPv4 位址切換為使用私人 IPv4 位址。 使用 Azure 公用 IP 位址的現有 Azure 服務防火牆規則會停止使用此參數。 請先確定 Azure 服務防火牆規則允許這個參數,再設定服務端點。 設定服務端點時,您也可能遇到來自此子網路的服務流量暫時中斷。
保護來自內部部署的 Azure 服務存取
根據預設,無法從內部部署網路觸達已放入虛擬網路進行保護的 Azure 服務資源。 如果需要允許來自內部部署的流量,您也必須允許內部部署或 ExpressRoute 中的公用 (通常是 NAT) IP 位址。 您可以透過 Azure 服務資源的 IP 防火牆設定,來新增這些 IP 位址。
ExpressRoute:如果您從內部使用 ExpressRoute 進行公用對等互連或 Microsoft 對等互連,您必須識別所使用的 NAT IP 位址。 在公用對等互連中,每個 ExpressRoute 線路預設都會使用兩個 NAT IP 位址,在流量進入 Microsoft Azure 網路骨幹時套用至 Azure 服務流量。 在 Microsoft 對等互連中,NAT IP 位址會由客戶提供或由服務提供者提供。 若要允許存取您的服務資源,就必須在資源 IP 防火牆設定中允許這些公用 IP 位址。 若要尋找您的公用對等互連 ExpressRoute 線路 IP 位址,請透過 Azure 入口網站開啟有 ExpressRoute 的支援票證。 如需適用於 ExpressRoute 公用和 Microsoft 對等互連的 NAT 詳細資訊,請參閱 ExpressRoute NAT 需求。
組態
- 在虛擬網路中的子網路上設定服務端點。 端點會使用在子網路內執行之任何類型的計算執行個體。
- 您可以對子網路上所有支援的 Azure 服務 (例如 Azure 儲存體或 Azure SQL Database) 設定多個服務端點。
- 針對 Azure SQL Database,虛擬網路必須位於與 Azure 服務資源相同的區域中。 針對 Azure 儲存體,您可以在預覽中啟用對其他區域中虛擬網路的存取。 針對其他所有服務,您可以將 Azure 服務資源放入任何區域中的虛擬網路進行保護。
- 端點設定所在的虛擬網路可以位於與 Azure 服務資源相同或不同的訂用帳戶中。 如需設定端點和保護 Azure 服務所需權限的詳細資訊,請參閱佈建。
- 對於支援的服務,您可以使用服務端點,將新的或現有資源放到虛擬網路保護。
考量
啟用服務端點之後,來源 IP 位址會在與該子網路中的服務進行通訊時,從使用公用 IPv4 位址切換為使用其私人 IPv4 位址。 在此切換期間,會關閉該服務的任何現有開放 TCP 連線。 在啟用或停用子網路服務的服務端點時,確定沒有任何重要工作正在執行中。 此外,確保在 IP 位址切換之後,您的應用程式可以自動連線到 Azure 服務。
IP 位址切換只會影響來自您虛擬網路的服務流量。 不會影響從指派給您虛擬機器的公用 IPv4 位址傳送或傳送至其中的任何其他流量。 對於 Azure 服務,如果您有使用 Azure 公用 IP 位址的現有防火牆規則,則這些規則會停止使用切換至虛擬網路私人位址。
透過服務端點,Azure 服務的 DNS 項目會保持現狀,並繼續解析為指派給 Azure 服務的公用 IP 位址。
具有服務端點的網路安全性群組 (NSG):
- 根據預設,NSG 允許輸出網際網路流量,同時也允許從您的 VNet 到 Azure 服務的流量。 此流量會繼續以相同方式搭配服務端點運作。
- 如果您想要拒絕所有輸出網際網路流量,只允許對特定 Azure 服務的流量,您可以使用 NSG 中的服務標籤來執行此動作。 您可以將支援的 Azure 服務指定為 NSG 規則中的目的地,Azure 也會提供對作為每個標籤底層之 IP 位址的維護。 如需詳細資訊,請參閱 Azure 服務標籤。
案例
- 對等互連、已連線或多個虛擬網路:若要將 Azure 服務放到一個虛擬網路或多個虛擬網路內的多個子網路保護,您可以獨立啟用每個子網路上的服務端點,並將 Azure 服務資源放到所有子網路保護。
- 篩選從虛擬網路到 Azure 服務的流量:如果想檢查或篩選從虛擬網路傳送至 Azure 服務的流量,可在虛擬網路內部署網路虛擬設備。 接著,可以將服務端點套用到網路虛擬設備部署所在的子網路,只將 Azure 服務資源放到此子網路保護。 如果您想要使用網路虛擬設備篩選,讓來自虛擬網路的 Azure 服務存取只限於特定的 Azure 資源,則此案例可能很有幫助。 如需詳細資訊,請參閱使用網路虛擬設備輸出。
- 將 Azure 資源放入直接部署至虛擬網路的服務進行保護:您可以將各種 Azure 資源直接部署至虛擬網路中的特定子網路。 在受控服務子網路上設定服務端點,即可將 Azure 服務資源放到受控服務子網路保護。
- 來自 Azure 虛擬機器的磁碟流量:對受控和非受控磁碟而言,虛擬機器磁碟流量不會因為 Azure 儲存體的服務端點路由變更而受到影響。 此流量包括 diskIO 以及掛接和卸載。 您可以限制對分頁 Blob 的 REST 存取,以透過服務端點和 Azure 儲存體網路規則來選取網路。
記錄和疑難排解
當您將服務端點設定至特定服務後,請驗證服務端點路由是否有作用,方法如下:
- 驗證服務診斷中任何服務要求的來源 IP 位址。 所有透過服務端點的新要求都會將要求的來源 IP 位址顯示為虛擬網路私人 IP 位址 (已指派給從您的虛擬網路提出要求的用戶端)。 未透過端點,此位址是 Azure 公用 IP 位址。
- 檢視子網路的任何網路介面上的有效路由。 服務的路由:
- 顯示每個服務之位址前置詞範圍的更特定預設路由
- 的 nextHopType 為 VirtualNetworkServiceEndpoint
- 指出與服務的更直接連線已作用 (相較於任何強制通道路由)
注意
服務端點路由會覆寫 Azure 服務之位址前置詞相符項目的任何 BGP 或 UDR 路由。 如需詳細資訊,請參閱使用有效路由進行疑難排解。
佈建
擁有虛擬網路寫入權限的使用者可以在虛擬網路上單獨設定服務端點。 若要將 Azure 服務資源放入 VNet 進行保護,使用者必須針對新增的子網路具備對 Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action 的權限。 內建的服務管理員角色預設會包括此權限。 您可以透過建立自訂角色來修改權限。
如需內建角色的詳細資訊,請參閱 Azure 內建角色。 如需將特定權限指派給自訂角色的詳細資訊,請參閱 Azure 自訂角色。
虛擬網路和 Azure 服務資源可以位在相同或不同的訂用帳戶中。 某些 Azure 服務 (並非所有) ,例如 Azure 儲存體和 Azure 金鑰保存庫也支援跨不同 Active Directory (AD) 租使用者的服務端點。 這表示虛擬網路和 Azure 服務資源可以位於不同的 Active Directory (AD) 租使用者中。 如需詳細資訊,請參閱個別服務檔。
價格和限制
使用服務端點不需要額外費用。 Azure 服務 (Azure 儲存體、Azure SQL Database 等等) 的目前定價模型照常適用。
虛擬網路中的服務端點總數沒有限制。
某些 Azure 服務資源 (例如 Azure 儲存體帳戶) 可能會強制執行用來保護資源的子網路數目限制。 如需詳細資料,請參閱後續步驟一節中適用於各種服務的文件。
VNet 服務端點原則
VNet 服務端點原則可讓您篩選針對 Azure 服務的虛擬網路流量。 此篩選只允許特定的 Azure 服務資源通過服務端點。 服務端點原則可針對流向 Azure 服務的虛擬網路流量提供更細微的存取控制。 如需詳細資訊,請參閱虛擬網路服務端點原則。
常見問題集
如需常見問題集,請參閱虛擬網路服務端點常見問題集。