

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

# Amazon SageMaker Studio Classic의 사용자 지정 SageMaker 이미지 사양
<a name="studio-byoi-specs"></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) 것이 좋습니다.

다음 사양은 SageMaker AI 이미지 버전으로 표시되는 컨테이너 이미지에 적용됩니다.

**이미지 실행**  
`ENTRYPOINT` 및 `CMD`지침은 이미지를 KernelGateway 앱으로 실행할 수 있도록 재정의됩니다.  
이미지의 포트 8888은 KernelGateway 웹 서버를 실행하기 위해 예약되어 있습니다.

**이미지 중지**  
`DeleteApp` API는 `docker stop`명령에 해당하는 것을 발행합니다. 컨테이너의 다른 프로세스는 SIGKILL/SIGTERM 신호를 받지 못합니다.

**커널 검색**  
SageMaker AI는 Jupyter [커널 사양](https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernelspecs)에 정의된 대로 커널을 인식합니다.  
이미지를 실행하기 전에 표시할 커널 목록을 지정할 수 있습니다. 지정하지 않으면 python3이 표시됩니다. [DescribeAppImageConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAppImageConfig.html) API를 사용하여 커널 목록을 볼 수 있습니다.  
Conda 환경은 기본적으로 커널 사양으로 인식됩니다.

**파일 시스템**  
`/opt/.sagemakerinternal` 및 `/opt/ml`디렉터리는 예약되어 있습니다. 이러한 디렉터리의 모든 데이터는 런타임에 표시되지 않을 수 있습니다.

**사용자 데이터**  
도메인의 각 사용자는 이미지의 공유 Amazon Elastic File System 볼륨에 있는 사용자 디렉터리를 가져옵니다. Amazon EFS 볼륨의 현재 사용자의 디렉터리 위치를 구성할 수 있습니다. 기본 디렉터리 위치는 `/home/sagemaker-user`입니다.  
SageMaker AI는 이미지와 호스트 간의 POSIX UID/GID 매핑을 구성합니다. 이는 기본적으로 루트 사용자의 UID/GID (0/0) 를 호스트의 UID/GID에 매핑합니다.  
[CreateAppImageConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html) API를 사용하여 이러한 값을 지정할 수 있습니다.

**GID/UID 제한**  
Amazon SageMaker Studio Classic은 다음 `DefaultUID` 및 `DefaultGID` 조합만 지원합니다.  
+  DefaultUID: 1000 및 DefaultGID: 100이며, 이는 권한이 없는 사용자에 해당합니다.
+  DefaultUID: 0 및 DefaultGID: 0이며, 이는 루트 액세스에 해당합니다.

**메타데이터**  
메타데이터 파일은 `/opt/ml/metadata/resource-metadata.json`에 있습니다. 이미지에 정의된 변수에는 추가 환경 변수가 추가되지 않습니다. 자세한 내용은 [앱 메타데이터 가져오기](notebooks-run-and-manage-metadata.md#notebooks-run-and-manage-metadata-app) 섹션을 참조하세요.

**GPU**  
GPU 인스턴스에서는 이미지가 `--gpus`옵션과 함께 실행됩니다. 이미지에는 NVIDIA 드라이버가 아닌 CUDA 툴킷만 포함되어야 합니다. 자세한 내용은 [NVIDIA 사용 설명서](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/user-guide.html)를 참조하세요.

**지표 및 로깅**  
KernelGateway 프로세스의 로그는 고객 계정의 Amazon CloudWatch로 전송됩니다. 로그 그룹의 이름은 `/aws/sagemaker/studio`입니다. 로그 스트림의 이름은 `$domainID/$userProfileName/KernelGateway/$appName`입니다.

**이미지 크기**  
35GB로 제한됩니다. 이미지 크기를 보려면 `docker image ls`를 실행하세요.  


## 샘플 Dockerfile
<a name="studio-byoi-specs-sample"></a>

다음 샘플 Dockerfile은 이미지 기반 Amazon Linux 2를 생성하고, 타사 패키지와 `python3`커널을 설치하고, 범위를 권한이 없는 사용자로 설정합니다.

```
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 && \
    jupyter-activity-monitor-extension \
    python3 -m pip install ipykernel && \
    python3 -m ipykernel install

USER ${NB_UID}
```