共用方式為


針對虛擬網路中的 Azure Spring Apps 進行疑難排解

注意

基本標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告

標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps

本文適用於: ✔️ 基本/標準 ✔️ 企業

本文可協助您解決在虛擬網路中使用 Azure Spring Apps 時可能發生的各種問題。

我在建立 Azure Spring Apps 服務執行個體時遇到問題

若要建立 Azure Spring Apps 的實例,您必須有足夠的許可權將實例部署至虛擬網路。 Azure Spring Apps 服務實例本身必須將 Azure Spring Apps 服務許可權授與虛擬網路。 如需詳細資訊,請參閱在虛擬網路中部署 Azure Spring Apps 的授與服務許可權一節。

如果您使用 Azure 入口網站 來設定 Azure Spring Apps 服務實例,Azure 入口網站 會驗證許可權。

若要使用 Azure CLI 設定 Azure Spring Apps 服務實例,請確認下列需求:

  • 訂用帳戶是作用中狀態。
  • 此位置支援 Azure Spring Apps。
  • 已經建立執行個體的資源群組。
  • 資源名稱符合命名規則。 它只能包含小寫字母、數位和連字元。 第一個字元必須是字母。 最後一個字元必須是字母或數位。 必須包含 2 到 32 個字元。

若要使用 Resource Manager 範本設定 Azure Spring Apps 服務實例,請參閱 瞭解 Azure Resource Manager 範本的結構和語法。

常見的建立問題

錯誤訊息 修正方法
Resources created by Azure Spring Apps were disallowed by policy. 在您自己的虛擬網路中部署 Azure Spring Apps 時,會建立網路資源。 請務必檢查您是否已定義 Azure 原則 來封鎖該建立。 錯誤訊息會列出未建立的資源。
Required traffic is not allowlisted. 請務必檢查 客戶在虛擬網路 中執行 Azure Spring Apps 的責任,以確保允許列出的必要流量。

我的應用程式無法註冊,或無法從組態伺服器取得設定

在 Azure Spring Apps 使用者叢集內執行的應用程式必須透過 <service-instance-name>.svc.private.azuremicroservices.io 網域存取系統運行時間叢集中的 Eureka 伺服器和組態伺服器。

如果您的虛擬網路已設定自定義 DNS 設定,就會發生此問題。 在此情況下,Azure Spring Apps 所使用的私人 DNS 區域無效。 將 Azure DNS IP 168.63.129.16 新增為自定義 DNS 伺服器中的上游 DNS 伺服器。

如果您的自定義 DNS 伺服器無法將 Azure DNS IP 168.63.129.16 新增為上游 DNS 伺服器,請將 DNS 記錄 *.svc.private.azuremicroservices.io 新增至應用程式的 IP。 如需詳細資訊,請參閱「在虛擬網路中存取 Azure Spring Apps 的應用程式」「尋找您的應用程式的 IP 位址」一節。

我無法存取虛擬網路中的應用程式端點或測試端點

如果您的虛擬網路已使用自定義 DNS 設定進行設定,如果您尚未這麼做,請務必將 Azure DNS IP 168.63.129.16 新增為自定義 DNS 伺服器的上游 DNS 伺服器。 然後,繼續進行下列指示。

如果您的虛擬網路未設定自訂 DNS 設定,或您的虛擬網路已設定為自訂 DNS 設定,且您已將 Azure DNS IP 168.63.129.16 新增為自定義 DNS 伺服器中的上游 DNS 伺服器,請完成下列步驟:

  1. 建立新的私人 DNS 區域 private.azuremicroservices.io

  2. 將私人 DNS 區域連結至虛擬網路。

  3. 新增下列兩個 DNS 記錄:

    • *.private.azuremicroservices.io -> 應用程式的IP。
    • *.test.private.azuremicroservices.io -> 應用程式的IP。

如需詳細資訊,請參閱 在專用網中存取您的應用程式

我無法從公用網路存取應用程式的公用端點

Azure Spring Apps 支援使用公用端點向因特網公開應用程式。 如需詳細資訊,請參閱 從公用網路將 Azure Spring Apps 上的應用程式公開至因特網。

如果您使用使用者定義的路由功能,由於非對稱式路由,不支援某些功能。 如需不支援的功能,請參閱下列清單:

  • 使用公用網路透過公用端點存取應用程式。
  • 使用公用網路來存取記錄數據流。
  • 使用公用網路來存取應用程式主控台。

如需詳細資訊,請參閱 控制 Azure Spring Apps 實例的輸出流量。

當輸出流量路由傳送至防火牆時,類似的限制也適用於 Azure Spring Apps。 發生此問題的原因是這兩種情況都會在叢集中引入非對稱式路由。 封包抵達端點的公用IP位址,但透過私人IP位址返回防火牆。 因此,防火牆必須封鎖這類流量。 如需詳細資訊,請參閱在虛擬網路中部署 Azure Spring Apps自備路由表一節。

如果您要將輸出流量路由傳送至防火牆,但也需要將應用程式公開至因特網,請使用將應用程式公開至具有 TLS 終止功能的因特網。 如需詳細資訊,請參閱在 應用程式閘道 使用 TLS 終止將應用程式公開至因特網。

其他問題