整合 Azure 服務與虛擬網路以進行網路隔離
Azure 服務的虛擬網路整合可讓您將服務的存取權鎖定為僅限您的虛擬網路基礎結構。 虛擬網路基礎結構也包含對等互連的虛擬網路和內部部署網路。
虛擬網路整合透過下列一或多種方法來為 Azure 服務提供網路隔離的優點:
將服務的專用執行個體部署至虛擬網路。 這樣一來,就能在虛擬網路和內部部署網路中私下存取這些服務。
使用私人端點,由 Azure Private Link 提供私人且安全的方式連線至服務。 私人端點會使用您虛擬網路中的私人 IP 位址,有效地將服務帶入您的虛擬網路。
使用公用端點存取服務,方法是透過服務端點,將虛擬網路擴充至服務。 服務端點可確保服務資源受到虛擬網路保護。
使用服務標籤來允許或拒絕 Azure 資源的流量往返公用 IP 端點。
將專用 Azure 服務部署至虛擬網路
若在虛擬網路中部署專用 Azure 服務,可以使用私人 IP 位址,私下與該服務資源通訊。
將專用 Azure 服務部署至您的虛擬網路會有下列功能:
虛擬網路中的資源可以透過私人 IP 位址,私下互相通訊。 例如,在虛擬網路中,直接在於虛擬機器上執行的 HDInsight 和 SQL Server 之間傳輸資料。
內部部署資源可以透過站對站 VPN (VPN 閘道) 或 ExpressRoute,使用私人 IP 位址,存取虛擬網路中的資源。
虛擬網路則可以使用私人 IP 位址進行對等互連,來讓虛擬網路中的資源彼此通訊。
Azure 服務會完全管理服務虛擬網路中的服務執行個體。 此管理包括監視資源的健康情況和調整負載。
服務執行個體已部署至虛擬網路中的子網路。 根據服務提供的指導,必須透過網路安全性群組,開放子網路的輸入和輸出網路存取。
有些服務會對其部署所在的子網路施加限制。 這些限制會限制原則的應用、路由或結合相同子網路內的 VM 和服務資源。 請檢查每個服務的特定限制,因為它們可能會隨著時間而改變。 這類服務的範例包括 Azure NetApp Files、專用 HSM、Azure Container Instances、App Service。
(選擇性) 服務可能需要委派的子網路,作為子網路可以裝載特定服務的明確識別項。 Azure 服務有明確權限,可搭配委派在委派的子網路中建立服務特定資源。
請在具有委派子網的虛擬網路上參閱 REST API 回應的範例。 您可以透過可用委派 API,取得使用委派子網模型的完整服務清單。
如需可部署至虛擬網路的服務清單,請參閱將專用 Azure 服務部署至虛擬網路。
私人連結和私人端點
私人端點可讓您將來自虛擬網路的流量安全地輸入至 Azure 資源。 建立此私人連結不需要使用公用 IP 位址。 在您的虛擬網路中,私人端點是 Azure 服務的特殊網路介面。 當您建立資源的私人端點時,私人端點會在虛擬網路上的用戶端與 Azure 資源之間提供安全的連線。 私人端點會獲指派您虛擬網路 IP 位址範圍中的 IP 位址。 私人端點與 Azure 服務之間的連線是私人連結。
在圖中,右方顯示的 Azure SQL Database 是目標 PaaS 服務。 目標可以是支援私人端點的任何服務。 有多個邏輯 SQL Server 執行個體可供多個客戶使用,這些執行個體都可以透過公用 IP 位址進行連線。
在此情況下,有一個邏輯 SQL Server 執行個體為公開且具有私人端點。 此端點讓客戶可以透過用戶端所在虛擬網路中的私人 IP 位址連線至該 SQL Server。 由於 DNS 設定的變更,用戶端應用程式現在可以將其流量直接傳送至該私人端點。 目標服務會看到流量源自虛擬網路的私人 IP 位址。
綠色箭號代表私人連結。 目標資源的公用 IP 位址仍可與私人端點一同「存在」。 用戶端應用程式不再使用公用 IP。 防火牆現在可以不允許該公用 IP 位址的任何存取,因此「只能」透過私人端點進行存取。 不使用私人端點的話,從虛擬網路到 SQL 伺服器的連線仍會源自公用 IP 位址。 藍色箭號代表此流程。
用戶端應用程式通常會使用 DNS 主機名稱來連線目標服務。 不需要對應用程式進行任何變更。 虛擬網路中的 DNS 解析必須設定,才能將同一主機名稱解析為目標資源的私人 IP 位址,而不是原始的公用 IP 位址。 經由用戶端和目標服務之間的私人路徑,用戶端不會依賴公用 IP 位址。 目標服務可以關閉公用存取。
這種公開的個別執行個體可讓您防止資料遭竊。 惡意執行者無法從資料庫收集資訊,再將資訊上傳至另一個公用資料庫或儲存體帳戶。 您可以防止存取「所有」 PaaS 服務的公用 IP 位址。 您仍然可以透過其私人端點來允許存取 PaaS 執行個體。
如需 Azure Private Link 和支援的 Azure 服務清單詳細資訊,請參閱什麼是 Azure Private Link?。
服務端點
服務端點透過 Azure 骨幹網路,為 Azure 服務提供安全且直接的連線能力。 端點可以保護您的 Azure 服務,僅供您的虛擬網路進行存取。 服務端點可讓虛擬網路中的私人 IP 位址連線至 Azure 服務,而不需要使用輸出公用 IP。
如果沒有服務端點,限制只能存取虛擬網路可能十分困難。 來源 IP 位址可能會變更,或可能會與其他客戶共用。 例如,共用輸出 IP 位址的 PaaS 服務。 如果使用服務端點,目標服務看到的來源 IP 位址會變成來自您虛擬網路的私人 IP 位址。 此輸入流量的變更可讓您輕鬆地識別來源,並藉此設定適當的防火牆規則。 例如,只允許來自該虛擬網路中特定子網路的流量。
如果使用服務端點,Azure 服務的 DNS 項目會保留現狀,並繼續解析為指派給 Azure 服務的公用 IP 位址。
在下圖中,右側是同一個目標 PaaS 服務。 左側有一個客戶虛擬網路,具有兩個子網路:子網路 A 有以 Microsoft.Sql
為目標的服務端點,子網路 B 沒有已定義的服務端點。
當子網路 B 中的資源嘗試連線任何 SQL Server 時,會使用公用 IP 位址進行輸出通訊。 藍色箭號代表此流量。 SQL Server 防火牆必須使用該公用 IP 位址來允許或封鎖網路流量。
當子網路 A 中的資源嘗試連線至資料庫伺服器時,會被視為來自虛擬網路內部的私人 IP 位址。 綠色箭號代表此流量。 現在,SQL Server 防火牆可以明確地允許或封鎖子網路 A。不需要知道來源服務的公用 IP 位址。
服務端點適用於目標服務的「所有」執行個體。 例如,Azure 客戶的「所有」 SQL Server 執行個體,而不只是客戶的執行個體。
如需詳細資訊,請參閱虛擬網路服務端點
服務標籤
服務標籤代表來自指定 Azure 服務的一組 IP 位址首碼。 透過服務標籤,您可以定義網路安全性群組或 Azure 防火牆的網路存取控制。 您可以允許或拒絕服務的流量。 若要允許或拒絕流量,請在規則的來源或目的地欄位中指定服務標籤。
達到網路隔離,在存取具有公用端點的 Azure 服務時,防止網際網路存取您的 Azure 資源。 建立輸入/輸出網路安全性群組規則,拒絕往返網際網路的流量,允許往返 AzureCloud 的流量。 如需更多服務標籤,請參閱特定 Azure 服務中可用的服務標籤。
如需服務標籤和支援服務標籤的 Azure 服務詳細資訊,請參閱服務標籤概觀
比較私人端點和服務端點
注意
Microsoft 建議使用 Azure Private Link。 就從內部部署私人存取 PaaS、內建資料外流保護,以及將服務對應至您自有網路中的私人 IP 而言,Private Link 可以提供更好的功能。 如需詳細資訊,請參閱 Azure Private Link
與其只看服務端點和私人端點的差異,值得一提的是這兩種方法都有共同的特性。
這兩種方法的功能都是用來對目標服務上的防火牆進行更細微的控制。 例如,限制存取 SQL Server 資料庫或儲存體帳戶。 不過這兩種方法的作業是不同的,如先前各節所述。
這兩種方法都克服了來源網路位址轉譯 (SNAT) 連接埠耗盡問題。 當您的通道流量通過具有 SNAT 連接埠限制的網路虛擬裝置 (NVA) 或服務時,您可能會發現耗盡問題。 您使用服務端點或私人端點時,流量會採用直達目標服務的最佳路徑。 這兩種方法都有益於需要大量頻寬的應用程式,因為這兩種方法的延遲和成本都會降低。
在這兩種方法的使用情況下,您還是可以確定流向目標服務的流量會通過網路防火牆或 NVA。 這個程序在兩種方法中是不同的。 使用服務端點時,您應該在「防火牆」子網上設定服務端點,而不是在部署來源服務的子網路上設定服務端點。 使用私人端點時,您會將適用於私人端點 IP 位址的使用者定義路由 (UDR),放置在「來源」子網路上。 而不是在私人端點的子網路中。
若要比較並了解其中的差異,請參閱下表。
考量事項 | 服務端點 | 私人端點 |
---|---|---|
設定適用的服務範圍層級 | 整個服務 (例如,「所有」 SQL Server 或「所有」客戶的儲存體帳戶) | 個別執行個體 (例如,特定 SQL Server 執行個體或「您」擁有的儲存體帳戶) |
內建資料外流保護 - 惡意的內部人員能夠將資料從受保護的 PaaS 資源移動/複製到其他未受保護的 PaaS 資源 | No | Yes |
從內部部署私人存取 PaaS 資源 | No | Yes |
服務存取所需的 NSG 設定 | 是 (使用服務標籤) | No |
無須使用任何公用 IP 位址即可連線至服務 | No | Yes |
Azure 到 Azure 的流量會保持在 Azure 骨幹網路上 | Yes | Yes |
服務可以停用其公用 IP 位址 | No | Yes |
您可以輕鬆地限制來自 Azure 虛擬網路的流量 | 是 (允許來自特定子網路的存取和 (或) 使用 NSG) | Yes |
您可以輕鬆地限制來自內部部署的流量 (VPN/ExpressRoute) | N/A** | Yes |
需要變更 DNS | No | 是 (請參閱 DNS 設定) |
影響解決方案的成本 | No | 是 (請參閱 Private Link 定價) |
影響解決方案的複合 SLA | No | 是 (Private Link 服務本身具有 99.99% 的 SLA) |
安裝與維護 | 容易設定且管理額外負荷較小 | 需要額外的心力 |
限制 | 虛擬網路中的服務端點總數沒有限制。 Azure 服務資源可能會強制執行用來保護資源的子網路數目限制。 (請參閱虛擬網路常見問題集) | 是 (請參閱 Private Link 限制) |
**受到虛擬網路保護的 Azure 服務資源無法從內部部署網路連線。 如果您要允許來自內部部署的流量,請允許來自內部部署或 ExpressRoute 中的公用 (通常是 NAT) IP 位址。 透過 Azure 服務資源的 IP 防火牆設定,可以新增這些 IP 位址。 如需詳細資訊,請參閱虛擬網路常見問題集。