Azure 容器應用程式 環境中虛擬網路的私有端點與 DNS

Azure 私有端點讓位於你私有網路中的客戶端能夠透過 Azure Private Link 安全連接到你的 Azure 容器應用程式 環境。 Private Link 連線可避免接觸公共網路。 私人端點會在你的 Azure 虛擬網路位址空間中使用私人 IP 位址,通常會設定為私人 DNS 區域。

在工作負載設定檔環境中,使用量和專用方案都支援私人端點。

帳單管理

私人端點會產生額外費用。 當你在容器應用中啟用私人端點時,你會同時計費:

  • Private Link 的資源。
  • 專門用於容器應用的私有端點基礎設施。 它以獨立的 專用方案管理 費用形式出現,適用於消費型與專用型方案。

操作說明文章

考慮事項

  • 若要使用私人端點,您必須停用 公用網路存取。 預設會啟用公用網路存取,這表示私人端點已停用。
  • 若要使用擁有自訂網域和 頂點網域 作為 主機名稱記錄類型的私有端點,你必須設定一個與公用 DNS 名稱相同的私有 DNS 區域。 在紀錄集中,設定你私有端點的私有 IP 位址,而不是容器應用程式環境的 IP。 當您使用 CNAME 設定自訂網域時,安裝程式不會變更。 欲了解更多資訊,請參閱 使用現有憑證設定自訂網域。
  • 您的私人端點虛擬網路可以不同於您為容器應用程式整合的虛擬網路。
  • 您可以將私人端點新增至新的和現有的工作負載配置文件環境。

要透過私有端點連接容器應用程式,必須設定私人 DNS 區域。

服務 子資源 私用 DNS 區域名稱
Azure 容器應用程式 (Microsoft.App/ManagedEnvironments) managedEnvironment privatelink.{regionName}.azurecontainerapps.io

您也可以使用私人端點,並透過與 Azure Front Door 的私人連線來取代 Azure 應用程式閘道。

DNS

在容器應用程式環境的虛擬網路中設定 DNS 非常重要,原因如下:

  • DNS 讓你的容器應用程式能將網域名稱解析成 IP 位址,讓它們能發現並與虛擬網路內外的服務溝通。 這些服務包括應用閘道、網路安全群組及私人端點。

  • 自訂 DNS 設定提升安全性,讓你能控制並監控容器應用程式所進行的 DNS 查詢。 這項能力幫助你識別並減輕潛在的安全威脅,確保容器應用程式只與受信任的網域通訊。

自訂 DNS

如果你的虛擬網路使用自訂 DNS 伺服器,而非預設的 Azure 提供的 DNS 伺服器,請設定你的 DNS 伺服器將未解決的 DNS 查詢轉發到 168.63.129.16。 Azure遞迴解析器使用此IP位址來解析請求。

當你在設定網路安全群組或防火牆時,不同工作負載配置類型的 DNS 要求會有所不同:

  • 使用方案:您必須允許流量流向 AzurePlatformDNS 服務標籤(包含 168.63.129.16)。 封鎖這個服務標籤會阻礙容器應用程式環境正常運作,即使你已經設定了自訂的 DNS 伺服器。

  • 專用工作負載設定檔:如果需要,你可以封鎖 AzurePlatformDNS 服務標籤,因為專用工作負載設定檔基本功能不需要存取 Azure DNS。

    對於具有嚴格 DNS 安全需求的組織(例如銀行業和醫療保健業),專用工作負載設定檔提供一個選項,讓您可透過自訂 DNS 伺服器完全控制 DNS 流量流向,且不需要 Azure DNS 存取權限。

這很重要

私有 DNS 區域的使用者不得封鎖或覆寫 *.hcp.<LOCATION>.azmk8s.io、mcr.microsoft.com 及其他與 Azure Kubernetes Service 共用且列於 Azure Global required FQDN / application rules 中的 DNS 要求之解析。 未能確保所需條目的可解析性,會干擾容器應用程式的環境運作與網路。

虛擬網路範圍的 Ingress

如果你打算在內部環境中使用 Ingress 來管理虛擬網路範圍,請以以下方式之一配置你的網域:

  • 非自訂網域:若您不打算使用自訂網域,請建立私人 DNS 區域以將容器應用程式環境的預設網域解析為容器應用程式環境的靜態 IP 位址。 你可以使用 Azure 私用 DNS 或是你自己的 DNS 伺服器。

    如果你使用 Azure 私用 DNS,請建立一個名為容器應用程式環境預設網域(<UNIQUE_IDENTIFIER>.<REGION_NAME>.azurecontainerapps.io)的private DNS區域,並設定 A 紀錄。 A 記錄包含容器應用程式環境的名稱 *<DNS Suffix> 和靜態 IP 位址。 欲了解更多資訊,請參閱 建立並設定Azure 私用 DNS區域。

  • 自訂網域:若您打算使用自訂網域且正在使用外部容器應用程式環境,請使用可公開解析的網域,將自訂網域和憑證新增至容器應用程式。 如果你使用內部容器應用程式環境,DNS 綁定就沒有驗證,因為叢集只能從虛擬網路內部使用。

    此外,建立私人 DNS 區域,將頂點網域解析為容器應用程式環境的靜態 IP 位址。 你可以使用 Azure 私用 DNS 或是你自己的 DNS 伺服器。 如果你使用 Azure 私用 DNS,請建立一個名為頂點網域的 private DNS 區域,並設定一個 A 紀錄,指向容器應用程式環境的靜態 IP 位址。

要取得容器應用程式環境的靜態 IP 位址,你可以使用以下任一種方法:

  • 在 Azure 入口網站中,前往您的容器應用程式頁面,並記下 自訂 DNS 尾碼 值。
  • 在 Azure CLI 中,使用 az containerapp env list 指令。

後續步驟