

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

# Amazon SageMaker Studio Classic의 사용자 지정 이미지
<a name="studio-byoi"></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 이미지는 Amazon SageMaker Studio Classic에서 Jupyter Notebook을 실행하는 데 필요한 커널, 언어 패키지 및 기타 종속성을 식별하는 파일입니다. 이러한 이미지는 Jupyter Notebook을 실행할 수 있는 환경을 만드는 데 사용됩니다. Amazon SageMaker AI는 사용자가 사용할 수 있는 많은 내장 이미지를 제공합니다. 내장 이미지 목록은 [Studio Classic 노트북에 사용할 수 있는 Amazon SageMaker 이미지](notebooks-available-images.md)을 참조하세요.

다른 기능이 필요한 경우 사용자 지정 이미지를 Studio Classic으로 가져올 수 있습니다. SageMaker 제어판, [AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html) 및 [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/)를 사용하여 이미지 및 이미지 버전을 생성하고 이미지 버전을 도메인이나 공유 스페이스에 연결할 수 있습니다. SageMaker AI 도메인에 온보딩하지 않았더라도 SageMaker AI 콘솔을 사용하여 이미지 및 이미지 버전을 생성할 수도 있습니다. SageMaker AI는 [SageMaker Studio Classic Custom Image Samples](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/) 리포지토리에서 사용자 지정 SageMaker 이미지의 시작점으로 사용할 샘플 Dockerfile을 제공합니다.

