使用網路安全組保護 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-32767 2 |
允許 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 時,您需要 AzureContainerRegistry 和 AzureActiveDirectory 作為目的地,除非使用私人端點,否則埠會是容器登錄的埠。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 伺服器,您可能需要新增連接埠
80
和443
。 - 請勿明確拒絕傳出NSG規則中的 Azure DNS 位址
168.63.129.16
,或您的 Container Apps 環境將無法運作。