Azure Storage 최신 데이터 스토리지 시나리오를 위한 Microsoft의 클라우드 스토리지 솔루션입니다. Azure Storage 클라우드의 데이터 개체에 대해 고가용성, 대규모 확장성, 내구성 및 보안 스토리지를 제공합니다. 이 가이드에서는 Azure App Service Windows 코드(비컨테이너)에서 Azure Storage 파일을 네트워크 공유로 탑재하는 방법을 보여 줍니다.
Azure Storage는 App Service에 Azure Files 공유 및 프리미엄 파일 공유를 지원합니다. Azure Storage App Service의 기본 스토리지가 아닙니다. 별도로 청구됩니다. Azure Storage를 ARM 템플릿에서 구성할 수도 있습니다.
사용자 지정 탑재 스토리지의 이점은 다음과 같습니다.
- App Service 앱에 대한 영구 스토리지를 구성하고 스토리지를 별도로 관리합니다.
- 비디오 및 이미지와 같은 정적 콘텐츠를 App Service 앱에 즉시 사용할 수 있습니다.
- 애플리케이션 로그 파일을 작성하거나 이전 애플리케이션 로그를 Azure 파일 공유에 보관합니다.
- 여러 앱 또는 다른 Azure 서비스와 콘텐츠를 공유합니다.
Windows 코드에 대해 지원되는 기능은 다음과 같습니다.
- 키 자격 증명 모음, 프라이빗 엔드포인트 및 서비스 엔드포인트(가상 네트워크 통합을 사용하는 경우)를 통해 스토리지 계정에 안전하게 액세스할 수 있습니다.
- Azure Files(읽기/쓰기).
- 앱당 최대 5개의 탑재 지점
- /mounts/<path-name> 사용하여 Azure Storage 파일 공유를 탑재합니다.
다음은 앱에 Azure 스토리지를 탑재하는 세 가지 옵션입니다.
| 탑재 옵션 | 사용 |
|---|---|
| 기본 | Azure 포털을 사용하여 스토리지를 탑재할 때 이 옵션을 선택합니다. 스토리지 계정이 서비스 엔드포인트, 사용 엔드포인트 또는 Azure Key Vault 사용하지 않는 한 기본 옵션을 사용할 수 있습니다. 이 경우 포털은 액세스 키를 가져오고 저장합니다. |
| 액세스 키 | Azure CLI 사용하여 스토리지를 탑재하려는 경우 액세스 키를 가져와야 합니다. 스토리지 계정이 서비스 엔드포인트, 사용 엔드포인트 또는 Azure Key Vault 사용하지 않는 경우 이 옵션을 선택합니다. |
| Key Vault (키 보관소) | 또한 액세스 키가 필요한 Azure CLI 사용하여 스토리지를 탑재하려는 경우에도 이 옵션을 사용합니다. Azure Key Vault 사용하여 액세스 키를 안전하게 저장하고 검색할 때 이 옵션을 선택합니다. Azure Key Vault Azure App Service 같은 다른 Azure 서비스와 모니터링, 관리 및 통합할 수 있는 기능을 통해 애플리케이션 비밀을 중앙에서 안전하게 저장할 수 있는 이점이 있습니다. |
필수 구성 요소
제한 사항
- 가상 네트워크 통합을 사용하는 경우 스토리지 방화벽은 프라이빗 엔드포인트 및 서비스 엔드포인트를 통해서만 지원됩니다.
- Azure Blob은 App Service에 배포된 Windows 코드 앱에 대한 Azure 스토리지 탑재를 구성할 때 지원되지 않습니다.
- 탑재된 스토리지에 대한 FTP/FTPS 액세스는 지원되지 않습니다. Azure Storage Explorer 사용합니다.
- /mounts, mounts/name1/name2, / 및 /mounts/name.ext/를 사용자 지정 탑재 스토리지에 매핑하는 것은 지원되지 않습니다. 웹앱에 사용자 지정 스토리지를 탑재하려면 /mounts/pathname만 사용할 수 있습니다.
- 스토리지 탑재는 백업에 포함되지 않습니다. 모범 사례를 따라 Azure Storage 계정을 백업해야 합니다.
- 앱에 가상 네트워크가 통합되어 있으면, 탑재된 드라이브는 가상 네트워크의 IP 주소가 아닌 RFC1918 IP 주소를 사용합니다.
탑재 준비
Windows 코드에 스토리지 탑재
Azure 포털을 사용하여 Windows 코드에 스토리지를 탑재하려면 다음을 수행합니다.
Azure 포털 앱으로 이동합니다.
왼쪽 탐색에서 설정>구성을 선택합니다. Path 매핑을 선택한 다음, 새로운 Azure Storage 탑재를 선택합니다.
다음 표에 따라 스토리지 탑재를 구성합니다. 작업을 마쳤으면 확인을 선택합니다.
설정 설명 이름 탑재 구성의 이름입니다. 공백을 사용하지 마세요. 구성 옵션 스토리지 계정이 프라이빗 엔드포인트 또는 Azure Key Vault를 사용하지 않는 경우 Basic을 선택하십시오. 사용하고 있으면 고급를 선택합니다. 스토리지 계정 Azure Storage 계정입니다. Azure Files 공유를 포함해야 합니다. 공유 이름 탑재할 파일 공유입니다. 스토리지 액세스 Azure Key Vault의 Key vault 참조를 선택합니다. 그렇지 않으면 수동 입력을 선택합니다. 액세스 키(고급만 해당) 스토리지 계정의 액세스 키입니다. 탑재 경로 탑재하려는 앱 서비스 내의 디렉터리입니다. /mounts/pathname만 지원됩니다. 애플리케이션 설정 Azure Key Vault 비밀을 사용하여 앱 설정을 선택합니다. 배포 슬롯 설정 선택하면 스토리지 탑재 설정이 배포 슬롯에도 적용됩니다.
참고
스토리지 탑재를 추가, 편집 또는 삭제하면 앱이 다시 시작됩니다.
모범 사례
Azure Storage 탑재는 정적 콘텐츠를 제공하도록 가상 디렉터리로 구성할 수 있습니다. 가상 디렉터리를 구성하려면 왼쪽 탐색에서 설정>구성을 선택합니다. 그런 다음 경로 매핑을 선택한 다음 새 가상 애플리케이션 또는 디렉터리를 선택합니다. 물리 경로를 Azure Storage 마운트에 정의된 마운트 경로로 설정합니다.
대기 시간 문제를 방지하려면 앱과 Azure Storage 계정을 동일한 지역에 배치합니다. 앱과 Azure Storage 계정이 동일한 지역에 있을 때 Azure Storage 방화벽 구성 App Service IP 주소에서 액세스 권한을 부여하는 경우 이러한 IP 제한은 적용되지 않습니다.
Azure Storage 계정에서 앱에 스토리지를 탑재하는 데 사용하는 액세스 키를 다시 생성하지 않도록 합니다. 스토리지 계정에는 두 개의 키가 포함되어 있습니다. Azure App Services는 Azure 스토리지 계정 키를 저장합니다. 단계별 접근 방식을 사용하여 키를 다시 생성하는 동안 스토리지 탑재를 앱에서 계속 사용할 수 있도록 합니다. 예를 들어 key1을 사용하여 앱에서 스토리지 탑재를 구성하는 경우 다음을 수행합니다.
- key2를 다시 생성합니다.
- 스토리지 탑재 구성에서, 다시 생성한 key2를 사용하도록 액세스 키를 업데이트합니다.
- key1을 다시 생성합니다.
Azure Storage 계정, 컨테이너 또는 공유를 삭제하는 경우 가능한 오류 시나리오를 방지하기 위해 앱에서 해당 스토리지 탑재 구성을 제거합니다.
탑재된 Azure Storage 계정은 표준 또는 프리미엄 성능 계층일 수 있습니다. 앱 용량 및 처리량 요구 사항에 따라 스토리지 계정에 적합한 성능 계층을 선택합니다. Files의 스케일링 성능 및 성능 대상을 참조하세요.
앱이 을 여러 인스턴스로 스케일링하는 경우 모든 인스턴스는 탑재된 동일한 Azure Storage 계정에 연결됩니다. 성능 병목 상태 및 처리량 문제를 방지할 수 있도록 스토리지 계정에 적합한 성능 계층을 선택합니다.
SQLite와 같은 로컬 데이터베이스나 파일 핸들과 잠금에 의존하는 다른 애플리케이션과 구성 요소에는 스토리지 탑재를 사용하지 않는 것이 좋습니다.
스토리지 계정이 앱에 탑재된 경우 스토리지 장애 조치(failover)를 시작하면 앱을 다시 시작하거나 스토리지 탑재를 제거했다가 다시 추가할 때까지 탑재가 연결되지 않습니다.
가상 네트워크 통합과 함께 Azure Files 사용할 때 포트 445가 열려 있는지 확인합니다. 또한 앱 설정
WEBSITE_CONTENTOVERVNET이1로 설정되어 있는지 확인합니다.탑재된 Azure Storage 계정은 표준 또는 프리미엄 성능 계층일 수 있습니다. 앱 용량 및 처리량 요구 사항에 따라 스토리지 계정에 적합한 성능 계층을 선택합니다. Files의 확장성 및 성능 목표를 참조하세요.
다음 단계
Azure Storage 최신 데이터 스토리지 시나리오를 위한 Microsoft의 클라우드 스토리지 솔루션입니다. Azure Storage 클라우드의 데이터 개체에 대해 고가용성, 대규모 확장성, 내구성 및 보안 스토리지를 제공합니다. 이 가이드에서는 App Service의 Windows 컨테이너에서 Azure Storage 파일을 네트워크 공유로 탑재하는 방법을 보여줍니다.
Azure Storage Azure Files 공유 및 프레미스 파일 공유 지원합니다. Azure Storage App Service의 기본 스토리지가 아닙니다. 별도로 청구됩니다. ARM 템플릿에서 Azure Storage를 구성할 수도 있습니다.
사용자 지정 탑재 스토리지의 이점은 다음과 같습니다.
- App Service 앱에 대한 영구 스토리지를 구성하고 스토리지를 별도로 관리합니다.
- 비디오 및 이미지와 같은 정적 콘텐츠를 App Service 앱에 즉시 사용할 수 있습니다.
- 애플리케이션 로그 파일을 작성하거나 이전 애플리케이션 로그를 Azure 파일 공유에 보관합니다.
- 여러 앱 또는 다른 Azure 서비스와 콘텐츠를 공유합니다.
- 격리 컨테이너를 포함하여 Windows 컨테이너에 Azure Storage를 마운트합니다. 자세한 내용은 App Service Environment v3을 참조하세요.
Windows 컨테이너에 대해 지원되는 기능은 다음과 같습니다.
- 가상 네트워크 통합을 사용할 때 키 자격 증명 모음, 프라이빗 엔드포인트 및 서비스 엔드포인트를 사용하여 스토리지 계정에 대한 액세스를 보호합니다.
- Azure Files(읽기/쓰기).
- 앱당 최대 5개의 탑재 지점
- 드라이브 문자 할당(C: ~ Z:).
다음은 앱에 Azure 스토리지를 탑재하는 세 가지 옵션입니다.
| 탑재 옵션 | 사용 |
|---|---|
| 기본 | Azure 포털을 사용하여 스토리지를 탑재할 때 이 옵션을 선택합니다. 스토리지 계정이 서비스 엔드포인트, 사용 엔드포인트 또는 Azure Key Vault 사용하지 않는 한 기본 옵션을 사용할 수 있습니다. 이 경우 포털은 액세스 키를 가져오고 저장합니다. |
| 액세스 키 | Azure CLI 사용하여 스토리지를 탑재하려는 경우 액세스 키를 가져와야 합니다. 스토리지 계정이 서비스 엔드포인트, 사용 엔드포인트 또는 Azure Key Vault 사용하지 않는 경우 이 옵션을 선택합니다. |
| Key Vault (키 보관소) | 또한 액세스 키가 필요한 Azure CLI 사용하여 스토리지를 탑재하려는 경우에도 이 옵션을 사용합니다. Azure Key Vault 사용하여 액세스 키를 안전하게 저장하고 검색할 때 이 옵션을 선택합니다. Azure Key Vault Azure App Service 같은 다른 Azure 서비스와 모니터링, 관리 및 통합할 수 있는 기능을 통해 애플리케이션 비밀을 중앙에서 안전하게 저장할 수 있는 이점이 있습니다. |
필수 구성 요소
제한 사항
- Azure Blob은 지원되지 않습니다.
- 가상 네트워크 통합을 사용하는 경우 스토리지 방화벽은 프라이빗 엔드포인트 및 서비스 엔드포인트를 통해서만 지원됩니다.
- 탑재된 스토리지에 대한 FTP/FTPS 액세스는 지원되지 않습니다(Azure Storage Explorer 사용).
- [C-Z]:\, [C-Z]:\home, / 및 /home을 사용자 지정 탑재 스토리지에 매핑하는 것은 지원되지 않습니다.
- 스토리지 탑재는 앱을 백업할 때 백업되지 않습니다. 모범 사례를 따라 Azure Storage 계정을 백업해야 합니다.
- 앱에 가상 네트워크가 통합되어 있으면, 탑재된 드라이브는 가상 네트워크의 IP 주소가 아닌 RFC1918 IP 주소를 사용합니다.
탑재 준비
Windows 컨테이너에 스토리지 탑재
Azure 포털을 사용하여 스토리지를 Windows 컨테이너에 탑재하려면 다음을 수행합니다.
Azure 포털 앱으로 이동합니다.
왼쪽 탐색에서 설정>구성을 선택합니다. Path 매핑을 선택한 다음, 새로운 Azure Storage 탑재를 선택합니다.
다음 표에 따라 스토리지 탑재를 구성합니다. 작업을 마쳤으면 확인을 선택합니다.
설정 설명 이름 탑재 구성의 이름입니다. 공백을 사용하지 마세요. 구성 옵션 기본을 선택합니다. 스토리지 계정 Azure Storage 계정입니다. Azure Files 공유가 반드시 포함되어야 합니다. 공유 이름 탑재할 파일 공유입니다. 탑재 경로 탑재하려는 Windows 컨테이너 내의 디렉터리입니다. 루트 디렉터리([C-Z]:* 또는 /) 또는 홈 디렉터리([C-Z]:\home* 또는 /home)를 사용하지 마세요. 배포 슬롯 설정 선택하면 스토리지 탑재 설정이 배포 슬롯에도 적용됩니다.
참고
스토리지 탑재를 추가, 편집 또는 삭제하면 앱이 다시 시작됩니다.
모범 사례
대기 시간 문제를 방지하려면 앱과 Azure Storage 계정을 동일한 지역에 배치합니다. 앱과 Azure Storage 계정이 동일한 지역에 있을 때 Azure Storage 방화벽 구성 App Service IP 주소에서 액세스 권한을 부여하는 경우 이러한 IP 제한은 적용되지 않습니다.
Azure Storage 계정에서 앱에 스토리지를 탑재하는 데 사용하는 액세스 키를 다시 생성하지 않도록 합니다. 스토리지 계정에는 두 개의 키가 포함되어 있습니다. Azure App Service Azure 스토리지 계정 키를 저장합니다. 단계별 접근 방식을 사용하여 키를 다시 생성하는 동안 스토리지 탑재를 앱에서 계속 사용할 수 있도록 합니다. 예를 들어 key1을 사용하여 앱에서 스토리지 탑재를 구성하는 경우 다음을 수행합니다.
- key2를 다시 생성합니다.
- 스토리지 탑재 구성에서, 다시 생성한 key2를 사용하도록 액세스 키를 업데이트합니다.
- key1을 다시 생성합니다.
Azure Storage 계정, 컨테이너 또는 공유를 삭제하는 경우 가능한 오류 시나리오를 방지하기 위해 앱에서 해당 스토리지 탑재 구성을 제거합니다.
탑재된 Azure Storage 계정은 표준 또는 프리미엄 성능 계층일 수 있습니다. 앱 용량 및 처리량 요구 사항에 따라 스토리지 계정에 적합한 성능 계층을 선택합니다. Files의 스케일링 성능 및 성능 대상을 참조하세요.
앱이 을 여러 인스턴스로 스케일링하는 경우 모든 인스턴스는 탑재된 동일한 Azure Storage 계정에 연결됩니다. 성능 병목 상태 및 처리량 문제를 방지하려면 스토리지 계정에 적절한 성능 계층을 선택합니다.
SQLite와 같은 로컬 데이터베이스 또는 파일 핸들 및 잠금을 사용하는 다른 애플리케이션 및 구성 요소에는 스토리지 탑재를 사용하지 마세요.
가상 네트워크 통합과 함께 Azure Files 사용할 때 포트 445가 열려 있는지 확인합니다.
스토리지 계정이 앱에 탑재된 경우 스토리지 장애 조치(failover)를 시작하면 앱을 다시 시작하거나 스토리지 탑재를 제거했다가 다시 추가할 때까지 탑재가 연결되지 않습니다.
다음 단계
참고
이제 NFS 지원을 App Service on Linux 사용할 수 있습니다.
이 가이드에서는 기본 제공 Linux 컨테이너 또는 App Service의 사용자 지정 Linux 컨테이너에서 네트워크 공유로 Azure Storage 탑재하는 방법을 보여줍니다. Azure Storage 최신 데이터 스토리지 시나리오를 위한 Microsoft의 클라우드 스토리지 솔루션입니다. Azure Storage 클라우드의 데이터 개체에 대해 고가용성, 대규모 확장성, 내구성 및 보안 스토리지를 제공합니다. Azure Storage App Service의 기본 스토리지가 아닙니다. 별도로 청구됩니다. ARM 템플릿에서 Azure Storage를 구성할 수도 있습니다.
사용자 지정 탑재 스토리지의 이점은 다음과 같습니다.
- App Service 앱에 대한 영구 스토리지를 구성하고 스토리지를 별도로 관리합니다.
- 비디오 및 이미지와 같은 정적 콘텐츠를 App Service 앱에 즉시 사용할 수 있습니다.
- 애플리케이션 로그 파일을 작성하거나 이전 애플리케이션 로그를 Azure 파일 공유에 보관합니다.
- 여러 앱 또는 다른 Azure 서비스와 콘텐츠를 공유합니다.
- Azure Files NFS 및 Azure Files SMB 지원합니다.
- Azure Blob을 지원합니다(읽기 전용).
- 앱당 최대 5개의 탑재 지점을 지원합니다.
사용자 지정 탑재 스토리지의 제한은 다음과 같습니다.
- 가상 네트워크 통합을 사용하는 경우 스토리지 방화벽은 서비스 엔드포인트 및 프라이빗 엔드포인트를 통해서만 지원됩니다.
- 사용자 지정 탑재 스토리지에 대한 FTP/FTPS 액세스는 지원되지 않습니다. Azure Storage Explorer 사용합니다.
- 스토리지 계정 공유 액세스 키는 지원되는 유일한 인증 수단입니다. Entra ID 및 RBAC 역할은 지원되지 않습니다.
- Azure CLI, Azure PowerShell 및 Azure SDK 지원은 미리 보기로 제공됩니다.
- / 또는 /home을 사용자 지정 탑재 스토리지에 매핑하는 것은 지원되지 않습니다.
- 스토리지 탑재를 /tmp 또는 하위 디렉터리에 매핑하지 마세요. 이 작업으로 인해 앱 시작 시 시간 초과가 발생할 수 있습니다.
- Azure Storage Docker Compose 시나리오에서는 지원되지 않습니다.
- 스토리지 탑재는 백업에 포함되지 않습니다. 모범 사례를 따라 Azure Storage 계정을 백업해야 합니다.
- NFS 지원은 App Service on Linux 경우에만 사용할 수 있습니다. NFS는 Windows 코드 및 Windows 컨테이너에 대해 지원되지 않습니다. NFS의 경우 웹앱과 스토리지 계정은 동일한 가상 네트워크에 구성되어야 합니다. 파일 공유에 사용되는 스토리지 계정에는 프리미엄 성능 계층과 파일 스토리지가 계정 종류로 있어야 합니다. NFS 프로토콜을 사용하는 경우 Azure Key Vault 적용할 수 없습니다.
- 앱에 가상 네트워크가 통합되어 있으면, 탑재된 드라이브는 가상 네트워크의 IP 주소가 아닌 RFC1918 IP 주소를 사용합니다.
탑재 옵션
앱에 스토리지를 탑재해야 합니다. Azure 스토리지에 대한 세 가지 탑재 옵션은 다음과 같습니다.
| 탑재 옵션 | 사용 |
|---|---|
| 기본 | Azure 포털을 사용하여 스토리지를 탑재하려면 이 옵션을 선택합니다. 스토리지 계정이 서비스 엔드포인트, 사용 엔드포인트 또는 Azure Key Vault 사용하지 않는 한 기본 옵션을 사용할 수 있습니다. 이 경우 포털은 액세스 키를 가져오고 저장합니다. |
| 액세스 키 | Azure CLI 사용하여 스토리지를 탑재하려는 경우 액세스 키를 가져와야 합니다. 스토리지 계정이 서비스 엔드포인트, 사용 엔드포인트 또는 Azure Key Vault 사용하지 않는 경우 이 옵션을 선택합니다. |
| Key Vault (키 보관소) | 또한 액세스 키가 필요한 Azure CLI 사용하여 스토리지를 탑재하려는 경우에도 이 옵션을 사용합니다. Azure Key Vault 사용하여 액세스 키를 안전하게 저장하고 검색할 때 이 옵션을 선택합니다. Azure Key Vault Azure App Service 같은 다른 Azure 서비스와 모니터링, 관리 및 통합할 수 있는 기능을 통해 애플리케이션 비밀을 중앙에서 안전하게 저장할 수 있는 이점이 있습니다. |
필수 구성 요소
탑재 준비
Linux 컨테이너에 스토리지 탑재
스토리지를 탑재하는 방법은 스토리지 액세스 옵션과 포털 또는 Azure CLI 사용하는지 여부에 따라 달라집니다.
Azure 포털 앱으로 이동합니다.
왼쪽 탐색에서 설정>구성을 선택합니다. Path 매핑을 선택한 다음, 새로운 Azure Storage 탑재를 선택합니다.
다음 표에 따라 스토리지 탑재를 구성합니다. 작업을 마쳤으면 확인을 선택합니다.
설정 설명 이름 탑재 구성의 이름입니다. 공백을 사용하지 마세요. 구성 옵션 스토리지 계정이 서비스 엔드포인트, 프라이빗 엔드포인트 또는 Azure Key Vault를 사용하지 않는 경우 Basic을 선택합니다. 사용하고 있으면 고급를 선택합니다. 스토리지 계정 Azure Storage 계정입니다. 스토리지 유형 탑재하려는 스토리지에 맞는 유형을 선택합니다. Azure Blob은 읽기 전용 액세스만 지원합니다. 스토리지 컨테이너 또는 공유 이름 탑재할 파일 공유 또는 Blob 컨테이너입니다. 탑재 경로 Azure Storage 탑재할 Linux 컨테이너 내의 디렉터리입니다. / 또는 /home을 사용하지 마세요. 배포 슬롯 설정 이 옵션을 선택하면 스토리지 탑재 설정이 배포 슬롯에도 적용됩니다.
참고
스토리지 탑재를 추가, 편집 또는 삭제하면 앱이 다시 시작됩니다.
탑재된 스토리지 유효성 검사
앱에 대해 Azure Storage 성공적으로 탑재되었는지 확인하려면 다음을 수행합니다.
컨테이너에 대한 SSH 세션을 엽니다.
SSH 터미널에서 다음 명령을 실행합니다.
df –h스토리지 공유가 탑재되었는지 확인합니다. 스토리지 공유가 없는 경우 스토리지 공유 탑재에 문제가 있는 것입니다.
다음 명령을 사용하여 스토리지 탑재의 대기 시간 또는 일반적인 연결 가능성을 확인합니다.
tcpping Storageaccount.file.core.windows.net
스토리지 탑재 상태 검사 및 자동 복구
Azure App Service에는 마운트된 Azure Storage 볼륨(Azure Files 또는 Azure Blob)이 액세스 가능하고 응답성을 유지하도록 하는 기본 제공 상태 검사 메커니즘이 포함되어 있습니다. 이 시스템은 부실 또는 연결이 끊긴 스토리지 탑재로 인한 애플리케이션 중단을 방지하는 데 도움이 됩니다.
상태 검사 작동 방식
정기적인 I/O 테스트
App Service는 라는__lastCheckTime.txt표식 파일에서 파일 I/O를 주기적으로 수행합니다.-
위치:
LogFiles탑재된 경로 아래의 하위 디렉터리입니다(예:/mount/path/LogFiles/__lastCheckTime.txt). -
행동:
- 이 파일에서 읽기 작업을 시도합니다.
- 파일이 존재하지 않아도 됩니다. "파일을 찾을 수 없음"은 성공적인 검사로 처리됩니다.
-
위치:
빈도
검사는 기본적으로 5초 마다 실행됩니다.오류 처리
- 실패하거나 시간이 초과된 각 체크 아웃은 실패한 ping 카운터를 증가합니다.
- 오류가 구성된 임계값을 초과하는 경우:
- Azure Files: 18개의 실패한 ping
- Azure Blob: 15개의 실패한 ping
- 마운트가 오류 상태로 표시되면, App Service가 자동으로 앱을 다시 시작하여 공유에 대한 연결을 복원합니다.
앱 설정을 통한 구성
다음 앱 설정을 사용하여 상태 검사 동작을 사용자 지정할 수 있습니다.
| 스토리지 유형 | 설정 이름 | 기본값 | 설명 |
|---|---|---|---|
| Azure Files | WEBSITE_BYOS_FILES_HEALTH_CHECK_FREQUENCY |
5 |
상태 검사 사이의 간격(초)입니다. |
| Azure Files | WEBSITE_BYOS_FILES_MAX_FAILED_PINGS |
18 |
볼륨을 오류로 표시하기 전의 연속 오류 수입니다. |
| Azure Files | WEBSITE_BYOS_FILES_AUTO_RECOVERY_ENABLED |
true |
false로 설정하여 자동 복구 논리를 비활성화합니다. |
| Azure Blob | WEBSITE_BYOS_BLOB_HEALTH_CHECK_FREQUENCY |
5 |
상태 검사 사이의 간격(초)입니다. |
| Azure Blob | WEBSITE_BYOS_BLOB_MAX_FAILED_PINGS |
15 |
볼륨을 오류로 표시하기 전의 연속 오류 수입니다. |
| Azure Blob | WEBSITE_BYOS_BLOB_AUTO_RECOVERY_ENABLED |
true |
false로 설정하여 자동 복구 논리를 비활성화합니다. |
| Azure Blob | WEBSITE_BYOS_BLOB_DIRECT_IO |
false |
사용하도록 설정하면 모든 트랜잭션이 원격 스토리지를 직접 쿼리하고 캐싱이 무시됩니다. 이 설정은 애플리케이션 수준에서 적용되므로 애플리케이션에 의해 탑재된 모든 Blob 공유에 영향을 줍니다. |
비고
- 자동 복구는 응답하지 않는 스토리지 경로로 인한 장기 실행 애플리케이션 중단을 방지하는 데 도움이 됩니다.
- 특정 탑재 동작의 문제를 해결하지 않는 한 자동 복구를 사용하지 않도록 설정하지 마세요.
모범 사례
성능
대기 시간 문제를 방지하려면 앱과 Azure Storage 계정을 동일한 지역에 배치합니다. 앱과 Azure Storage 계정이 동일한 지역에 있을 때 Azure Storage 방화벽 구성 App Service IP 주소에서 액세스 권한을 부여하는 경우 이러한 IP 제한은 적용되지 않습니다.
탑재된 Azure Storage 계정은 표준 또는 프리미엄 성능 계층일 수 있습니다. 앱 용량 및 처리량 요구 사항에 따라 스토리지 계정에 적합한 성능 계층을 선택합니다. Files 및 Blobs 스토리지 유형에 해당하는 확장성 및 성능 목표를 참조하세요.
앱이 을 여러 인스턴스로 스케일링하는 경우 모든 인스턴스는 탑재된 동일한 Azure Storage 계정에 연결됩니다. 성능 병목 상태 및 처리량 문제를 방지하려면 스토리지 계정에 적절한 성능 계층을 선택합니다.
보안
Azure Storage 계정에서 앱에 스토리지를 탑재하는 데 사용하는 액세스 키를 다시 생성하지 않도록 합니다. 스토리지 계정에는 두 개의 키가 포함되어 있습니다. Azure App Services는 Azure 스토리지 계정 키를 저장합니다. 단계별 접근 방식을 사용하여 키를 다시 생성하는 동안 스토리지 탑재를 앱에서 계속 사용할 수 있도록 합니다. 예를 들어 key1을 사용하여 앱에서 스토리지 탑재를 구성하는 경우 다음을 수행합니다.
- key2를 다시 생성합니다.
- 스토리지 탑재 구성에서, 다시 생성한 key2를 사용하도록 액세스 키를 업데이트합니다.
- key1을 다시 생성합니다.
구성
- 실시간으로 파일이 변경, 추가 또는 삭제되는 파일 시스템을 사용해야 할 경우, 스토리지를 탑재할 때 Azure Files 스토리지 유형을 사용하세요. 파일이 정적이며 변경이 필요하지 않은 경우 Azure Blob을 사용합니다.
문제 해결
- 사용자 지정 컨테이너의 탑재 디렉터리는 비어 있어야 합니다. 예를 들어 Azure Storage 탑재할 때 /home 아래에 디렉터리를 지정하면 이 경로에 저장된 모든 콘텐츠가 삭제됩니다. 기존 앱의 파일을 마이그레이션하는 경우, 작업을 시작하기 전에 앱과 해당 콘텐츠를 백업합니다.
- NFS 공유를 탑재할 때 스토리지 계정에서 보안 전송 필수를 사용하지 않도록 설정해야 합니다. App Service는 이 설정을 사용하는 경우 NFS 공유 탑재를 지원하지 않습니다. 포트 2049 및 가상 네트워크 통합 및 프라이빗 엔드포인트를 보안 조치로 사용합니다.
- Azure Storage 계정, 컨테이너 또는 공유를 삭제하는 경우 가능한 오류 시나리오를 방지하기 위해 앱에서 해당 스토리지 탑재 구성을 제거합니다.
- SQLite와 같은 로컬 데이터베이스 또는 파일 핸들 및 잠금을 사용하는 다른 애플리케이션 및 구성 요소에는 스토리지 탑재를 사용하지 마세요.
- 가상 네트워크 통합을 사용할 때 다음 포트가 열려 있는지 확인합니다. Azure Files: 80 및 445. Azure Blob: 80 및 443.
- 스토리지 계정이 앱에 탑재된 경우 스토리지 장애 조치(failover)를 시작하면 앱을 다시 시작하거나 스토리지 탑재를 제거했다가 다시 추가할 때까지 탑재가 연결되지 않습니다.