다음 주제에서는 SageMaker AI 콘솔을 사용하여 자체 이미지를 가져온 AWS CLI다음 Studio Classic에서 이미지를 시작하는 방법을 설명합니다. 비슷한 블로그 기사를 보려면 [Bringing your own R environment to Amazon SageMaker Studio Classic](https://aws.amazon.com/blogs/machine-learning/bringing-your-own-r-environment-to-amazon-sagemaker-studio/)를 참조하세요. 훈련 및 추론에 사용하기 위해 자체 이미지를 가져오는 방법을 보여주는 노트북은 [Amazon SageMaker Studio Classic Container Build CLI](https://github.com/aws/amazon-sagemaker-examples/tree/main/aws_sagemaker_studio/sagemaker_studio_image_build)를 참조하세요.

## 핵심 용어
<a name="studio-byoi-basics"></a>

다음 섹션에서는 Studio Classic에서 사용할 자체 이미지를 가져오기 위한 주요 용어를 정의합니다.
+ **Dockerfile:** Dockerfile은 도커 이미지의 언어 패키지 및 기타 종속성을 식별하는 파일입니다.
+ **도커 이미지**: 도커 이미지는 빌드된 Dockerfile입니다. 이 이미지는 Amazon ECR에 체크인되며 SageMaker AI 이미지의 기본 역할을 합니다.
+ **SageMaker 이미지**: SageMaker AI 이미지는 Docker 이미지를 기반으로 하는 SageMaker 이미지 버전 세트를 위한 홀더입니다. 각 이미지 버전은 변경할 수 없습니다.
+ **이미지 버전:** SageMaker 이미지의 이미지 버전은 도커 이미지를 나타내며 Amazon ECR 리포지토리에 저장됩니다. 각 이미지 버전은 변경할 수 없습니다. 이러한 이미지 버전을 도메인이나 공유 공간에 연결하여 Studio Classic에서 사용할 수 있습니다.

**Topics**
+ [핵심 용어](#studio-byoi-basics)
+ [Amazon SageMaker Studio Classic의 사용자 지정 SageMaker 이미지 사양](studio-byoi-specs.md)
+ [Amazon SageMaker Studio Classic의 사용자 지정 이미지의 사전 조건](studio-byoi-prereq.md)
+ [Amazon SageMaker Studio Classic과 호환되는 Docker 이미지를 Amazon ECR에 추가](studio-byoi-sdk-add-container-image.md)
+ [Amazon SageMaker Studio Classic에 사용자 지정 SageMaker 이미지 생성](studio-byoi-create.md)
+ [Amazon SageMaker Studio Classic에서 사용자 지정 SageMaker 이미지 연결](studio-byoi-attach.md)
+ [Amazon SageMaker Studio Classic에서 사용자 지정 SageMaker 이미지 시작](studio-byoi-launch.md)
+ [Amazon SageMaker Studio Classic에서 사용자 지정 이미지에 대한 리소스 정리](studio-byoi-cleanup.md)

# 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}
```

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

Amazon SageMaker Studio Classic에서 사용할 자체 컨테이너를 가져오려면 다음 사전 조건을 충족해야 합니다.
+ 도커 애플리케이션입니다. 도커 설정에 대한 자세한 내용은 [방향 및 설정](https://docs.docker.com/get-started/)을 참조하세요.
+ 시작하기의 단계에 AWS CLI 따라 [를 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) 설치합니다.
+ Studio Classic과 호환되는 이미지를 만들기 위한 모든 Dockerfile의 로컬 복사본입니다. 샘플 사용자 지정 이미지는 [SageMaker AI Studio Classic custom image samples](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/) 리포지토리를 참조하세요.
+ Amazon Elastic Container Registry(Amazon ECR) 서비스에 액세스할 수 있는 권한입니다. 자세한 내용은 [Amazon ECR 관리형 정책](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html)을 참조하세요.
+ [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess) 정책이 연결된 AWS Identity and Access Management 실행 역할입니다. Amazon SageMaker AI 도메인에 온보딩한 경우 SageMaker AI 제어판의 **도메인 요약** 섹션에서 역할을 가져올 수 있습니다.
+ [SageMaker Docker Build](https://github.com/aws-samples/sagemaker-studio-image-build-cli)의 단계에 따라 Studio Classic 이미지 빌드 CLI를 설치합니다. 이 CLI를 사용하면를 사용하여 Dockerfile을 빌드할 수 있습니다 AWS CodeBuild.

# Amazon SageMaker Studio Classic과 호환되는 Docker 이미지를 Amazon ECR에 추가
<a name="studio-byoi-sdk-add-container-image"></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) 것이 좋습니다.

다음 단계를 수행하여 Amazon ECR에 컨테이너 이미지를 추가합니다.
+ Amazon ECR 리포지토리를 생성합니다.
+ Amazon ECR에 인증합니다.
+ Studio Classic과 호환되는 Docker 이미지를 빌드합니다.
+ Amazon ECR 리포지토리에 이미지를 푸시합니다.

**참고**  
Amazon ECR 리포지토리는 Studio Classic AWS 리전 과 동일한에 있어야 합니다.

**컨테이너 이미지를 빌드하고 Amazon ECR에 추가하려면**

1.  AWS CLI을 사용하여 Amazon ECR 리포지토리를 생성합니다. Amazon ECR 콘솔을 사용하여 리포지토리를 생성하려면 [리포지토리 생성](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html)을 참조하세요.

   ```
   aws ecr create-repository \
       --repository-name smstudio-custom \
       --image-scanning-configuration scanOnPush=true
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "repository": {
           "repositoryArn": "arn:aws:ecr:us-east-2:acct-id:repository/smstudio-custom",
           "registryId": "acct-id",
           "repositoryName": "smstudio-custom",
           "repositoryUri": "acct-id.dkr.ecr.us-east-2.amazonaws.com/smstudio-custom",
           ...
       }
   }
   ```

1. Studio Classic 이미지 빌드 CLI를 사용하여 `Dockerfile`을 빌드합니다. 마침표 (.) 는 Dockerfile이 빌드 명령의 컨텍스트에 있어야 함을 지정합니다. 이 명령은 이미지를 빌드하고 빌드된 이미지를 ECR 리포지토리에 업로드합니다. 그런 다음 이미지 URI를 출력합니다.

   ```
   sm-docker build . --repository smstudio-custom:custom
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   Image URI: <acct-id>.dkr.ecr.<region>.amazonaws.com/<image_name>
   ```

# Amazon SageMaker Studio Classic에 사용자 지정 SageMaker 이미지 생성
<a name="studio-byoi-create"></a>

**중요**  
Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic에서 Amazon SageMaker 리소스를 만들도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 추가할 수 있는 권한도 부여해야 합니다. Studio와 Studio Classic은 만드는 리소스에 태그를 자동으로 지정하기 때문에 리소스에 태그를 추가할 권한이 필요합니다. IAM 정책이 Studio 및 Studio Classic에서 리소스를 만들도록 허용하지만 태그 지정은 허용하지 않는 경우 리소스 만들기를 시도할 때 'AccessDenied' 오류가 발생할 수 있습니다. 자세한 내용은 [SageMaker AI 리소스 태그 지정을 위한 권한 제공](security_iam_id-based-policy-examples.md#grant-tagging-permissions) 섹션을 참조하세요.  
SageMaker 리소스를 만들 수 있는 권한을 부여하는 [AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

**중요**  
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 콘솔 또는 AWS CLI를 사용하여 사용자 지정 SageMaker 이미지를 만드는 방법을 설명합니다.

콘솔에서 이미지를 생성할 때 SageMaker AI는 최초 이미지 버전도 생성합니다. 각 이미지 버전은 [Amazon Elastic Container Registry(ECR)](https://console.aws.amazon.com/ecr/)에 저장된 컨테이너 이미지를 나타냅니다. 컨테이너 이미지는 Amazon SageMaker Studio Classic에서 사용하기 위한 요구 사항을 충족해야 합니다. 자세한 내용은 [Amazon SageMaker Studio Classic의 사용자 지정 SageMaker 이미지 사양](studio-byoi-specs.md) 섹션을 참조하세요. 이미지를 로컬에서 테스트하고 일반적인 문제를 해결하는 방법에 대한 정보는 [SageMaker Studio Classic Custom Image Samples 리포지토리](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/blob/main/DEVELOPMENT.md)를 참조하세요.

사용자 지정 SageMaker 이미지를 만든 후 이를 Studio Classic에서 사용하려면 해당 이미지를 도메인 또는 공유 공간에 연결해야 합니다. 자세한 내용은 [Amazon SageMaker Studio Classic에서 사용자 지정 SageMaker 이미지 연결](studio-byoi-attach.md) 섹션을 참조하세요.

## 콘솔에서 SageMaker 이미지 만들기
<a name="studio-byoi-create-console"></a>

다음 섹션에서는 SageMaker AI 콘솔에서 사용자 지정 SageMaker 이미지를 만드는 방법을 보여줍니다.

**이미지 생성**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 Amazon SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

1. **관리자 구성**에서 **이미지**를 선택합니다.

1. **사용자 지정 이미지** 페이지에서 **이미지 생성**을 선택합니다.

1. **이미지 소스**의 경우 Amazon ECR에 있는 컨테이너 이미지의 레지스트리 경로를 입력합니다. 경로는 다음 형식입니다.

   ` acct-id.dkr.ecr.region.amazonaws.com/repo-name[:tag] or [@digest] `

1. **다음**을 선택합니다.

1. **이미지 속성**에 다음을 입력합니다.
   + 이미지 이름 - 이름은 현재 AWS 리전의 계정에 고유해야 합니다.
   + (선택 사항) 표시 이름 - Studio Classic 사용자 인터페이스에 표시되는 이름입니다. 입력하지 않은 경우 `Image name`가 표시됩니다.
   + (선택 사항) 설명 - 이미지에 대한 설명입니다.
   + IAM 역할 - 역할에는 [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess) 정책이 연결되어야 합니다. 드롭다운 메뉴에서 다음 옵션 중 하나를 선택합니다.
     + 새 역할 생성 - 노트북 사용자가 액세스할 수 있도록 Amazon Simple Storage Service(S3) 버킷을 추가로 지정합니다. 추가 버킷에 대한 액세스 권한을 허용하지 않으려면 **없음**을 선택합니다.

       SageMaker AI는 `AmazonSageMakerFullAccess` 정책을 역할에 연결합니다. 해당 역할을 통해 노트북 사용자는 체크 표시 옆에 나열된 S3 버킷에 액세스할 수 있습니다.
     + 사용자 지정 IAM 역할 ARN 입력 - IAM 역할의 Amazon 리소스 이름(ARN)을 입력합니다.
     + 기존 역할 사용 - 목록에서 기존 역할 중 하나를 선택합니다.
   + (선택 사항) 이미지 태그 - **새 태그 추가**를 선택합니다. 최대 50개의 태그를 추가할 수 있습니다. 태그는 Studio Classic 사용자 인터페이스, SageMaker AI 콘솔 또는 SageMaker AI `Search` API를 사용하여 검색할 수 있습니다.

1. **제출**을 선택합니다.

새 이미지가 **사용자 지정 이미지** 목록에 표시되고 짧게 강조 표시됩니다. 이미지를 성공적으로 만든 후 이미지 이름을 선택하여 속성을 보거나 **버전 생성**을 선택하여 다른 버전을 만들 수 있습니다.

**다른 이미지 버전을 만들려면**

1. 이미지와 같은 행에서 **버전 생성**을 선택합니다.

1. **이미지 소스**의 경우 Amazon ECR 컨테이너 이미지의 레지스트리 경로를 입력합니다. 컨테이너 이미지는 이전 버전의 SageMaker 이미지에서 사용된 이미지와 동일하지 않아야 합니다.

## 에서 SageMaker 이미지 생성 AWS CLI
<a name="studio-byoi-sdk-create-image"></a>

 AWS CLI를 사용하여 컨테이너 이미지에서 SageMaker 이미지를 만들려면 다음 단계를 수행합니다.
+ `Image`를 생성합니다.
+ `ImageVersion`를 생성합니다.
+ 구성 파일을 생성합니다.
+ `AppImageConfig`를 생성합니다.

**SageMaker 이미지 엔티티를 만들려면**

1. SageMaker 이미지를 생성합니다.

   ```
   aws sagemaker create-image \
       --image-name custom-image \
       --role-arn arn:aws:iam::<acct-id>:role/service-role/<execution-role>
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/custom-image"
   }
   ```

1. 컨테이너 이미지에서 SageMaker 이미지 버전을 생성합니다.

   ```
   aws sagemaker create-image-version \
       --image-name custom-image \
       --base-image <acct-id>.dkr.ecr.<region>.amazonaws.com/smstudio-custom:custom-image
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1"
   }
   ```

1. 이미지 버전이 성공적으로 생성되었는지 확인합니다.

   ```
   aws sagemaker describe-image-version \
       --image-name custom-image \
       --version-number 1
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1",
       "ImageVersionStatus": "CREATED"
   }
   ```
**참고**  
응답이 `"ImageVersionStatus": "CREATED_FAILED"`인 경우 응답에는 실패 이유도 포함됩니다. 권한 문제는 실패의 일반적인 원인입니다. 또한 사용자 지정 이미지에 대해 KernelGateway 앱을 시작하거나 실행할 때 오류가 발생하는 경우 Amazon CloudWatch Logs를 확인할 수 있습니다. 로그 그룹의 이름은 `/aws/sagemaker/studio`입니다. 로그 스트림의 이름은 `$domainID/$userProfileName/KernelGateway/$appName`입니다.

1. 구성 파일을 만들고 이름을 `app-image-config-input.json`로 지정합니다. `KernelSpecs`의 `Name`값은 이 `AppImageConfig`와 관련된 이미지에서 사용할 수 있는 KernelSpec의 이름과 일치해야 합니다. 이 값은 대소문자를 구분합니다. 컨테이너 내부의 쉘에서 `jupyter-kernelspec list`를 실행하여 이미지에서 사용 가능한 커널 사양을 찾을 수 있습니다.`MountPath`는 이미지 내에서 Amazon Elastic File System(Amazon EFS) 홈 디렉토리를 마운트하는 경로입니다. Amazon EFS 홈 디렉터리가 마운트될 때 해당 경로가 재정의되므로 컨테이너 내에서 사용하는 경로와 달라야 합니다.
**참고**  
허용되는 값은 다음 `DefaultUID`값과 `DefaultGID`조합 뿐입니다.  
 DefaultUID: 1000 및 DefaultGID: 100 
 DefaultUID: 0 및 DefaultGID: 0 

   ```
   {
       "AppImageConfigName": "custom-image-config",
       "KernelGatewayImageConfig": {
           "KernelSpecs": [
               {
                   "Name": "python3",
                   "DisplayName": "Python 3 (ipykernel)"
               }
           ],
           "FileSystemConfig": {
               "MountPath": "/home/sagemaker-user",
               "DefaultUid": 1000,
               "DefaultGid": 100
           }
       }
   }
   ```

1. 이전 단계에서 생성한 파일을 사용하여 AppImageConfig를 생성합니다.

   ```
   aws sagemaker create-app-image-config \
       --cli-input-json file://app-image-config-input.json
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/custom-image-config"
   }
   ```

# Amazon SageMaker Studio Classic에서 사용자 지정 SageMaker 이미지 연결
<a name="studio-byoi-attach"></a>

**중요**  
Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic에서 Amazon SageMaker 리소스를 만들도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 지정할 수 있는 권한도 부여해야 합니다. Studio와 Studio Classic은 만드는 리소스에 태그를 자동으로 지정하기 때문에 리소스에 태그를 추가할 권한이 필요합니다. IAM 정책이 Studio 및 Studio Classic에서 리소스를 만들도록 허용하지만 태그 지정은 허용하지 않는 경우 리소스 만들기를 시도할 때 'AccessDenied' 오류가 발생할 수 있습니다. 자세한 내용은 [SageMaker AI 리소스 태그 지정을 위한 권한 제공](security_iam_id-based-policy-examples.md#grant-tagging-permissions) 섹션을 참조하세요.  
SageMaker 리소스를 만들 수 있는 권한을 부여하는 [AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

**중요**  
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 이미지를 사용하려면 도메인 또는 공유 스페이스에 이미지 버전을 첨부해야 합니다. 이미지 버전을 첨부하면 SageMaker Studio Classic 런처에 표시되며 사용자가 활동을 시작하거나 노트북에서 사용하는 이미지를 변경하는 데 사용하는 **이미지 선택** 드롭다운 목록에서 사용할 수 있습니다.

사용자 지정 SageMaker 이미지를 도메인 내 모든 사용자가 사용할 수 있게 하려면 이미지를 도메인에 첨부합니다. 공유 스페이스 내의 모든 사용자가 이미지를 사용할 수 있게 하려면 공유 스페이스에 이미지를 첨부하면 됩니다. 단일 사용자가 이미지를 사용할 수 있게 하려면 이미지를 사용자 프로필에 첨부합니다. 이미지를 연결할 때 SageMaker AI는 기본적으로 최신 이미지 버전을 사용합니다. 특정 이미지 버전을 첨부할 수도 있습니다. 버전을 연결한 후, 노트북을 실행할 때 SageMaker AI Launcher 또는 이미지 선택기에서 버전을 선택할 수 있습니다.

특정 시점에 첨부할 수 있는 이미지 버전 수에는 제한이 있습니다. 한도에 도달한 후 다른 버전의 이미지를 연결하려면 버전을 분리해야 합니다.

다음 섹션에서는 SageMaker AI 콘솔 또는 AWS CLI를 사용하여 사용자 지정 SageMaker 이미지를 도메인에 연결하는 방법을 보여줍니다. AWS CLI를 사용하여 공유 스페이스에만 사용자 지정 이미지를 첨부할 수 있습니다.

## 도메인에 SageMaker 이미지 첨부
<a name="studio-byoi-attach-domain"></a>

### 콘솔을 사용하여 SageMaker 이미지 첨부
<a name="studio-byoi-attach-existing"></a>

이 주제에서는 SageMaker AI 제어판을 사용하여 기존 사용자 지정 SageMaker 이미지 버전을 도메인에 연결하는 방법을 설명합니다. 사용자 지정 SageMaker 이미지 및 이미지 버전을 만든 다음 해당 버전을 도메인에 첨부할 수도 있습니다. 이미지 및 이미지 버전을 생성하는 절차는 [Amazon SageMaker Studio Classic에 사용자 지정 SageMaker 이미지 생성](studio-byoi-create.md)을 참조하세요.

**기존 이미지를 첨부하려면**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 Amazon SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

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

1. **도메인** 페이지에서 이미지를 첨부할 도메인을 선택합니다.

1. **도메인 세부 정보** 페이지에서 **환경** 탭을 선택합니다.

1. **환경** 탭의 **도메인에 연결된 사용자 지정 SageMaker Studio Classic 이미지**에서 **이미지 첨부**를 선택합니다.

1. **이미지 소스**의 경우 **기존 이미지**를 선택합니다.

1. 목록에서 기존 이미지를 선택합니다.

1. 목록에서 이미지 버전을 선택합니다.

1. **다음**을 선택합니다.

1. **이미지 이름**, **이미지 표시 이름**, **설명**의 값을 확인합니다.

1. IAM 역할을 선택합니다. 자세한 내용은 [Amazon SageMaker Studio Classic에 사용자 지정 SageMaker 이미지 생성](studio-byoi-create.md) 섹션을 참조하세요.

1. (선택 사항) 이미지에 태그를 추가합니다.

1. EFS 마운트 경로를 지정합니다. 사용자의 Amazon Elastic File System(EFS) 홈 디렉터리를 마운트할 이미지 내의 경로입니다.

1. **이미지 유형**에서 **SageMaker Studio 이미지**를 선택합니다.

1. **커널 이름**의 경우 이미지에 있는 기존 커널의 이름을 입력합니다. 이미지에서 커널 정보를 가져오는 방법에 대한 자세한 내용은 SageMaker Studio Classic 사용자 지정 이미지 샘플 리포지토리의 [DEVELOPMENT](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/blob/main/DEVELOPMENT.md)를 참조하세요. 자세한 내용은 [Amazon SageMaker Studio Classic의 사용자 지정 SageMaker 이미지 사양](studio-byoi-specs.md)의 **커널 검색** 및 **사용자 데이터** 섹션을 참조하세요.

1. (선택 사항) **커널 표시 이름**에 커널의 표시 이름을 입력합니다.

1. **커널 추가**를 선택합니다.

1. **제출**을 선택합니다.

   1. 이미지 버전이 도메인에 연결될 때까지 기다립니다. 첨부하면 버전이 **사용자 지정 이미지** 목록에 표시되고 간략하게 강조 표시됩니다.

### 를 사용하여 SageMaker 이미지 연결 AWS CLI
<a name="studio-byoi-sdk-attach"></a>

다음 섹션에서는 AWS CLI를 사용하여 새 도메인을 만들거나 기존 도메인을 업데이트할 때 사용자 지정 SageMaker 이미지를 첨부하는 방법을 보여줍니다.

#### 새 도메인에 SageMaker 이미지 첨부
<a name="studio-byoi-sdk-attach-new-domain"></a>

다음 섹션에서는 버전이 첨부된 새 도메인을 생성하는 방법을 보여줍니다. 이러한 단계를 수행하려면 도메인을 생성하는 데 필요한 Amazon Virtual Private Cloud(VPC) 정보와 실행 역할을 지정해야 합니다. 다음 단계를 수행하여 도메인을 생성하고 사용자 지정 SageMaker 이미지를 첨부합니다.
+ 기본 VPC ID 및 서브넷 ID를 가져옵니다.
+ 이미지를 지정하는 도메인의 구성 파일을 생성합니다.
+ 구성 파일로 도메인을 생성합니다.

**사용자 지정 SageMaker 이미지를 도메인에 추가하려면**

1. 기본 VPC ID를 가져옵니다.

   ```
   aws ec2 describe-vpcs \
       --filters Name=isDefault,Values=true \
       --query "Vpcs[0].VpcId" --output text
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   vpc-xxxxxxxx
   ```

1. 이전 단계의 VPC ID를 사용하여 기본 서브넷 ID를 가져옵니다.

   ```
   aws ec2 describe-subnets \
       --filters Name=vpc-id,Values=<vpc-id> \
       --query "Subnets[*].SubnetId" --output json
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   [
       "subnet-b55171dd",
       "subnet-8a5f99c6",
       "subnet-e88d1392"
   ]
   ```

1. `create-domain-input.json`라는 이름으로 구성 파일을 만듭니다. 이전 단계의 VPC ID, 서브넷 ID, `ImageName` 및 `AppImageConfigName`을 삽입합니다. `ImageVersionNumber`가 지정되지 않았으므로 이미지의 최신 버전이 사용되며, 이 경우에는 유일한 버전입니다.

   ```
   {
       "DomainName": "domain-with-custom-image",
       "VpcId": "<vpc-id>",
       "SubnetIds": [
           "<subnet-ids>"
       ],
       "DefaultUserSettings": {
           "ExecutionRole": "<execution-role>",
           "KernelGatewayAppSettings": {
               "CustomImages": [
                   {
                       "ImageName": "custom-image",
                       "AppImageConfigName": "custom-image-config"
                   }
               ]
           }
       },
       "AuthMode": "IAM"
   }
   ```

1. 첨부된 사용자 지정 SageMaker 이미지를 사용하여 도메인을 생성합니다.

   ```
   aws sagemaker create-domain \
       --cli-input-json file://create-domain-input.json
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx",
       "Url": "https://d-xxxxxxxxxxxx.studio.us-east-2.sagemaker.aws/..."
   }
   ```

#### 현재 도메인에 SageMaker 이미지 첨부
<a name="studio-byoi-sdk-attach-current-domain"></a>

SageMaker AI 도메인에 온보딩한 경우 사용자 지정 이미지를 현재 도메인에 연결할 수 있습니다. SageMaker AI 도메인 온보딩에 대한 자세한 내용은 [Amazon SageMaker AI 도메인 개요](gs-studio-onboard.md) 섹션을 참조하세요. 현재 도메인에 사용자 지정 이미지를 첨부할 때 VPC 정보 및 실행 역할을 지정할 필요가 없습니다. 버전을 첨부한 후에는 도메인에 있는 모든 앱을 삭제하고 Studio Classic을 다시 열어야 합니다. 앱 삭제에 대한 정보는 [Amazon SageMaker AI 도메인 삭제](gs-studio-delete-domain.md)를 참조하세요.

다음 단계를 수행하여 SageMaker 이미지를 현재 도메인에 추가합니다.
+ SageMaker AI 제어판에서 `DomainID`를 가져옵니다.
+ `DomainID`를 사용하여 도메인의 `DefaultUserSettings`를 가져옵니다.
+ `ImageName`와 `AppImageConfig`을 `CustomImage`로 `DefaultUserSettings`에 추가합니다.
+ 사용자 지정 이미지를 포함하도록 도메인을 업데이트합니다.

**사용자 지정 SageMaker 이미지를 도메인에 추가하려면**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 Amazon SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

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

1. **도메인** 페이지에서 이미지를 첨부할 도메인을 선택합니다.

1. **도메인 세부정보** 페이지에서 **도메인 설정** 탭을 선택합니다.

1. **도메인 설정** 탭의 **일반 설정**에서 `DomainId`을 찾을 수 있습니다. ID의 형식은 `d-xxxxxxxxxxxx`입니다.

1. 도메인 ID를 사용하여 도메인에 대한 설명을 가져옵니다.

   ```
   aws sagemaker describe-domain \
       --domain-id <d-xxxxxxxxxxxx>
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "DomainId": "d-xxxxxxxxxxxx",
       "DefaultUserSettings": {
         "KernelGatewayAppSettings": {
           "CustomImages": [
           ],
           ...
         }
       }
   }
   ```

1. `default-user-settings.json`라는 파일에 대한 응답의 기본 사용자 설정 섹션을 저장합니다.

1. 이전 단계의 `ImageName`및 `AppImageConfigName`를 사용자 지정 이미지로 삽입합니다. `ImageVersionNumber`는 지정되지 않았으므로 이미지의 최신 버전이 사용되며, 이 경우에는 유일한 버전입니다.

   ```
   {
       "DefaultUserSettings": {
           "KernelGatewayAppSettings": { 
              "CustomImages": [ 
                 { 
                    "ImageName": "string",
                    "AppImageConfigName": "string"
                 }
              ],
              ...
           }
       }
   }
   ```

1. 도메인 ID 및 기본 사용자 설정 파일을 사용하여 도메인을 업데이트합니다.

   ```
   aws sagemaker update-domain \
       --domain-id <d-xxxxxxxxxxxx> \
       --cli-input-json file://default-user-settings.json
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx"
   }
   ```

## 공유 스페이스에 SageMaker 이미지 첨부
<a name="studio-byoi-attach-shared-space"></a>

SageMaker 이미지는 AWS CLI를 사용해서 공유 스페이스에만 첨부할 수 있습니다. 버전을 첨부한 후에는 공유 공간에 있는 모든 애플리케이션을 삭제하고 Studio Classic을 다시 열어야 합니다. 앱 삭제에 대한 정보는 [Amazon SageMaker AI 도메인 삭제](gs-studio-delete-domain.md)를 참조하세요.

다음 단계를 수행하여 SageMaker 이미지를 공유 스페이스에 추가합니다.
+ SageMaker AI 제어판에서 `DomainID`를 가져옵니다.
+ `DomainID`를 사용하여 도메인의 `DefaultSpaceSettings`를 가져옵니다.
+ `ImageName`와 `AppImageConfig`를 `DefaultSpaceSettings`에 `CustomImage`로 추가합니다.
+ 공유 스페이스에 대한 사용자 지정 이미지를 포함하도록 도메인을 업데이트합니다.

**사용자 지정 SageMaker 이미지를 공유 스페이스에 추가하려면**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 Amazon SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

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

1. **도메인** 페이지에서 이미지를 첨부할 도메인을 선택합니다.

1. **도메인 세부정보** 페이지에서 **도메인 설정** 탭을 선택합니다.

1. **도메인 설정** 탭의 **일반 설정**에서 `DomainId`을 찾을 수 있습니다. ID의 형식은 `d-xxxxxxxxxxxx`입니다.

1. 도메인 ID를 사용하여 도메인에 대한 설명을 가져옵니다.

   ```
   aws sagemaker describe-domain \
       --domain-id <d-xxxxxxxxxxxx>
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "DomainId": "d-xxxxxxxxxxxx",
       ...
       "DefaultSpaceSettings": {
         "KernelGatewayAppSettings": {
           "CustomImages": [
           ],
           ...
         }
       }
   }
   ```

1. `default-space-settings.json`라는 파일에 대한 응답의 기본 스페이스 설정 섹션을 저장합니다.

1. 이전 단계의 `ImageName`및 `AppImageConfigName`를 사용자 지정 이미지로 삽입합니다. `ImageVersionNumber`가 지정되지 않았으므로 이미지의 최신 버전이 사용되며, 이 경우에는 이 버전만 사용됩니다.

   ```
   {
       "DefaultSpaceSettings": {
           "KernelGatewayAppSettings": { 
              "CustomImages": [ 
                 { 
                    "ImageName": "string",
                    "AppImageConfigName": "string"
                 }
              ],
              ...
           }
       }
   }
   ```

1. 도메인 ID 및 기본 스페이스 설정 파일을 사용하여 도메인을 업데이트합니다.

   ```
   aws sagemaker update-domain \
       --domain-id <d-xxxxxxxxxxxx> \
       --cli-input-json file://default-space-settings.json
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx"
   }
   ```

## SageMaker AI에서 연결된 이미지 보기
<a name="studio-byoi-sdk-view"></a>

사용자 지정 SageMaker 이미지를 만들어 도메인에 연결하면 해당 이미지가 도메인의 **환경** 탭에 나타납니다. 다음 명령을 사용해서만 공유 스페이스에 연결된 이미지를 볼 수 AWS CLI 있습니다.

```
aws sagemaker describe-domain \
    --domain-id <d-xxxxxxxxxxxx>
