共用方式為


使用網路安全組保護 Azure Container Apps 中的自定義 VNET

設定虛擬網路所需的網路安全組 (NSG) 與 Kubernetes 所需的設定非常類似。

您可以使用比預設 NSG 規則更嚴格的規則來鎖定網路,以控制訂用帳戶層級容器應用程式環境的所有輸入和輸出流量。

在工作負載配置文件環境中,支援使用者定義的路由(UDR)和保護 具有防火牆 的輸出流量。 使用外部工作負載配置文件環境時,Azure Container Apps 的 輸入流量會透過受控資源群組 中的公用 IP 路由傳送,而不是透過子網路由傳送。 這表示不支援透過NSG或外部工作負載配置文件環境的防火牆鎖定輸入流量。 如需詳細資訊,請參閱 Azure Container Apps 環境中的網路功能。

在僅限取用環境中,不支援快速路由,而且自定義使用者定義路由(UDR) 的支援有限。 如需僅限取用環境中可用的 UDR 支援層級詳細資訊,請參閱 常見問題

NSG 允許規則

下表說明如何設定NSG允許規則的集合。 所需的特定規則取決於您 的環境類型

連入

注意

使用工作負載配置檔時,輸入NSG規則僅適用於透過虛擬網路的流量。 如果您的容器應用程式設定為接受來自公用因特網的流量,連入流量會通過公用端點,而不是虛擬網路。

通訊協定 來源 來源連接埠 Destination 目的地連接埠 描述
TCP 您的用戶端 IP * 容器應用程式的子網1 80, 31080 使用 HTTP 時,允許用戶端 IP 存取 Azure Container Apps。 31080 是 Container Apps Environment Edge Proxy 回應 HTTP 流量的埠。 它位於內部負載平衡器後方。
TCP 您的用戶端 IP * 容器應用程式的子網1 443, 31443 使用 HTTPS 時,允許用戶端 IP 存取 Azure Container Apps。 31443 是容器應用程式環境Edge Proxy回應 HTTPS 流量的埠。 它位於內部負載平衡器後方。
TCP AzureLoadBalancer * 容器應用程式的子網 30000-327672 允許 Azure Load Balancer 探查後端集區。

1 當您建立環境時,此位址會當做參數傳遞。 例如: 10.0.0.0/21
2 建立 Azure Container Apps 作為範圍內埠時,需要完整範圍,方法是動態配置。 建立之後,所需的埠是兩個不可變的靜態值,而且您可以更新 NSG 規則。

輸出

通訊協定 來源 來源連接埠 Destination 目的地連接埠 描述
TCP 容器應用程式的子網 * MicrosoftContainerRegistry 443 這是系統容器Microsoft容器登錄的服務標籤。
TCP 容器應用程式的子網 * AzureFrontDoor.FirstParty 443 這是服務標籤的 MicrosoftContainerRegistry 相依性。
任意 容器應用程式的子網 * 容器應用程式的子網 * 允許容器應用程式子網中的IP之間進行通訊。
TCP 容器應用程式的子網 * AzureActiveDirectory 443 如果您使用受控識別,則這是必要專案。
TCP 容器應用程式的子網 * AzureMonitor 443 只有在使用 Azure 監視器時才需要。 允許對 Azure 監視器進行輸出呼叫。
TCP 和 UDP 容器應用程式的子網 * 168.63.129.16 53 可讓環境使用 Azure DNS 解析主機名。
TCP 容器應用程式的子網1 * 您的 Container Registry 容器登錄的埠 這需要與您的容器登錄進行通訊。 例如,使用 ACR 時,您需要 AzureContainerRegistryAzureActiveDirectory 作為目的地,除非使用私人端點,否則埠會是容器登錄的埠。2
TCP 容器應用程式的子網 * Storage.<Region> 443 只有在使用 Azure Container Registry 來裝載映射時才需要。

1 當您建立環境時,此位址會當做參數傳遞。 例如: 10.0.0.0/21
2 如果您使用 Azure Container Registry (ACR) 搭配虛擬網路上設定的 NSG,請在 ACR 上建立私人端點,以允許 Azure Container Apps 透過虛擬網路提取映像。 使用私人端點設定時,您不需要為 ACR 新增 NSG 規則。

考量

  • 如果您正在執行 HTTP 伺服器,您可能需要新增連接埠 80443
  • 請勿明確拒絕傳出NSG規則中的 Azure DNS 位址 168.63.129.16 ,或您的 Container Apps 環境將無法運作。