共用方式為


Azure Container Apps 的網路功能 - 登陸區域加速器

Container Apps 負責在所謂的 Container Apps 環境中處理作業系統更新、調整、容錯移轉程式和資源配置。 環境會透過虛擬網路 (VNet) 建立安全界限,封裝一或多個容器應用程式或作業。

根據預設,系統會自動為容器應用程式環境建立 VNet。 不過,如果您想要更詳細地控制網路,您可以在建立容器應用程式環境時使用預先存在的 VNet。

環境可以接受 外部 要求,或只能 鎖定至內部 要求。

外部環境會使用可透過公用網際網路存取的虛擬 IP 位址來公開容器應用程式。 或者,內部環境會在虛擬網路內的 IP 位址上公開其容器應用程式。 您可以在容器應用程式環境內或透過虛擬網路限制流量。 如需詳細資訊,請參閱 Azure Container Apps 登陸區域加速器 的安全性考慮。

考量

  • 子網需求

    • 虛擬網路上的環境需要專用子網。 子網的 CIDR 應該 /23 或更大,只供取用環境使用, /27 或工作負載設定檔環境較大。
  • IP 位址管理

    • VNet 中會保留 60 個 IP 的基底。 隨著每個應用程式修訂從子網取得 IP 位址,此數量可能會隨著容器環境調整而增加。 輸出 IP 可能會隨著時間而變更。

    • 僅支援 IPv4 位址(不支援 IPv6)。

    • 不論您有外部或內部環境,受控公用 IP 資源都會處理輸出要求和管理流量。

  • 網路安全性

    • 您可以使用比控制環境所有輸入和輸出流量的預設 NSG 規則更嚴格的規則,透過網路安全性群組 (NSG) 鎖定網路。
  • Proxy 和加密

    • 容器應用程式會使用 Envoy Proxy 作為邊緣 HTTP Proxy。 所有 HTTP 要求都會自動重新導向至 HTTP。 Envoy 在越過界限後終止傳輸層安全性(TLS)。 只有使用 Dapr 時,才能使用相互傳輸層安全性 (mTLS)。 不過,由於 Envoy 會終止 mTLS,因此不會加密來自 Envoy 到已啟用 Dapr 的容器應用程式的輸入呼叫。
  • DNS 考慮

    • 部署環境時,Container Apps 會執行許多 DNS 查閱。 其中一些查閱是指內部 Azure 網域。 如果您透過自訂 DNS 解決方案強制 DNS 流量,請將 DNS 伺服器設定為將未解析的 DNS 查詢轉送至 Azure DNS。

    • 對於在 Container Apps 內部執行的應用程式,系統會依賴 Azure 私用 DNS 區域,將 DNS 名稱解析為內部 IP 位址。 在私用 DNS區域內,您可以將萬用字元 ( *A 記錄指向內部負載平衡器 IP 位址。

  • 輸出流量管理

    • 輸出網路流量(輸出)應該透過Azure 防火牆或網路虛擬裝置叢集路由傳送。
  • 跨環境 進行負載平衡:

    • 若要在多個 Container Apps 環境中執行您的應用程式,以取得復原或鄰近性的原因,請考慮使用全域負載平衡服務,例如Azure 流量管理員或 Azure Front Door。
  • 網路安全性

    • 使用網路安全性群組 (NSG) 保護您的網路,並封鎖不必要的輸入和輸出流量。

    • 針對 Azure Container Apps 環境使用 Azure DDoS 保護。

    • 使用 Private Link 來保護網路連線,以及與其他受控 Azure 服務的私人 IP 型連線。

    • 請確定解決方案的所有端點(內部和外部)只接受 TLS 加密連線(HTTPS)。

    • 使用具有 HTTPS/TCP 輸入的 Web 應用程式防火牆,以進行網際網路對向和安全性關鍵且面向內部的 Web 應用程式。

    • 在某些情況下,您可能想要將 Container Apps Web 應用程式直接公開至網際網路,並使用協力廠商 CDN/WAF 服務加以保護。

建議

  • 網路組態 :在自訂虛擬網路中部署您的容器應用程式,以進一步控制網路設定。

  • 保護輸入連線 :發佈網際網路對向服務時,請使用 Azure 應用程式閘道 (WAF_v2 SKU) 或 Azure Front Door (含 Web 應用程式防火牆) 來保護輸入連線。

  • 內部流量管理 :針對Azure 應用程式閘道或 Azure Front Door 等服務使用內部網路設定,確保從負載平衡器到 Azure Container Apps 環境的流量會使用內部連線。

  • 公開應用程式 :啟用輸入以透過 HTTP 或 TCP 埠公開您的應用程式。

參考資料