기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자에게 사용자 지정 이미지에 대한 액세스 권한 제공
이 설명서에서는 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 내에서 이미지를 성공적으로 실행하도록 하려면 다음을 수행해야 합니다.
사용자가 이미지를 성공적으로 실행하도록 하려면
-
Dockerfile을 생성합니다
-
Dockerfile로부터 이미지를 빌드합니다
-
Amazon Elastic 컨테이너 등록으로 이미지를 업로드합니다
-
Amazon SageMaker AI 도메인에 이미지 연결
-
사용자가 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-stdin123456789012
.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 도메인에 연결합니다.
-
SageMaker AI 콘솔
을 엽니다. -
관리자 구성에서 도메인을 선택합니다.
-
도메인 목록에서 도메인을 선택합니다.
-
환경 탭을 엽니다.
-
개인 Studio 앱용 사용자 지정 이미지에서 이미지 첨부를 선택합니다.
-
이미지 소스를 지정합니다.
-
다음을 선택합니다.
-
Submit(제출)을 선택합니다.
이제 사용자는 JupyterLab 스페이스에서 도메인에 연결한 이미지를 선택할 수 있습니다.