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 為 Spring 開發人員提供平台即服務 (PaaS)。 Azure Spring Apps 會管理您的應用程式基礎結構,以便您可以專注在應用程式程式碼和商務邏輯上。 建置在 Azure Spring Apps 中的核心功能包括 Eurek、Config Server、Service Registry Server、VMware Tanzu Build Service、藍綠部署等等。 此服務也讓開發人員能夠繫結其應用程式與其他 Azure 服務,例如 Azure Cosmos DB、適用於 MySQL 的 Azure 資料庫,以及 Azure Cache for Redis。

Azure Spring Apps 可藉由整合 Azure 監視器、Application Insights 和 Log Analytics,來強化開發人員和操作員的應用程式診斷體驗。

Azure Spring Apps 的安全性如何?

安全性和隱私權是 Azure 和 Azure Spring Apps 客戶的首要考量。 Azure 協助確保將應用程式資料、記錄檔或設定都安全地加密,以確保只有客戶才能存取這些資料。

  • Azure Spring Apps 中的服務執行個體彼此互相隔離。
  • Azure Spring Apps 提供完整的 TLS/SSL 和憑證管理。
  • OpenJDK 和 Spring 執行階段的重大安全性修補,都會盡快套用至 Azure Spring Apps。

Azure Spring Apps 如何裝載我的應用程式?

Azure Spring Apps 中的每個服務執行個體都受到具有多個背景工作角色節點的 Azure Kubernetes Service 支援。 Azure Spring Apps 會為您管理基礎 Kubernetes 叢集,包括高可用性、可擴縮性、Kubernetes 版本升級等等。

Azure Spring Apps 會以智慧方式在基礎 Kubernetes 背景工作角色節點上排定您的應用程式。 為了提供高可用性,Azure Spring Apps 會在不同的節點上散發具有兩個以上執行個體的應用程式。

Azure Spring Apps 可在哪些區域中使用?

請參閱依區域提供的產品

雖然 Azure Spring Apps 基本/標準方案適用於中國的區域,但 Azure 中國的所有區域都無法使用企業方案。

是否將任何客戶資料儲存在指定的區域之外?

Azure Spring Apps 是區域性服務。 Azure Spring Apps 中的所有客戶資料都會儲存至單一指定的區域。 若要深入了解地理位置和區域,請參閱 Azure 中的資料落地

Azure Spring Apps 的已知限制為何?

Azure Spring Apps 具有下列已知限制:

  • 用來建立每個應用程式的應用程式名稱會覆寫 spring.application.name
  • server.port 在基本/標準方案中預設為 1025 連接埠,在企業方案中則預設為 8080 連接埠。 如果您套用任何其他值,則預設值會覆寫您指定的值,因此請避免在程式碼中指定伺服器連接埠。 如果您的程式碼明確設定伺服器連接埠,而不是使用 server.port,請視 Azure Spring Apps 服務執行個體的定價方案而定,確定連接埠是 10258080
  • Azure 入口網站、Azure Resource Manager 範本和 Terraform 不支援上傳應用程式封裝。 您可以使用 Azure CLI、Azure DevOps、適用於 Azure Spring Apps 的 Maven 外掛程式、Azure Toolkit for IntelliJ,以及適用於 Azure Spring Apps 的 Visual Studio Code 延伸模組來上傳應用程式封裝。

有哪些定價方案可供使用?

我應該使用哪個定價方案,以及每個定價方案內有哪些限制?

  • Azure Spring Apps 提供三個定價方案:基本、標準和企業。 定價方案是以開發/測試為目標,並試用 Azure Spring Apps。 定價方案已最佳化,可執行一般用途的生產流量。 企業方案適用於具有 VMware Tanzu 元件的生產工作負載。 如需限制和功能層級比較,請參閱 Azure Spring Apps 定價詳細資料

服務繫結與服務連接器之間有何差異?

