단일 테넌트 표준 논리 앱 리소스를 만들 때 논리 앱 아티팩트 저장을 위한 스토리지 계정이 있어야 합니다. 가상 네트워크 내의 리소스만 논리 앱 워크플로에 연결할 수 있도록 이 스토리지 계정에 대한 액세스를 제한할 수 있습니다. Azure Storage는 스토리지 계정에 프라이빗 엔드포인트를 추가하는 것을 지원합니다.
이 문서에서는 보호된 프라이빗 스토리지 계정에 표준 논리 앱을 배포할 때 발생할 수 있는 일반적인 오류에 대해 설명합니다.
일반적인 오류 해결 방법
다음 오류는 일반적으로 방화벽 뒤에 있는 프라이빗 스토리지 계정에서 발생하며 논리 앱이 스토리지 계정 서비스에 액세스할 수 없음을 나타냅니다.
| 문제 | 오류 |
|---|---|
| host.json 파일에 대한 액세스가 거부됨 | "System.Private.CoreLib: 'C:\home\site\wwwroot\host.json' 경로에 대한 액세스가 거부되었습니다." |
| 파일 공유에 연결할 수 없음 | "System.Private.CoreLib: 네트워크 경로를 찾을 수 없습니다. 'C:\home\data\Functions\secrets\Sentinels'." |
| 파일 공유에 인증할 수 없음 | "System.Private.CoreLib: 사용자 이름 또는 암호가 잘못되었습니다. 'C:\home\data\Functions\secrets\Sentinels'." |
| 외부 시작 클래스에서 구성을 빌드하는 동안 오류가 발생했습니다. | "System.Private.CoreLib: 경로 'C:\home\site\wwwroot'의 일부를 찾을 수 없습니다." |
| 논리 앱 리소스에서 워크플로를 로드할 수 없음 | "호스트 런타임에서 오류(ServiceUnavailable)가 발생했습니다." |
이러한 문제를 해결하고 근본 원인을 찾는 데 도움이 되도록 다음 단계를 수행합니다.
Azure Portal에서 스토리지 계정 및 파일 공유가 여전히 존재하는지 확인합니다.
논리 앱 리소스 메뉴의 설정에서 환경 변수를 선택합니다.
앱 설정 탭에서 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING 및 WEBSITE_CONTENTSHARE 설정을 찾습니다.
이러한 설정이 각각 올바른 스토리지 계정 및 파일 공유를 지정했는지 확인합니다. 맞춤법 오류가 없는지 확인합니다.
논리 앱 리소스 메뉴에서 진단 및 문제 해결을 선택합니다. 논리 앱 다운 또는 보고 오류 탐지기 및 네트워크 문제 해결사 탐지기 찾고 실행하기.
이러한 탐지기는 문제 해결을 위한 인사이트와 제안을 제공합니다.
다음 목록에는 원인을 찾기 위해 수행할 수 있는 추가 문제 해결 작업이 포함되어 있습니다.
비고
논리 앱 리소스 및 워크플로는 이러한 오류가 발생할 때 실행되지 않으므로 Azure에서 Kudu 콘솔 디버깅 기능을 사용하여 문제를 해결할 수 없습니다.
논리 앱과 통합된 동일한 가상 네트워크 내의 다른 서브넷 내에 Azure VM(가상 머신)을 만듭니다. VM에서 스토리지 계정으로 연결해 봅니다.
Storage Explorer 도구를 사용하여 스토리지 계정 서비스에 대한 액세스를 확인합니다.
이 도구를 사용하여 연결 문제가 발견되면 다음 단계를 계속 진행합니다.
명령 프롬프트에서
nslookup을 실행하여 스토리지 서비스가 가상 네트워크의 개인 IP 주소로 확인되는지 확인합니다.C:\>nslookup {storage-account-host-name} [optional-DNS-server]모든 스토리지 서비스를 확인합니다.
C:\nslookup {storage-account-host-name}.blob.core.windows.netC:\nslookup {storage-account-host-name}.file.core.windows.netC:\nslookup {storage-account-host-name}.queue.core.windows.netC:\nslookup {storage-account-host-name}.table.core.windows.net이러한 DNS 쿼리가 확인되면
psping또는tcpping을 실행하여 포트 443을 통해 스토리지 계정에 대한 트래픽을 확인합니다.C:\psping {storage-account-host-name} {port} [optional-DNS-server]모든 스토리지 서비스를 확인합니다.
C:\psping {storage-account-host-name}.blob.core.windows.net:443C:\psping {storage-account-host-name}.queue.core.windows.net:443C:\psping {storage-account-host-name}.table.core.windows.net:443C:\psping {storage-account-host-name}.file.core.windows.net:445쿼리가 VM에서 확인되면 다음 단계를 계속 진행합니다.
VM에서 확인에 사용되는 DNS 서버를 찾습니다.
논리 앱에서 WEBSITE_DNS_SERVER 앱 설정을 찾아 이전 단계에서 찾은 것과 동일한 DNS 서버 값으로 설정합니다.
논리 앱에서 적절한 가상 네트워크 및 서브넷을 사용하여 가상 네트워크 통합이 올바르게 설정되었는지 확인합니다.
도움을 요청하십시오.
질문이 있는 경우 Azure 커뮤니티 지원을 요청할 수 있습니다. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.