사용자에게 사용자 지정 이미지에 대한 액세스 권한 제공 - Amazon SageMaker AI

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

사용자에게 사용자 지정 이미지에 대한 액세스 권한 제공

이 설명서에서는 JupyterLab 환경 내에서 사용자 지정 이미지에 대한 액세스 권한을 사용자에게 제공하는 단계별 지침을 제공합니다. 이 페이지의 정보를 사용하여 사용자의 워크플로에 대한 사용자 지정 환경을 생성할 수 있습니다. 이 프로세스에는 다음을 활용하는 것이 포함됩니다.

  • Docker

  • AWS Command Line Interface

  • Amazon Elastic 컨테이너 레지스트리

  • Amazon SageMaker AI AWS Management Console

이 페이지의 지침에 따라 Amazon SageMaker AI 도메인의 JupyterLab 사용자는 Jupyter 공간에서 사용자 지정 이미지 및 환경에 액세스하여 기계 학습 워크플로를 강화할 수 있습니다.

중요

이 페이지에서는 로컬 시스템에 AWS Command Line Interface 및가 Docker 설치되어 있다고 가정합니다.

사용자가 JupyterLab 내에서 이미지를 성공적으로 실행하도록 하려면 다음을 수행해야 합니다.

사용자가 이미지를 성공적으로 실행하도록 하려면
  1. Dockerfile을 생성합니다

  2. Dockerfile로부터 이미지를 빌드합니다

  3. Amazon Elastic 컨테이너 등록으로 이미지를 업로드합니다

  4. Amazon SageMaker AI 도메인에 이미지 연결

  5. 사용자가 JupyterLab 스페이스에서 이미지에 액세스하도록 합니다.

1단계: Dockerfile 생성

Dockerfile을 생성하여 사용자의 컨테이너에서 애플리케이션을 실행하는 데 필요한 환경을 생성하는 데 필요한 단계를 정의합니다.

중요

Dockerfile은 Dockerfile 사양에 제공된 사양을 충족해야 합니다.

다음 Dockerfile 템플릿을 사용하여 Amazon Linux 2 이미지를 생성합니다.

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 jupyterlab RUN python3 -m pip install --upgrade pip RUN python3 -m pip install --upgrade urllib3==1.26.6 USER ${NB_UID} CMD jupyter lab --ip 0.0.0.0 --port 8888 \ --ServerApp.base_url="/jupyterlab/default" \ --ServerApp.token='' \ --ServerApp.allow_origin='*'

다음 Dockerfile 템플릿을 사용하여 Amazon SageMaker Distribution 이미지를 생성합니다.

FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu ARG NB_USER="sagemaker-user" ARG NB_UID=1000 ARG NB_GID=100 ENV MAMBA_USER=$NB_USER USER root RUN apt-get update RUN micromamba install sagemaker-inference --freeze-installed --yes --channel conda-forge --name base USER $MAMBA_USER ENTRYPOINT ["jupyter-lab"] CMD ["--ServerApp.ip=0.0.0.0", "--ServerApp.port=8888", "--ServerApp.allow_origin=*", "--ServerApp.token=''", "--ServerApp.base_url=/jupyterlab/default"]

2단계: Dockerfile 빌드

Dockerfile과 동일한 디렉터리에서 다음 명령을 사용하여 이미지를 빌드합니다.

docker build -t username/imagename:tag your-account-id.dkr.ecr.AWS 리전.amazonaws.com/your-repository-name:tag
중요

이미지에는 123456789012.dkr.ecr.your-region.amazonaws.com/your-repository-name:tag 형식의 태그가 지정되어야 합니다

그렇지 않으면 Amazon Elastic Container Registry 리포지토리로 푸시할 수 없습니다.

3단계: 이미지를 Amazon Elastic Container Registry 리포지토리로 푸시

이미지를 빌드한 후 다음 명령을 사용하여 Amazon ECR 리포지토리에 로그인합니다.

aws ecr get-login-password --region AWS 리전 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.AWS 리전.amazonaws.com

로그인한 후 다음 명령을 사용하여 Dockerfile을 푸시합니다.

docker push 123456789012.dkr.ecr.AWS 리전.amazonaws.com/your-repository-name:tag

4단계: 사용자의 Amazon SageMaker AI 도메인에 이미지 연결

중요

Studio 사용자가 공백을 생성할 수 있도록 허용하는 사용자 지정 IAM 정책은 사용자 지정 이미지를 볼 수 있는 이미지(sagemaker: ListImage)를 나열할 수 있는 권한도 부여해야 합니다. 권한을 추가하려면 AWS Identity and Access Management 사용 설명서의 ID 권한 추가 또는 제거를 참조하세요.

AWS Amazon SageMaker AI에 대한 관리형 정책는 SageMaker AI 리소스를 생성할 수 있는 권한을 부여하며 이러한 리소스를 생성하는 동안 이미지를 나열할 수 있는 권한이 이미 포함되어 있습니다.

이미지를 푸시한 후에는 Amazon SageMaker AI 도메인에서 액세스해야 합니다. 다음 절차에 따라 이미지를 SageMaker AI 도메인에 연결합니다.

  1. SageMaker AI 콘솔을 엽니다.

  2. 관리자 구성에서 도메인을 선택합니다.

  3. 도메인 목록에서 도메인을 선택합니다.

  4. 환경 탭을 엽니다.

  5. 개인 Studio 앱용 사용자 지정 이미지에서 이미지 첨부를 선택합니다.

  6. 이미지 소스를 지정합니다.

  7. 다음을 선택합니다.

  8. Submit(제출)을 선택합니다.

이제 사용자는 JupyterLab 스페이스에서 도메인에 연결한 이미지를 선택할 수 있습니다.