```

# Amazon SageMaker Studio Classic에서 사용자 지정 SageMaker 이미지 시작
<a name="studio-byoi-launch"></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 이미지를 만들어 도메인 또는 공유 공간에 연결하면 Studio Classic 런처의 **환경 변경** 대화 상자에 있는 선택기에 사용자 지정 이미지와 커널이 나타납니다.

**사용자 지정 이미지 및 커널을 시작하고 선택하려면**

1. Amazon SageMaker Studio Classic에서 런처를 엽니다. 런처를 열려면 Studio Classic 인터페이스 왼쪽 상단에서 **Amazon SageMaker Studio Classic**을 선택하거나 키보드 단축키 `Ctrl + Shift + L`을 사용하세요.

   시작 관리자를 여는 데 사용할 수 있는 모든 방법에 대해 알아보려면 [Amazon SageMaker Studio Classic 런처 열기](studio-launcher.md)을 참조하세요.  
![\[SageMaker Studio Classic 런처\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/studio/studio-new-launcher.png)

1. 시작 관리자의 **노트북 및 컴퓨팅 리소스** 섹션에서 **환경 변경**을 선택합니다.

1. **환경 변경** 대화 상자의 드롭다운 메뉴를 사용하여 **사용자 지정 이미지** 섹션에서 **이미지**를 선택하고 **커널**을 선택한 다음 **선택**을 선택합니다.

1. 시작 관리자에서 **노트북 만들기** 또는 **이미지 터미널 열기**를 선택합니다. 선택한 사용자 지정 이미지 및 커널에서 노트북 또는 터미널이 실행됩니다.

열린 노트북에서 이미지 또는 커널을 변경하려면 [Amazon SageMaker Studio Classic 노트북의 이미지 또는 커널 변경](notebooks-run-and-manage-change-image.md)을 참조하세요.

**참고**  
이미지를 시작할 때 오류가 발생하는 경우 Amazon CloudWatch Logs를 확인하세요. 로그 그룹의 이름은 `/aws/sagemaker/studio`입니다. 로그 스트림의 이름은 `$domainID/$userProfileName/KernelGateway/$appName`입니다.

# Amazon SageMaker Studio Classic에서 사용자 지정 이미지에 대한 리소스 정리
<a name="studio-byoi-cleanup"></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 콘솔 또는 AWS CLI에서 이전 섹션에서 생성한 리소스를 정리하는 방법을 보여 줍니다. 다음 단계를 수행하여 리소스를 정리합니다.
+ 도메인에서 이미지 및 이미지 버전을 분리합니다.
+ 이미지, 이미지 버전, 앱 이미지 구성을 삭제합니다.
+ Amazon ECR에서 컨테이너 이미지와 리포지토리를 삭제합니다. 자세한 내용은 [리포지토리 삭제](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-delete.html)를 참조하세요.

## SageMaker AI 콘솔에서 리소스 정리
<a name="studio-byoi-detach"></a>

다음 섹션은 SageMaker AI 콘솔에서 리소스를 정리하는 방법을 보여줍니다.

도메인에서 이미지를 분리하면 이미지의 모든 버전이 분리됩니다. 이미지를 분리하면 도메인의 모든 사용자가 이미지 버전에 액세스할 수 없게 됩니다. 버전이 분리될 때 이미지 버전에 커널 세션이 있는 실행 중인 노트북은 계속 실행됩니다. 노트북이 중지되거나 커널이 종료되면 이미지 버전을 사용할 수 없게 됩니다.

**이미지를 분리하려면**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 Amazon SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

1. **관리자 구성**에서 **이미지**를 선택합니다.

1. **도메인에 첨부된 사용자 지정 SageMaker Studio Classic 이미지**에서 이미지를 선택한 다음 **분리**를 선택합니다.

1. (선택 사항) SageMaker AI에서 이미지와 모든 버전을 삭제하려면 **선택한 이미지도 삭제...**를 선택합니다. 이렇게 해도 Amazon ECR에서 관련 컨테이너 이미지가 삭제되지는 않습니다.

1. **분리**를 선택합니다.

## 에서 리소스 정리 AWS CLI
<a name="studio-byoi-sdk-cleanup"></a>

다음 섹션은 AWS CLI에서 리소스를 정리하는 방법을 보여줍니다.

**리소스를 정리하려면**

1. 빈 사용자 지정 이미지 목록을 도메인에 전달하여 도메인에서 이미지 및 이미지 버전을 분리합니다. [현재 도메인에 SageMaker 이미지 첨부](studio-byoi-attach.md#studio-byoi-sdk-attach-current-domain)에서 생성한 `default-user-settings.json`파일을 엽니다. 공유 스페이스에서 이미지 및 이미지 버전을 분리하려면 `default-space-settings.json`파일을 엽니다.

1. 사용자 지정 이미지를 삭제한 후 파일을 저장합니다.

   ```
   "DefaultUserSettings": {
     "KernelGatewayAppSettings": {
        "CustomImages": [
        ],
        ...
     },
     ...
   }
   ```

1. 도메인 ID 및 기본 사용자 설정 파일을 사용하여 도메인을 업데이트합니다. 공유 스페이스를 업데이트하려면 기본 스페이스 설정 파일을 사용합니다.

   ```
   aws sagemaker update-domain \
       --domain-id <d-xxxxxxxxxxxx> \
       --cli-input-json file://default-user-settings.json
   ```

   응답은 다음과 유사하게 보여야 합니다.

   ```
   {
       "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx"
   }
   ```

1. 앱 이미지 구성을 삭제합니다.

   ```
   aws sagemaker delete-app-image-config \
       --app-image-config-name custom-image-config
   ```

1. SageMaker 이미지를 삭제하면 모든 이미지 버전도 삭제됩니다. 이미지 버전으로 표시되는 ECR의 컨테이너 이미지는 삭제되지 않습니다.

   ```
   aws sagemaker delete-image \
       --image-name custom-image
   ```