Azure Batch 작업을 실행할 때 액세스가 거부됨
Azure Storage 계정은 Azure Batch 계정이 리소스 파일, 애플리케이션 패키지 및 출력 파일을 저장하는 데 필요한 종속 구성 요소입니다. 대부분의 경우 방화벽과 함께 Azure Storage 계정을 사용하여 보안을 강화합니다. 그러나 방화벽이 있는 Azure Storage 계정은 Azure Batch 작업을 실행할 때 오류가 발생할 수 있습니다. 이 문서에서는 이러한 문제에 대한 솔루션을 제공합니다.
증상
Azure Batch 작업을 실행할 때 연결된 Azure Storage 계정과 관련된 오류가 발생할 수 있습니다.
오류 예제는 다음과 같습니다.
범주: UserError
코드: ResourceContainerAccessDenied
메시지: 지정된 Azure Blog 컨테이너 중 하나에 대한 액세스가 거부됨
원인
Azure Batch 풀을 만들면 새 가상 머신(Batch 노드)이 프로비전됩니다. Batch 풀에 고정 공용 IP 주소를 할당하지 않으면 임의의 공용 IP 주소가 할당됩니다. 노드 수를 0으로 조정하고 다시 크기를 조정할 때마다 이러한 새 Batch 노드의 공용 IP 주소가 변경됩니다. 따라서 연결된 스토리지 계정에 방화벽이 구성된 경우 방화벽의 허용 목록을 관리하기가 어렵습니다.
스토리지 계정과 Batch 풀이 동일한 지역에 있는 경우 Batch 풀에 고정 공용 IP 주소가 있는지 여부에 관계없이 Batch 노드의 아웃바운드 트래픽은 항상 Azure 백본 인터넷(개인 IP 주소)을 통해 이동합니다. 스토리지 방화벽은 허용 목록에 개인 IP 주소를 추가할 수 없으므로 스토리지 계정에 대한 트래픽이 거부됩니다.
해결
이 문제를 해결하려면 시나리오에 따라 Batch 풀 및 스토리지 계정 구성을 관리합니다.
참고 항목
애플리케이션 패키지를 업로드해야 하는 경우 다음 솔루션 중 어느 것도 작동하지 않습니다. 스토리지 계정은 방화벽을 구성해서는 안됩니다. 자세한 내용은 스토리지 계정 연결을 참조 하세요.
시나리오 1: Batch 풀 및 스토리지 계정이 동일한 지역에 있고 Batch 풀에 가상 네트워크가 있습니다.
Azure Portal >Batch 계정>풀>속성의 네트워크 구성에서 서브넷 정보를 확인합니다. 정보를 적어 둡니다.
스토리지 계정으로 이동하고 네트워킹을 선택합니다. 방화벽 및 가상 네트워크 설정에서 선택한 가상 네트워크 및 공용 네트워크 액세스에 대한 IP 주소에서 사용을 선택합니다. 방화벽 허용 목록에 Batch 풀의 서브넷을 추가합니다.
서브넷에서 서비스 엔드포인트를 사용하도록 설정하지 않으면 서비스 엔드포인트를 선택하면 다음과 같이 알림이 표시됩니다.
다음 네트워크에는 'Microsoft.Storage'에 대해 서비스 엔드포인트를 사용할 수 없습니다. 액세스를 사용하도록 설정하는 작업은 완료하는 데 최대 15분이 걸립니다. 이 작업을 시작한 후 기다리지 않으려면 나중에 떠나서 돌아오는 것이 안전합니다.
따라서 서브넷을 추가하기 전에 Batch 가상 네트워크에서 확인하여 스토리지 계정에 대한 서비스 엔드포인트가 사용하도록 설정되어 있는지 확인합니다.
위의 구성을 완료하면 풀의 Batch 노드가 스토리지 계정에 성공적으로 액세스할 수 있습니다.
시나리오 2: Batch 풀 및 스토리지 계정이 서로 다른 지역에 있습니다.
고정 공용 IP 주소를 사용하여 가상 네트워크에 새 Batch 풀을 만듭니다. 자세한 내용은 지정된 공용 IP 주소를 사용하여 Batch 풀 만들기를 참조하세요.
Batch 풀 및 스토리지 계정은 서로 다른 지역에 있으므로 아웃바운드 트래픽은 공용 IP 주소를 통해 공용 인터넷을 통과합니다.
공용 IP 주소를 적어 씁니다.
Batch 풀 공용 Load Balancer의 IP에 공용 IP 주소를 할당합니다.
그런 다음 Batch 풀의 속성을 확인합니다. 다음 스크린샷의 것과 같습니다.
스토리지 방화벽 허용 목록에 공용 IP 주소를 추가합니다.
새로 만든 Batch 풀을 사용하여 Batch 작업을 실행합니다.
도움을 요청하십시오.
질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.