共用方式為


如何使用標準取用和專用方案,在 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 應用程式的檔案共用。

  1. 使用下列命令建立 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
    

    此命令會在成功完成時傳回成功訊息。

  2. 使用下列命令建立 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
    
  3. 使用下列命令取得記憶體帳戶金鑰:

    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 環境中建立記憶體連結。 命令 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 ..."

下一步