사용자 지정 컨테이너를 Amazon SageMaker Studio로 가져올 때 발생하는 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2022년 11월 11일

사용자 지정 Amazon SageMaker Studio를 구축할 때 발생하는 문제를 해결하고 싶습니다.

해결 방법

SageMaker 이미지는 SageMaker Studio에서 Jupyter Notebook을 실행하는 데 필요한 커널, 언어 패키지 및 기타 종속성을 식별하는 파일입니다. 이러한 이미지는 Jupyter Notebook을 실행할 수 있는 환경을 만드는 데 사용됩니다. SageMaker에서 제공하는 내장 이미지가 사용 사례를 지원하지 않는 경우 SageMaker Studio에서 사용할 사용자 지정 이미지를 가져올 수 있습니다.

SageMaker Studio에서 고객 이미지를 사용할 때 오류가 발생할 수 있습니다. 이러한 오류는 대부분 컨테이너 이미지 빌드 프로세스 중에 올바르지 않은 구성이 설정되어 발생할 수 있습니다. 따라서 사용자 지정 이미지가 SageMaker Studio와 호환되는지 확인하세요.

이렇게 하려면 Dockerfile을 빌드할 때 다음을 확인하세요.

  • DefaultUIDDefaultGID 값을 정확하게 설정했습니다. SageMaker Studio는 DefaultUIDDefaultGID의 특정 조합만 지원합니다. 권한이 없는 사용자에 대해 DefaultUID와 DefaultGID를 각각 1000100으로 설정해야 합니다. 루트 사용자의 값이 모두 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 정책이 연결되어 있다고 가정합니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?