Share via


如何使用標準取用和專用方案,在 Azure Spring Apps 中啟用您自己的永續性記憶體

注意

Azure Spring Apps 是 Azure Spring Cloud 服務的新名稱。 雖然服務有新的名稱,但在我們努力更新資產,例如螢幕快照、影片和圖表時,您會在某些地方看到舊名稱一段時間。

本文適用於: ✔️標準取用和專用 (預覽) ❌ 基本/標準 ❌ 企業

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

您自己的記憶體和 Azure Spring Apps 中的內建永續性記憶體有下列不同之處:

  • 在內建記憶體中,您的應用程式所產生的成品會上傳至 Azure 儲存體 帳戶。 在您自己的記憶體中,應用程式所產生的成品會上傳至您控制的記憶體帳戶。

  • 在內建記憶體中,Microsoft Azure 會控制待用加密和這些成品的存留期管理原則。 在您自己的記憶體中,您可以控制待用加密原則、存留期管理原則和網路存取。

您也可以將自己的永續性記憶體掛接至 Azure Spring Apps,也可以掛接至 Azure Container Apps 等環境中的其他服務實例。 這項功能是可能的,因為您的 Azure Spring Apps 實例是部署在 Azure Container Apps 環境中。

必要條件

設定環境

使用下列命令,將下列變數設定為資源和目前區域設定的名稱。

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 ..."

下一步