다음을 통해 공유


Synapse Studio 문제 해결

이 문제 해결 가이드에서는 네트워크 연결 문제에 대한 지원 티켓을 열 때 제공할 정보를 설명합니다. 적절한 정보를 제공하면 문제를 더 신속하게 해결하는 데 도움이 됩니다.

세션이 유휴 상태로 유지되면 게시 실패

증상

경우에 따라 브라우저 세션이 장기간 비활성 상태인 경우 토큰 만료에 대한 메시지로 인해 게시 시도가 실패할 수 있습니다.

ERROR: Unauthorized Inner error code: ExpiredAuthenticationToken Message: Token Authentication failed with SecurityTokenExpiredException - MISE12034: AuthenticationTicketProvider Name:AuthenticationTicketProvider, GetVersion:1.9.2.0.;

근본 원인 및 완화

Synapse Studio에서 토큰 만료를 처리하려면 특히 Git 통합 없이 라이브 작업 영역에서 작업할 때 신중하게 고려해야 합니다. 작업 손실을 방지하기 위해 세션을 관리하는 방법은 다음과 같습니다.

  • Git 통합 사용:
    • 변경 내용을 정기적으로 커밋합니다. 이렇게 하면 세션을 갱신하기 위해 브라우저를 새로 고쳐야 하는 경우에도 작업 내용이 안전하게 저장됩니다.
    • 커밋한 후 브라우저를 새로 고쳐 세션을 다시 설정한 다음 계속해서 변경 내용을 게시할 수 있습니다.
  • Git 통합이 없는 경우:
    • 잠시 중단하거나 작업하지 않는 기간 전에 변경 내용을 게시해 보세요. 세션이 오랫동안 유휴 상태인 경우 반환 후 게시하려고 하면 토큰 만료 오류가 발생할 수 있다는 점을 기억해야 합니다.
    • 필요한 새로 고침으로 인해 저장되지 않은 변경 내용이 손실될 위험이 우려되는 경우 자주 저장하고 게시하는 작업을 포함하도록 작업 기간을 구성하고 세션이 오랫동안 유휴 상태로 두지 않도록 하는 것이 좋습니다.

Important

Git이 없는 라이브 작업 영역에서 세션이 유휴 상태이고 토큰 만료가 발생하면 딜레마에 직면하게 됩니다. 페이지를 새로 고치면 저장되지 않은 변경 내용이 손실될 위험이 있습니다. 토큰이 아직 만료되지 않은 경우 게시해 보세요. 이러한 위험을 최소화하려면 작업 성격과 환경 설정에 따라 활성 세션을 유지하거나 자주 저장합니다.

서버리스 SQL 풀 서비스 연결 문제

증상 1

"연결 대상" 드롭다운에서 "서버리스 SQL 풀" 옵션이 회색으로 표시됩니다.

symptom1

증상 2

"서버리스 SQL 풀"을 사용하여 쿼리를 실행하면 "서버에 대한 연결을 설정하지 못했습니다"라는 오류 메시지가 표시됩니다.

증상 2

문제 해결 단계

참고 항목

다음 문제 해결 단계는 Chromium Edge 및 Chrome 사용자를 위한 것입니다. 다른 브라우저(예: FireFox)에서도 동일한 문제 해결 단계를 수행할 수 있지만 "개발자 도구" 창의 레이아웃이 이 TSG의 스크린샷과 다를 수 있습니다. 특정 상황에서는 부정확한 정보가 표시될 수 있으므로 가능한 한 클래식 Edge는 문제 해결에 사용하지 마세요.

"진단 정보" 패널을 열고 "진단 다운로드" 단추를 선택합니다. 오류 보고를 위해 다운로드한 정보를 보관합니다. 대신 "세션 ID"를 복사하여 지원 티켓을 열 때 첨부할 수 있습니다.

diagnostic-info

문제 해결을 시작하려면 Synapse Studio에서 수행한 작업을 다시 시도합니다.

  • 증상 1의 경우, "SQL 스크립트" 탭에서 "데이터베이스 사용" 드롭다운의 오른쪽에 있는 "새로 고침" 단추를 선택하고 "서버리스 SQL 풀"이 나타나는지 확인합니다.
  • 증상 2의 경우, 쿼리를 다시 실행하여 성공적으로 실행되는지 확인합니다.

문제가 계속되면 브라우저에서 F12 키를 눌러 "개발자 도구"(DevTool)를 엽니다.

