共用方式為


使用網路安全組保護 Azure Container Apps 中的虛擬網路

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

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

在工作負載配置文件環境中,支援使用者定義的路由(UDR)和保護 具有防火牆 的輸出流量。

注意

如需如何使用 Container Apps 設定 UDR 以限制 Azure 防火牆的輸出流量的指南,請流覽容器 應用程式和 Azure 防火牆的作法。

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

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

NSG 允許規則

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

連入

注意

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

通訊協定 來源 來源連接埠 目的地 目的地連接埠 描述
TCP 您的用戶端 IP * 容器應用程式的子網1 8031080 使用 HTTP 時,允許用戶端 IP 存取 Azure Container Apps。 31080 是 Container Apps Environment Edge Proxy 回應 HTTP 流量的埠。 它位於內部負載平衡器後方。
TCP 您的用戶端 IP * 容器應用程式的子網1 44331443 使用 HTTPS 時,允許用戶端 IP 存取 Azure Container Apps。 31443 是容器應用程式環境Edge Proxy回應 HTTPS 流量的埠。 它位於內部負載平衡器後方。
TCP Azure負載平衡器 (AzureLoadBalancer) * 容器應用程式的子網 30000-32767 2 允許 Azure Load Balancer 探查後端集區。
TCP 您的用戶端 IP * 容器應用程式的子網 公開的埠和 30000-327672 這隻適用於 TCP 應用程式。 HTTP 應用程式不需要此專案。

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

輸出

通訊協定 來源 來源連接埠 目的地 目的地連接埠 描述
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 解析主機名。

注意:除非以 AzurePlatformDNS 服務標籤為目標,否則與 Azure DNS 的 DNS 通訊不會受限於 NSG。 若要封鎖 DNS 流量,請建立輸出規則來拒絕服務標籤的 AzurePlatformDNS 流量。
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 環境無法運作。

後續步驟