표준 사용량 및 전용 플랜을 사용하여 Azure Spring Apps에서 자체 영구 스토리지를 사용하도록 설정하는 방법
참고 항목
기본, 표준 및 엔터프라이즈 계획은 2025년 3월 중순부터 사용되지 않으며 3년의 은퇴 기간이 있습니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 사용 중지 공지 사항을 참조하세요.
표준 소비 및 전용 계획은 2024년 9월 30일부터 사용되지 않으며 6개월 후에 완전히 종료됩니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 표준 사용량 및 전용 계획을 Azure Container Apps로 마이그레이션을 참조 하세요.
이 문서는 표준 사용량 및 전용(미리 보기) ❎ Basic/Standard ❎ Enterprise에 적용됩니다.✅
이 문서에서는 Azure Spring Apps에서 사용자 고유의 영구 스토리지를 사용하도록 설정하는 방법을 설명합니다.
자체 스토리지와 Azure Spring Apps의 기본 제공 영구 스토리지는 다음과 같은 점에서 다릅니다.
기본 제공 스토리지에서는 애플리케이션에서 생성된 아티팩트가 Azure Storage 계정에 업로드됩니다. 자체 스토리지에서는 애플리케이션에서 생성된 아티팩트는 사용자가 제어하는 스토리지 계정에 업로드됩니다.
기본 제공 스토리지에서 Microsoft Azure는 이러한 아티팩트에 대한 미사용 데이터 암호화 및 수명 관리 정책을 제어합니다. 자체 스토리지에서 미사용 데이터 암호화 정책, 수명 관리 정책 및 네트워크 액세스를 제어합니다.
Azure Spring Apps뿐만 아니라 Azure Container Apps와 같은 환경의 다른 서비스 인스턴스에도 사용자 고유의 영구 스토리지를 탑재할 수 있습니다. 이 기능은 Azure Spring Apps 인스턴스가 Azure Container Apps 환경에 배포되기 때문에 가능합니다.
필수 구성 요소
- Azure 구독 구독이 없는 경우 시작하기 전에 체험 계정을 만드세요.
- Azure CLI: 버전 2.45.0 이상
- Azure Spring Apps 표준 사용량 및 전용 플랜 서비스 인스턴스입니다. 자세한 내용은 빠른 시작: Azure Spring Apps 표준 사용량 및 전용 플랜 서비스 인스턴스 프로비전을 참조하세요.
- Azure Spring Apps에 배포된 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 계정을 만듭니다.
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 Storage 파일 공유를 만듭니다.
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 Portal을 사용하여 리소스 그룹을 삭제할 수 있습니다. 또는 Azure CLI를 사용하여 리소스 그룹을 삭제하려면 다음 명령을 사용합니다.
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."