"개발자 도구" 창에서 "네트워크" 패널로 전환합니다. 필요한 경우 "네트워크" 패널의 도구 모음에서 "지우기" 단추를 선택합니다. "네트워크" 패널에서 "캐시 사용 안 함"이 선택되어 있는지 확인합니다.

Azure Synapse Studio에서 수행한 작업을 다시 시도합니다. "개발자 도구"의 "네트워크" 목록에 새 항목이 표시될 수 있습니다. 지원 티켓에 제공할 현재 시스템 시간을 적어둡니다.

network-panel 1

Url 열이 다음 패턴과 일치하는 항목을 찾습니다.

https://[*A*]-ondemand.database.windows.net:1443/databases/[*B*]/query?api-version=2018-08-01-preview&application=ArcadiaSqlOnDemandExplorer

여기서 [A]는 작업 영역 이름이고, "-ondemand"는 "-sqlod"이고, [B]는 "master"와 같은 데이터베이스 이름이어야 합니다. URL 값은 같지만 메서드 값은 다른 항목이 최대 두 개 있어야 합니다. 즉, OPTIONS와 POST가 여기에 해당합니다. 이 두 항목의 상태 열에 "200" 또는 "20x"가 있는지 확인합니다. 여기서 "x"는 임의의 단일 숫자일 수 있습니다.

둘 중 하나에 "20x"가 아닌 다른 값이 있는 경우:

  • 그리고 상태가 "(failed)"로 시작하는 경우, "Status"(상태) 열을 확장하거나 상태 텍스트를 마우스 포인터를 가리켜 전체 텍스트를 표시합니다. 지원 티켓을 열 때 텍스트 및/또는 스크린샷을 포함합니다.

    status text

    • ERR_NAME_NOT_RESOLVED가 표시되고 10분 이내에 작업 영역을 만든 경우, 10분 동안 기다린 후 다시 시도하여 문제가 계속되는지 확인합니다.
    • ERR_INTERNET_DISCONNECTED 또는 ERR_NETWORK_CHANGED가 표시되는 경우, PC 네트워크 연결에 문제가 있는 것일 수 있습니다. 네트워크 연결을 확인하고 작업을 다시 시도하세요.
    • ERR_CONNECTION_RESET, ERR_SSL_PROTOCOL_ERROR 또는 "SSL"을 포함하는 다른 오류 코드가 표시되는 경우, 로컬 SSL 구성에 문제가 있거나 네트워크 관리자가 서버리스 SQL 풀 서버에 대한 액세스를 차단한 것일 수 있습니다. 지원 티켓을 열고 설명에 오류 코드를 첨부합니다.
    • ERR_NETWORK_ACCESS_DENIED가 표시되는 경우, 관리자에게 문의하여 로컬 방화벽 정책에서 *.database.windows.net 도메인 또는 원격 포트 1443에 대한 액세스를 차단했는지 확인해야 할 수 있습니다.
    • 필요한 경우 다른 컴퓨터 및/또는 네트워크 환경에서 동일한 작업을 즉시 시도하여 PC의 네트워크 구성 문제를 배제합니다.
  • 상태는 "40x", "50x" 또는 기타 숫자입니다. 세부 정보를 보려면 해당 항목을 선택합니다. 오른쪽에 항목 세부 정보가 표시됩니다. "Response Header”(응답 헤더) 섹션을 찾습니다. 그런 후 "access-control-allow-origin"이라는 항목이 있는지 확인합니다. 있다면 다음 값 중 하나가 있는지 확인합니다.

응답 헤더에 위의 값 중 하나가 포함된 경우, 오류 정보를 이미 수집했어야 한다는 의미입니다. 필요한 경우 지원 티켓을 열고 항목 세부 정보의 스크린샷을 첨부할 수 있습니다.

헤더가 보이지 않거나 헤더에 위에 나열된 값 중 하나가 없는 경우, 티켓을 열 때 항목 세부 정보의 스크린샷을 첨부합니다.

항목 세부 정보

위의 단계를 수행해도 문제가 해결되지 않으면 지원 티켓을 열어야 할 수 있습니다. 지원 티켓을 제출할 때는 이 가이드의 시작 부분에서 다운로드한 "세션 ID" 또는 "진단 정보"를 포함합니다.