我們並不積極開發更多服務繫結的功能。 相反地,有一個名為服務連接器的新 Azure 取向解決方案。 一方面,新的解決方案可為您帶來跨 Azure 上應用程式裝載服務 (例如 App Service) 的一致整合體驗。 另一方面,其會從支援 10 個以上最常使用的目標 Azure 服務開始,包括 MySQL、SQL DB、Azure Cosmos DB、Postgres DB、Redis、儲存體等等,來更完整涵蓋您的需求。 服務連接器目前處於公開預覽狀態,我們邀請您嘗試新的體驗。

如何提供意見反應和回報問題?

如果您遇到 Azure Spring Apps 的任何問題,請建立 Azure 支援要求。 若要提交功能要求或提供意見反應,請移至 Azure 意見反應

如何取得 VMWare Spring Runtime 支援 (僅限企業方案)

企業方案具有內建的 VMware Spring Runtime 支援,因此如果您認為問題在 VMware Spring Runtime 支援的範圍內,可以向 VMWare 開啟支援票證。 若要更加了解 VMware Spring Runtime 支援,請參閱 VMware Spring Runtime。 若要了解如何註冊和使用此支援服務的詳細資料,請參閱 VMWare 企業方案常見問題中的支援一節。 若為任何其他問題,請向 Microsoft 開啟支援票證。

重要

建立企業方案執行個體之後,您的權利會在十個工作天內就緒。 如果您遇到任何例外狀況,請向 Microsoft 提出支援票證以取得協助。

部署

我是 Spring 開發人員,但不熟悉 Azure。 哪種方式可讓我最快了解如何在 Azure Spring Apps 中開發應用程式?

如需開始使用 Azure Spring Apps 的最快方式,請遵循快速入門:使用 Azure 入口網站在 Azure Spring Apps 中啟動應用程式

我可以在哪裡檢視 Spring 應用程式記錄和計量?

在 [應用程式概觀] 索引標籤和 Azure 監視器 \(部分機器翻譯\) 索引標籤中尋找計量。

Azure Spring Apps 支援將 Spring 應用程式記錄和計量匯出至 Azure 儲存體、事件中樞和 Log Analytics。 Log Analytics 中的資料表名稱為 AppPlatformLogsforSpring。 若要瞭解如何將其啟用,請參閱診斷服務

Azure Spring Apps 是否支援分散式追蹤?

是。 如需詳細資訊,請參閱在 Azure Spring Apps 中使用 Application Insights Java 內含式代理程式

服務繫結支援的資源類型為何?

目前支援三個服務:

  • Azure Cosmos DB
  • 適用於 MySQL 的 Azure 資料庫
  • Azure Cache for Redis。

我可以從應用程式內檢視、新增或移動永續性磁碟區嗎?

是。

Azure Spring Apps 執行個體有多少輸出公用 IP 位址?

輸出公用 IP 位址的數目可能會根據方案和其他因素而有所不同。

Azure Spring Apps 執行個體類型 輸出公用 IP 位址的預設數目
基本方案執行個體 1
標準/企業方案執行個體 2
VNet 插入執行個體 1

我是否可以增加輸出公用 IP 位址的數目嗎?

是,您可以開啟支援票證,以要求更多的輸出公用 IP 位址。

刪除/移動 Azure Spring Apps 服務執行個體時,是否也會刪除/移動其延伸模組資源?

這取決於擁有延伸模組資源的資源提供者邏輯。 Microsoft.AppPlatform 執行個體的延伸模組資源不屬於相同的命名空間,因此行為會因資源提供者而有所不同。 例如,刪除/移動作業不會串聯至診斷設定資源。 如果佈建新的 Azure Spring Apps 執行個體,其資源識別碼與已刪除的執行個體相同,或如果將先前的 Azure Spring Apps 執行個體移回,則先前的診斷設定資源會繼續擴充此執行個體。

