

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon SageMaker Studio Classic의 수명 주기 구성 디버깅
<a name="studio-lcc-debug"></a>

**중요**  
2023년 11월 30일부로 이전 Amazon SageMaker Studio 경험의 이름이 Amazon SageMaker Studio Classic으로 변경되었습니다. 다음 섹션은 Studio Classic 애플리케이션 사용에 관해 다룹니다. 업데이트된 Studio 환경 사용에 대한 자세한 내용은 [Amazon SageMaker Studio](studio-updated.md) 섹션을 참조하세요.  
Studio Classic은 기존 워크로드에 대해 여전히 유지 관리되지만 더 이상 온보딩에 사용할 수 없습니다. 기존 Studio Classic 애플리케이션만 중지하거나 삭제할 수 있으며 새 애플리케이션을 생성할 수는 없습니다. [워크로드를 새 Studio 환경으로 마이그레이션하는](studio-updated-migrate.md) 것이 좋습니다.

다음 주제에서는 수명 주기 구성에 대한 정보를 얻고 디버깅하는 방법을 보여줍니다.

**Topics**
+ [CloudWatch Logs에서 수명 주기 구성 프로세스 확인](#studio-lcc-debug-logs)
+ [JupyterServer 앱 실패](#studio-lcc-debug-jupyterserver)
+ [KernelGateway 앱 실패](#studio-lcc-debug-kernel)
+ [수명 주기 구성의 제한 시간](#studio-lcc-debug-timeout)

## CloudWatch Logs에서 수명 주기 구성 프로세스 확인
<a name="studio-lcc-debug-logs"></a>

수명 주기 구성은 `STDOUT`및 `STDERR`만 기록합니다.

`STDOUT`는 bash 스크립트의 기본 출력입니다. bash 명령어 끝에 `>&2`를 추가하여 `STDERR`에 쓸 수 있습니다. 예를 들어 `echo 'hello'>&2`입니다.

수명 주기 구성에 대한 로그는 Amazon CloudWatch를 AWS 계정 사용하여에 게시됩니다. 이러한 로그는 CloudWatch 콘솔의 `/aws/sagemaker/studio`로그 스트림에서 찾을 수 있습니다.

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 왼쪽에서 **로그**를 선택합니다. 드롭다운 메뉴에서 **로그 그룹**을 선택합니다.

1. **로그 그룹** 페이지에서 `aws/sagemaker/studio`를 검색합니다.

1. 로그 그룹을 선택합니다.

1. **로그 그룹 세부 정보** 페이지에서 **로그 스트림** 탭을 선택합니다.

1. 특정 앱의 로그를 찾으려면 다음 형식을 사용하여 로그 스트림을 검색하세요.

   ```
   {{domain-id}}/{{space-name}}/{{app-type}}/default/LifecycleConfigOnStart
   ```

   예를 들어 도메인 `d-m85lcu8vbqmz`, 스페이스 이름 `i-sonic-js`, 애플리케이션 유형 `JupyterLab`에 대한 수명 주기 구성 로그를 찾으려면 다음 검색 문자열을 사용하세요.

   ```
   d-m85lcu8vbqmz/i-sonic-js/JupyterLab/default/LifecycleConfigOnStart
   ```

## JupyterServer 앱 실패
<a name="studio-lcc-debug-jupyterserver"></a>

JupyterServer 앱이 연결된 수명 주기 구성의 문제로 인해 중단될 경우 Studio Classic은 Studio Classic 시작 화면에 다음과 같은 오류 메시지를 표시합니다.

```
Failed to create SageMaker Studio due to start-up script failure
```

`View script logs` 링크를 선택하면 JupyterServer 앱의 CloudWatch 로그를 볼 수 있습니다.

도메인, 사용자 프로필, 공유 공간의 `DefaultResourceSpec`에 잘못된 수명 주기 구성이 지정된 경우 Studio Classic은 Studio Classic을 다시 시작한 후에도 해당 수명 주기 구성을 계속 사용합니다.

이 오류를 해결하려면 [Amazon SageMaker Studio Classic의 기본 수명 주기 구성 설정](studio-lcc-defaults.md)의 단계에 따라 `DefaultResourceSpec`에서 수명 주기 구성 스크립트를 제거하거나 다른 스크립트를 기본값으로 선택하세요. 그런 다음 새로운 JupyterServer 앱을 실행합니다.

## KernelGateway 앱 실패
<a name="studio-lcc-debug-kernel"></a>

연결된 수명 주기 구성 문제로 인해 KernelGateway 앱이 충돌하는 경우 Studio Classic은 Studio Classic 노트북에 오류 메시지를 표시합니다.

KernelGateway 앱에 대한 CloudWatch 로그를 보려면 `View script logs`를 선택합니다.

이 경우 새 Studio Classic 노트북을 시작할 때 Studio Classic 런처에 수명 주기 구성이 지정됩니다.

이 오류를 해결하려면 Studio Classic 런처를 사용하여 다른 수명 주기 구성을 선택하거나 `No script`를 선택하세요.

**참고**  
`DefaultResourceSpec`에서 지정한 기본 KernelGateway 수명 주기 구성은 사용자가 Studio Classic 런처에 표시된 목록에서 다른 스크립트를 선택하지 않는 한 도메인, 사용자 프로필 또는 공유 공간에 있는 모든 KernelGateway 이미지에 적용됩니다. 사용자가 `No Script`를 선택한 경우 기본 스크립트도 실행됩니다. 스크립트 선택에 대한 자세한 내용은 [3단계: 수명 주기 구성으로 애플리케이션 시작](studio-lcc-create-console.md#studio-lcc-create-console-step3)를 참조하세요.

## 수명 주기 구성의 제한 시간
<a name="studio-lcc-debug-timeout"></a>

수명 주기 구성 시간 초과 제한은 5분입니다. 수명 주기 구성 스크립트를 실행하는 데 5분 이상 걸리는 경우 Studio Classic에서 오류가 발생합니다.

이 오류를 해결하려면 수명 주기 구성 스크립트가 5분 이내에 완료되어야 합니다.

스크립트 실행 시간을 줄이기 위해 다음을 시도할 수 있습니다.
+ 필요한 단계를 줄입니다. 예를 들어 대규모 패키지를 설치할 conda 환경을 제한합니다.
+ 작업을 병렬 프로세스로 실행합니다.
+ 끊기 신호가 무시되고 스크립트 실행이 중단되지 않도록 하려면 스크립트에서 `nohup`명령을 사용하세요.