사용자 지정 Amazon SageMaker Studio를 구축할 때 발생하는 문제를 해결하고 싶습니다.
해결 방법
SageMaker 이미지는 SageMaker Studio에서 Jupyter Notebook을 실행하는 데 필요한 커널, 언어 패키지 및 기타 종속성을 식별하는 파일입니다. 이러한 이미지는 Jupyter Notebook을 실행할 수 있는 환경을 만드는 데 사용됩니다. SageMaker에서 제공하는 내장 이미지가 사용 사례를 지원하지 않는 경우 SageMaker Studio에서 사용할 사용자 지정 이미지를 가져올 수 있습니다.
SageMaker Studio에서 고객 이미지를 사용할 때 오류가 발생할 수 있습니다. 이러한 오류는 대부분 컨테이너 이미지 빌드 프로세스 중에 올바르지 않은 구성이 설정되어 발생할 수 있습니다. 따라서 사용자 지정 이미지가 SageMaker Studio와 호환되는지 확인하세요.
이렇게 하려면 Dockerfile을 빌드할 때 다음을 확인하세요.
- DefaultUID 및 DefaultGID 값을 정확하게 설정했습니다. SageMaker Studio는 DefaultUID와 DefaultGID의 특정 조합만 지원합니다. 권한이 없는 사용자에 대해 DefaultUID와 DefaultGID를 각각 1000과 100으로 설정해야 합니다. 루트 사용자의 값이 모두 0으로 설정되었는지 확인하세요.
- 'opt/.sagemakerinternal' 및 'opt/ml' 디렉터리는 사용되지 않습니다. 이러한 디렉터리는 예약되어 있습니다.
- 구성 파일 app-image-config-input.json을 생성할 때는 이 파일의 KernelSpec의 이름 값이 관련 이미지의 이름 값과 일치하는지 확인하세요.
Python 패키지를 설치하고 범위를 권한이 없는 사용자로 설정하는 Dockerfile 예제입니다.
FROM public.ecr.aws/amazonlinux/amazonlinux:2
ARG NB_USER="sagemaker-user"
ARG NB_UID="1000"
ARG NB_GID="100"
RUN \
yum install --assumeyes python3 shadow-utils && \
useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \
yum clean all && \
python3 -m pip install ipykernel && \
python3 -m ipykernel install
USER ${NB_UID}
다음 중 하나가 발생할 경우 Amazon CloudWatch logs에서 오류 메시지를 볼 수 있습니다.
- 이미지 버전 생성에 실패했습니다.
- SageMaker Studio에서 이미지를 시작할 때 오류가 발생합니다.
이러한 메시지는 로그 그룹 /aws/sagemaker/studio 및 로그 스트림 $domainID/$userProfileName/KernelGateway/$appName에서 찾을 수 있습니다.
참고: 이 문서에서는 AWS Identity and Access Management(AWS IAM) 사용자 또는 역할에 AmazonSageMakerFullAccess 정책이 연결되어 있다고 가정합니다.
관련 정보
사용자 지정 SageMaker 이미지 사양