문제를 보고할 때 필요한 경우 "개발자 도구"에서 "콘솔" 탭의 스크린샷을 만들어 지원 티켓에 첨부할 수 있습니다. 콘텐츠를 스크롤하고 필요한 경우 전체 메시지를 캡처하는 스크린샷을 둘 이상 만듭니다.

developer tool console

스크린샷을 첨부할 때는 스크린샷을 만든 시간(또는 예상 시간 범위)을 제공합니다. 그러면 문제를 확인하는 데 도움이 됩니다.

특정 브라우저는 "콘솔" 탭에 타임스탬프를 표시할 수 있습니다. Chromium Edge/Chrome의 경우 "개발자 도구"에서 "설정" 대화 상자를 열고 "기본 설정" 탭에서 "타임스탬프 표시"를 선택합니다.

developer tool console settings

show time stamp

Notebook WebSocket 연결 문제

증상

오류 메시지 표시: Notebook 연결이 예기치 않게 닫혔습니다. 연결을 다시 설정하려면 Notebook을 다시 실행하세요. 진단 정보: websocket_close_error (correlation id)

Notebook WebSocket 연결 문제

근본 원인:

Notebook 실행은 다음 URL에 대한 WebSocket 연결 설정에 따라 달라집니다.

wss://{workspace}.dev.azuresynapse.net/jupyterApi/versions/1/sparkPools/{spark-pool}/api/kernels/{kernel-id}/channels 
  • {workspace}는 Synapse 작업 영역의 이름입니다,
  • {spark-pool}은 현재 작업 중인 Spark 풀의 이름입니다,
  • {kernel-id}는 Notebook 세션을 구분하는 데 사용되는 GUID입니다.

WebSocket 연결을 설정하는 경우 Synapse Studio가 WebSocket 요청의 Sec-WebSocket-Protocol 헤더에 액세스 토큰(JWT 전달자 토큰)을 포함합니다.

경우에 따라 WebSocket 요청이 차단되거나 네트워크 환경에서 요청 헤더의 JWT 토큰이 수정될 수 있습니다. 그러면 Synapse Notebook이 서버에 대한 연결을 설정하고 Notebook을 실행할 수 없게 됩니다.

작업:

가능하면 회사 네트워크 내부/외부와 같이 네트워크 환경을 전환하거나 다른 워크스테이션에서 Synapse Notebook에 액세스하세요.

  • 동일한 워크스테이션이지만 다른 네트워크 환경에서 Notebook을 실행할 수 있는 경우 네트워크 관리자에게 문의하여 WebSocket 연결이 차단되었는지 확인하세요.

  • 다른 워크스테이션이지만 동일한 네트워크 환경에서 Notebook을 실행할 수 있는 경우 WebSocket 요청을 차단할 수 있는 브라우저 플러그 인을 설치하지 않았는지 확인하세요.

그렇지 않으면 네트워크 관리자에게 문의하여 다음 URL 패턴이 있는 아웃바운드 WebSocket 요청이 허용되고 해당 요청 헤더가 수정되지 않는지 확인하세요.

wss://{workspace}.dev.azuresynapse.net/{path} 
  • {workspace}는 Synapse 작업 영역 이름입니다.

  • {path}는 URI의 하위 경로(즉, 슬래시 문자가 포함됨)를 나타냅니다.

이 URL 패턴은 향후 잠재적인 연결 문제 없이 Synapse에 새 WebSocket 종속 기능을 추가할 수 있기 때문에 "근본 원인" 섹션에 표시된 패턴보다 느슨합니다.

메시지 큐가 가득 찼거나 완료되었으며 더 많은 항목을 허용할 수 없습니다.

증상

파이프라인에 256개 이상의 코드 셀이 포함된 Notebook을 추가하면 파이프라인 실행이 실패하고 오류 코드 6002와 "MessageQueueFullException: 메시지 큐가 가득 찼거나 완료되었으며 더 많은 항목을 수락할 수 없습니다."라는 오류 메시지가 표시됩니다.

샘플 Notebook 단계에서 오류 코드 6002를 보여 주는 Azure Portal의 스크린샷.

근본 원인:

파이프라인에서 Synapse Notebook 작업을 실행할 때 256개 셀의 제한이 있습니다.

작업:

셀 수를 256 미만으로 줄이기 위해 셀을 병합할 수 있습니다.

다음 단계

이전 단계가 문제를 해결하는 데 도움이 되지 않았다면 지원 티켓을 만듭니다.