您可以使用 Azure CLI 刪除 Azure Spring Apps 診斷設定:

 az monitor diagnostic-settings delete --name $DIAGNOSTIC_SETTINGS_NAME --resource $AZURE_SPRING_APPS_RESOURCE_ID

JAVA 執行階段和 OS 版本

Azure Spring Apps 支援哪些版本的 Java 執行階段?

Azure Spring Apps 支援具有最新組建的 Java LTS 版本,目前支援 Java 8、Java 11、Java 17 和 Java 21。

支援 Java 8、Java 11、Java 17 和 Java 21 LTS 版本多久?

請參閱 Java 對於 Azure 和 Azure Stack 的長期支援

舊版 Java 執行階段的淘汰原則是什麼?

公開通知會在淘汰任何舊版執行階段之前的 12 個月內發出。 您有 12 個月的時間來移轉至更新版本。

  • 訂用帳戶管理員會在我們淘汰 Java 版本時收到電子郵件通知。
  • 淘汰資訊會發佈在文件中。

如何獲得支援以解決 JAVA 執行階段層級的問題?

請參閱 Java 對於 Azure 和 Azure Stack 的長期支援

哪種作業系統要執行我的應用程式?

使用的是最新的 Ubuntu LTS 版本,目前 Ubuntu 20.04 LTS (Focal Fossa) 是預設 OS。

套用 OS 安全性修補程式的頻率為何?

適用於 Azure Spring Apps 的安全性修補程式會每月推出至生產環境。 適用於 Azure Spring Apps 的重大安全性修補程式 (CVE 分數 >= 9) 會儘快推出。

部署

Azure Spring Apps 是否支援藍綠部署?

是。 如需詳細資訊,請參閱設定預備環境

我是否可以存取 Kubernetes 來操作我的應用程式容器?

否。 Azure Spring Apps 會從基礎架構將開發人員抽象化,讓您能夠專注於應用程式碼和商務邏輯。

Azure Spring Apps 是否支援從來源建置容器?

是。 如需詳細資訊,請參閱快速入門:將第一個應用程式部署至 Azure Spring Apps

Azure Spring Apps 是否支援應用程式執行個體自動調整?

是。 如需詳細資訊,請參閱設定應用程式的自動調整

Azure Spring Apps 如何監視應用程式的健全狀態?

Azure Spring Apps 會使用基本/標準定價方案持續探查客戶的應用程式連接埠 1025,或使用企業方案探查客戶的應用程式連接埠 8080。 這些探查會判斷應用程式容器是否已準備好開始接受流量,以及 Azure Spring Apps 是否需要重新啟動應用程式容器。 在內部,Azure Spring Apps 會使用 Kubernetes 活躍度和整備度探查來實現狀態監視。

注意

由於這些探查,若未公開連接埠 10258080,則您目前無法啟動 Azure Spring Apps 中的應用程式。

我的應用程式是否及何時重新啟動?

是。 如需詳細資訊,請參閱使用 Azure 活動記錄和 Azure 服務健康狀態來監視應用程式生命週期事件

.NET Core 版本

支援哪些 .NET Core 版本?

.NET Core 3.1 和更新版本。

支援 .NET Core 3.1 多久?

直到 2022 年 12 月 3 日為止。 請參閱 .NET Core 支援原則

疑難排解

服務登錄罕見無法使用的影響為何?

在某些罕見的案例中,您可以看到來自應用程式記錄的錯誤,類似於下列範例:

RetryableEurekaHttpClient: Request execution failure with status code 401; retrying on another server if available

Spring 架構會因網路不穩定或其他網路問題而以低速率引發此問題。 對於使用者體驗應該沒有任何影響。 Eureka 用戶端同時具有活動訊號和重試原則可處理此問題。 您可以將其視為暫時性錯誤,並安全地將其略過。

下一步

如果您有進一步的問題,請參閱 Azure Spring Apps 疑難排解指南