如何在 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 中的記憶體資源,並使用您自己的永續性記憶體建立應用程式。
移至服務 [概觀 ] 頁面,然後選取 左側瀏覽窗格中的 [記憶體 ]。
在 [ 記憶體] 頁面上,選取 [ 新增記憶體]。
在 [ 新增記憶體 ] 頁面上輸入下列資訊,然後選取 [ 套用]。
設定 值 記憶體名稱 記憶體資源的名稱,這是 Azure Spring Apps 中的服務層級資源。 帳戶名稱 儲存體帳戶的名稱。 帳戶金鑰 儲存體帳戶金鑰。 移至 [ 應用程式] 頁面,然後選取要掛接永續性記憶體的應用程式。
選取 [ 組態],然後選取 [ 永續性記憶體]。
選取 [ 新增永續性記憶體]。 在下表中新增值,然後選取 [ 套用]。
設定 值 記憶體名稱 您稍早輸入的記憶體資源名稱。 永續性記憶體類型 AzureFileVolume 共用名稱 Azure 儲存體 帳戶中的 Azure 檔案共享名稱。 裝載路徑 唯一的掛接路徑。 掛接選項 選擇性 唯讀 選擇性 選取 [ 儲存 ] 以套用組態變更。
最佳作法
當您將自己的永續性記憶體新增至 Azure Spring Apps 時,請使用下列最佳做法。
若要避免潛在的延遲問題,請將 Azure Spring Apps 實例和 Azure 儲存體 帳戶放在相同的 Azure 區域中。
在 Azure 儲存體 帳戶中,請避免重新產生您使用的帳戶密鑰。 儲存體帳戶包含兩個不同的金鑰。 使用逐步方法,確保持續性記憶體在密鑰重新產生期間仍可供應用程式使用。
例如,使用下列步驟來確保如果您使用key1將記憶體帳戶系結至 Azure Spring Apps,持續性記憶體仍可供使用。
- 重新產生 key2。
- 更新記憶體資源的帳戶金鑰,以使用重新產生的 金鑰2。
- 重新啟動從這個記憶體資源掛接永續性記憶體的應用程式。
az spring storage list-persistent-storage
使用 命令來列出所有相關應用程式。 - 重新產生 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 實例所使用的這兩個子網新增至服務端點的範圍。
下一步
- 如何使用Logback將記錄寫入自定義永續性記憶體。
- 在 Azure Spring Apps 中調整應用程式。