Como habilitar seu próprio armazenamento persistente no Azure Spring Apps com o consumo padrão e o plano dedicado

Nota

Azure Spring Apps é o novo nome para o serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns lugares por um tempo enquanto trabalhamos para atualizar ativos, como capturas de tela, vídeos e diagramas.

Este artigo aplica-se a: ✔️ Consumo padrão e dedicado (Pré-visualização) ❌ Básico/Standard ❌ Enterprise

Este artigo descreve como habilitar seu próprio armazenamento persistente no Azure Spring Apps.

Seu próprio armazenamento e o armazenamento persistente interno no Azure Spring Apps diferem das seguintes maneiras:

  • No armazenamento interno, os artefatos gerados pelo seu aplicativo são carregados nas contas de Armazenamento do Azure. Em seu próprio armazenamento, os artefatos gerados pelo seu aplicativo são carregados em uma conta de armazenamento que você controla.

  • No armazenamento interno, o Microsoft Azure controla a criptografia em repouso e as políticas de gerenciamento de tempo de vida desses artefatos. Em seu próprio armazenamento, você controla a política de criptografia em repouso, a política de gerenciamento de tempo de vida e o acesso à rede.

Você também pode montar seu próprio armazenamento persistente não apenas nos Aplicativos Azure Spring, mas em outras instâncias de serviço no ambiente, como os Aplicativos de Contêiner do Azure. Esse recurso é possível porque sua instância do Azure Spring Apps é implantada no ambiente do Azure Container Apps.

Pré-requisitos

Configurar o ambiente

Use os comandos a seguir para definir as variáveis a seguir para os nomes de seus recursos e configuração de região atual.

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

Configurar uma conta de armazenamento

Use as etapas a seguir para criar uma conta de armazenamento e estabelecer um compartilhamento de arquivos para montar no aplicativo Spring.

  1. Crie uma conta de Armazenamento do Azure usando os seguintes comandos. A STORAGE_ACCOUNT_NAME variável inclui um sufixo gerado aleatoriamente para garantir exclusividade.

    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
    

    Este comando retorna uma mensagem de êxito após a conclusão bem-sucedida.

  2. Crie o compartilhamento de arquivos do Armazenamento do Azure usando os seguintes comandos:

    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. Obtenha a chave da Conta de Armazenamento usando o seguinte comando:

    export STORAGE_ACCOUNT_KEY=$(az storage account keys list \
        --account-name $STORAGE_ACCOUNT_NAME \
        --query "[0].value" \
        --output tsv)
    

    A chave da conta de armazenamento é necessária para criar o link de armazenamento em seu ambiente de Aplicativos de Contêiner do Azure.

Crie o link de armazenamento no ambiente de Aplicativos de Contêiner do Azure usando os comandos a seguir. O az containerapp env storage set comando cria um link entre o ambiente e o compartilhamento de arquivos criado com o az storage share-rm comando.

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

Agora que a conta de armazenamento e o ambiente estão vinculados, você pode usar a montagem de armazenamento em sua instância do Azure Spring Apps.

Adicionar armazenamento a uma aplicação

Adicione o armazenamento persistente ao seu aplicativo existente usando o seguinte comando:

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

Clean up resources (Limpar recursos)

Certifique-se de excluir os recursos criados neste artigo quando não precisar mais deles. Para excluir os recursos, basta excluir o grupo de recursos que os contém. Você pode excluir o grupo de recursos usando o portal do Azure. Como alternativa, para excluir o grupo de recursos usando a CLI do Azure, use os seguintes comandos:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Próximos passos