共用方式為


如何在 Azure Spring Apps 中啟用您自己的永續性記憶體

注意

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

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

本文適用於:✅ Java ✅ C#

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

本文說明如何在 Azure Spring Apps 中啟用自己的永續性記憶體。

當您在 Azure Spring Apps 中使用內建永續性記憶體時,應用程式所產生的成品會上傳至 Azure 儲存體 帳戶。 Microsoft控制這些成品的待用加密和存留期管理原則。

當您使用自己的永續性記憶體時,應用程式所產生的成品會上傳至您控制的記憶體帳戶。 您可以控制待用加密原則、存留期管理原則和網路存取。 您必須負責與該記憶體帳戶相關聯的成本。

必要條件

  • 現有的 Azure 儲存體 帳戶和現有的 Azure 檔案共用。 如果您需要在 Azure 中建立記憶體帳戶和檔案共用,請參閱 建立 SMB Azure 檔案共用
  • Azure CLI 2.45.0 版或更高版本。

重要

如果您在自己的虛擬網路中部署 Azure Spring Apps,而且您想要只從虛擬網路存取記憶體帳戶,請參閱使用私人端點進行 Azure 儲存體,以及設定 Azure 儲存體 防火牆和虛擬網路中的授與存取權一節。

將您自己的額外永續性記憶體掛接至應用程式

注意

更新永續性記憶體會重新啟動您的應用程式。

當您使用虛擬網路整合時,請確定埠 80 和 445 已開啟。

使用下列步驟,將 Azure 儲存體 帳戶系結為 Azure Spring Apps 中的記憶體資源,並使用您自己的永續性記憶體建立應用程式。

  1. 移至服務 [概觀 ] 頁面,然後選取 左側瀏覽窗格中的 [記憶體 ]。

  2. 在 [ 記憶體] 頁面上,選取 [ 新增記憶體]。

    顯示 [記憶體] 頁面 Azure 入口網站 的螢幕快照。

  3. 在 [ 新增記憶體 ] 頁面上輸入下列資訊,然後選取 [ 套用]。

    設定
    記憶體名稱 記憶體資源的名稱,這是 Azure Spring Apps 中的服務層級資源。
    帳戶名稱 儲存體帳戶的名稱。
    帳戶金鑰 儲存體帳戶金鑰。

    顯示 [新增記憶體] 頁面 Azure 入口網站 螢幕快照。

  4. 移至 [ 應用程式] 頁面,然後選取要掛接永續性記憶體的應用程式。

    醒目提示 spr-apps-1 的 [Azure 入口網站 應用程式] 頁面螢幕快照。

  5. 選取 [ 組態],然後選取 [ 永續性記憶體]。

  6. 選取 [ 新增永續性記憶體]。 在下表中新增值,然後選取 [ 套用]。

    設定
    記憶體名稱 您稍早輸入的記憶體資源名稱。
    永續性記憶體類型 AzureFileVolume
    共用名稱 Azure 儲存體 帳戶中的 Azure 檔案共享名稱。
    裝載路徑 唯一的掛接路徑。
    掛接選項 選擇性
    唯讀 選擇性

    Azure 入口網站 的螢幕快照,其中顯示 [新增永續性記憶體] 頁面。

  7. 選取 [ 儲存 ] 以套用組態變更。

    Azure 入口網站 螢幕快照,其中顯示 [組態] 頁面的 [永續性記憶體] 索引標籤。

最佳作法

當您將自己的永續性記憶體新增至 Azure Spring Apps 時,請使用下列最佳做法。

  • 若要避免潛在的延遲問題,請將 Azure Spring Apps 實例和 Azure 儲存體 帳戶放在相同的 Azure 區域中。

  • 在 Azure 儲存體 帳戶中,請避免重新產生您使用的帳戶密鑰。 儲存體帳戶包含兩個不同的金鑰。 使用逐步方法,確保持續性記憶體在密鑰重新產生期間仍可供應用程式使用。

    例如,使用下列步驟來確保如果您使用key1將記憶體帳戶系結至 Azure Spring Apps,持續性記憶體仍可供使用

    1. 重新產生 key2
    2. 更新記憶體資源的帳戶金鑰,以使用重新產生的 金鑰2
    3. 重新啟動從這個記憶體資源掛接永續性記憶體的應用程式。 az spring storage list-persistent-storage使用 命令來列出所有相關應用程式。
    4. 重新產生 key1
  • 如果您刪除 Azure 儲存體 帳戶或 Azure 檔案共用,請移除應用程式中對應的記憶體資源或永續性記憶體,以避免發生錯誤。

  • 如果您想要將檔案寫入每個個別應用程式實例的相同路徑,但請從檔案共用的觀點將檔案保留在個別的子目錄中,您可以使用 SubPath 選項。 請注意,SubPath 選項與唯讀不相容,因為 SubPath 用於寫入新檔案,而唯讀則用於讀取現有檔案。

常見問題集

本節說明搭配 Azure Spring Apps 使用您自己的永續性記憶體的常見問題。

  • 如果我已啟用內建持續性記憶體,然後啟用自己的記憶體作為額外的永續性記憶體,我的數據是否會遷移至我的 Azure 儲存體 帳戶?

    否。 但我們會提供文件來協助您儘快進行移轉。

  • 保留的掛接路徑為何?

    Azure Spring Apps 會保留下列掛接路徑:

    • /tmp
    • /持續
    • /秘密
    • /app-insights/agents
    • /etc/azure-spring-cloud/certs
    • /app-insights/agents/settings
    • /app-lifecycle/settings
  • 可用的掛接選項為何?

    我們目前支援下列掛接選項:

    • uid
    • gid
    • file_mode
    • dir_mode

    mountOptions 是選用屬性。 這些掛接選項的預設值包括:[“uid=0”、“gid=0”、“file_mode=0777”、“dir_mode=0777”]

  • 我使用服務端點來設定記憶體帳戶,只允許從我自己的虛擬網路存取。 當我嘗試將自定義永續性記憶體掛接至應用程式時,為什麼收到 許可權拒絕 錯誤?

    服務端點僅提供子網層級的網路存取。 請確定您已將 Azure Spring Apps 實例所使用的這兩個子網新增至服務端點的範圍。

下一步