如何使用標準取用和專用方案,在 Azure Spring 應用程式中啟用您自己的永續性儲存體
注意
基本、標準和企業方案將從 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 儲存體 帳戶。 在您自己的記憶體中,應用程式所產生的成品會上傳至您控制的記憶體帳戶。
在內建記憶體中,Microsoft Azure 會控制待用加密和這些成品的存留期管理原則。 在您自己的記憶體中,您可以控制待用加密原則、存留期管理原則和網路存取。
您也可以將自己的永續性記憶體掛接至 Azure Spring Apps,也可以掛接至 Azure Container Apps 等環境中的其他服務實例。 這項功能是可能的,因為您的 Azure Spring Apps 實例是部署在 Azure Container Apps 環境中。
必要條件
- Azure 訂用帳戶。 如果您沒有訂用帳戶,請先建立免費帳戶,再開始操作。
- Azure CLI 2.45.0 版或更新版本。
- Azure Spring 應用程式標準取用和專用方案的服務執行個體。
- 部署至 Azure Spring 應用程式的 Spring 應用程式。
設定環境
使用下列命令,將下列變數設定為資源和目前區域設定的名稱。
export RESOURCE_GROUP="<resource-group-name>"
export LOCATION="eastus"
export AZURE_CONTAINER_APPS_ENVIRONMENT="<Azure-Container-Apps-environment-name>"
export AZURE_SPRING_APPS_INSTANCE="<Azure-Spring-Apps-instance-name>"
export APP_NAME="<Spring-app-name>"
設定儲存體帳戶
使用下列步驟建立記憶體帳戶,並建立要掛接至 Spring 應用程式的檔案共用。
使用下列命令建立 Azure 儲存體 帳戶。 變數
STORAGE_ACCOUNT_NAME
包含隨機產生的後綴,以確保唯一性。export STORAGE_ACCOUNT_NAME="myasastorageaccount$RANDOM" az storage account create \ --resource-group $RESOURCE_GROUP \ --name $STORAGE_ACCOUNT_NAME \ --location "$LOCATION" \ --kind StorageV2 \ --sku Standard_LRS \ --query provisioningState \ --enable-large-file-share
此命令會在成功完成時傳回成功訊息。
使用下列命令建立 Azure 儲存體 檔案分享:
export FILE_SHARE_NAME="<file-share-name>" az storage share-rm create \ --resource-group $RESOURCE_GROUP \ --storage-account $STORAGE_ACCOUNT_NAME \ --name $FILE_SHARE_NAME \ --quota 1024 \ --enabled-protocols SMB \ --output table
使用下列命令取得記憶體帳戶金鑰:
export STORAGE_ACCOUNT_KEY=$(az storage account keys list \ --account-name $STORAGE_ACCOUNT_NAME \ --query "[0].value" \ --output tsv)
您必須有記憶體帳戶密鑰,才能在 Azure Container Apps 環境中建立記憶體連結。
將記憶體連結至 Azure Container Apps 環境
使用下列命令,在 Azure Container Apps 環境中建立記憶體連結。 命令 az containerapp env storage set
會在環境與使用 az storage share-rm
命令建立的檔案共享之間建立連結。
export STORAGE_MOUNT_NAME="<storage-account-name>"
az containerapp env storage set \
--resource-group $RESOURCE_GROUP \
--name $AZURE_CONTAINER_APPS_ENVIRONMENT \
--storage-name $STORAGE_MOUNT_NAME \
--azure-file-account-name $STORAGE_ACCOUNT_NAME \
--azure-file-account-key $STORAGE_ACCOUNT_KEY \
--azure-file-share-name $FILE_SHARE_NAME \
--access-mode ReadWrite \
--output table
現在已連結記憶體帳戶和環境,您可以在 Azure Spring Apps 實例中使用記憶體掛接。
將記憶體新增至應用程式
使用下列命令,將永續性記憶體新增至現有的應用程式:
az spring app append-persistent-storage \
--resource-group $RESOURCE_GROUP \
--service $AZURE_SPRING_APPS_INSTANCE \
--name $APP_NAME \
--persistent-storage-type AzureFileVolume \
--mount-path /var/log/nginx \
--storage-name $STORAGE_MOUNT_NAME
清除資源
當您不再需要資源時,請務必刪除您在本文中建立的資源。 若要刪除資源,只要刪除包含這些資源的資源群組即可。 您可以使用 Azure 入口網站 來刪除資源群組。 或者,若要使用 Azure CLI 刪除資源群組,請使用下列命令:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."