Azure 容器應用程式 中配置虛擬網路的網絡安全群組

用於配置虛擬網路所需的網路安全群組(NSG)與 Kubernetes 所需的設定非常相似。

你可以透過 NSG 來協助保護網路,這些規則比預設 NSG 規則更嚴格,能控制 Azure 容器應用程式 環境在訂閱層級的所有進出流量。

在工作負載設定環境中,支援使用者定義路由(UDR)及 防火牆保護出站流量 。 關於如何為容器應用程式設置 UDR,以限制與 Azure 防火牆 的出站流量,請參見 Control Azure 容器應用程式 中的用戶自訂路由

當你使用外部工作負載設定環境時,進入容器應用程式的流量會經過管理 資源群組 中存在的公共 IP 而非你的子網路。 這個限制意味著不支援在外部工作負載設定環境中透過 NSG 或防火牆鎖定入站流量。

在舊有的僅消費環境中,Azure ExpressRoute 不被支援,自訂 UDR 的支援也有限。 如需僅限耗用量環境中可用 UDR 支援層級的詳細資訊,請參閱 常見問題

NSG 允許規則

下表說明如何設定NSG允許規則的集合。 你需要的具體規則取決於你的 環境類型

連入

注意

使用工作負載設定檔時,入站 NSG 規則只會適用於通過虛擬網路的流量。 如果你設定容器應用程式接受來自公共網際網路的流量,進來的流量會經過公共端點而非虛擬網路。

通訊協定 來源 來源連接埠 目的地 目的地連接埠 描述
TCP 您的用戶端 IP * 容器應用程式的子網1 8031080 當你使用 HTTP 時,允許用戶端 IP 存取容器應用程式。 31080 是容器應用程式環境邊緣代理伺服器回應 HTTP 流量的埠口。 它位於內部負載平衡器後方。
TCP 您的用戶端 IP * 容器應用程式的子網1 44331443 當你使用 HTTPS 時,允許你的客戶端 IP 存取容器應用程式。 31443 是容器應用環境邊緣代理對 HTTPS 流量回應的埠口。 它位於內部負載平衡器後方。
TCP Azure Load Balancer * 容器應用程式的子網 30000-32767 2 允許 Azure Load Balancer 探查後端集區。
TCP 您的用戶端 IP * 容器應用程式的子網 公開的埠和 30000-327672 此規則僅適用於 TCP 應用程式。 HTTP 應用程式並非必須。

1 建立環境時,你將這個位址作為參數傳遞。 例如: 10.0.0.0/21

2 建立容器應用程式時需要完整範圍,因為該範圍內的埠是動態分配的。 建立容器應用程式後,所需的埠口是兩個不變的靜態值,你可以更新你的 NSG 規則。

輸出

通訊協定 來源 來源連接埠 目的地 目的地連接埠 描述
TCP 容器應用程式的子網 * MicrosoftContainerRegistry 443 此服務標籤代表系統容器的 Microsoft Artifact 登錄檔。
TCP 容器應用程式的子網 * AzureFrontDoor.FirstParty 443 此服務標籤是服務標籤的 MicrosoftContainerRegistry 相依關係。
任意 容器應用程式的子網 * 容器應用程式的子網 * 此規則允許容器應用程式子網路中的 IP 間通訊。
TCP 容器應用程式的子網 * AzureActiveDirectory 443 如果您使用受控識別,則為必要專案。
TCP 容器應用程式的子網 * AzureMonitor 443 這條規則只有在使用 Azure 監視器 時才需要。 它允許撥打到 Azure 監視器 的外撥電話。
TCP 和 UDP 容器應用程式的子網 * 168.63.129.16 53 此規則允許環境使用 Azure DNS 解析主機名稱。

Azure DNS 的 DNS 通訊不受 NSG 約束,除非是透過 AzurePlatformDNS 服務標籤來針對。 若要封鎖 DNS 流量,請建立輸出規則來拒絕服務標籤的 AzurePlatformDNS 流量。
TCP 容器應用程式的子網1 * 你的容器登記 容器登錄的埠 此規則是與你的容器登記處溝通所必須的。 例如,當你使用 Azure Container Registry 時,目的地需要 AzureContainerRegistryAzureActiveDirectory。 埠口就是你容器登錄檔的埠,除非你用的是私有端點。2
TCP 容器應用程式的子網 * Storage.<Region> 443 這條規則只有在使用 Container Registry 來架設映像時才需要。

1 建立環境時,你將這個位址作為參數傳遞。 例如: 10.0.0.0/21

2 如果你在虛擬網路上使用 Container Registry 並設定 NSG,請在容器登錄檔建立一個私有端點,讓 Container Apps 能透過虛擬網路拉取映像檔。 當容器登錄是用私有端點設定時,你不需要為容器登錄加 NSG 規則。

考量

  • 如果您正在執行 HTTP 伺服器,您可能需要新增連接埠 80443
  • 不要明確否認 NSG 規則中Azure DNS地址 168.63.129.16。 如果你有,容器應用程式的環境就無法運作了。
  • 使用帶有 Azure 容器應用程式 環境的私有端點