

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

# Amazon SageMaker Studio Classic에서 JupyterLab 버전 관리
<a name="studio-jl"></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) 것이 좋습니다.

Amazon SageMaker Studio Classic 인터페이스는 노트북, 코드 및 데이터를 위한 웹 기반 대화형 개발 환경인 JupyterLab을 기반으로 합니다. Studio Classic은 JupyterLab 3 사용만 지원합니다.

 AWS Management Console 이전 또는 08/31/2022 이전를 사용하여 도메인 및 사용자 프로필을 생성한 경우 AWS Command Line Interface 02/22/23Studio Classic 인스턴스의 기본값은 JupyterLab 1입니다. 2024년 7월 1일 후에는 JupyterLab 1을 실행하는 Studio Classic 애플리케이션을 만들 수 없습니다.

## Jupyterlab 3
<a name="jl3"></a>

JupyterLab 3에는 이전 버전에서 사용할 수 없는 다음과 같은 기능이 포함되어 있습니다. 이러한 기능에 대한 자세한 내용은 [JupyterLab 3.0이 출시되었습니다\$1](https://blog.jupyter.org/jupyterlab-3-0-is-out-4f58385e25bb)를 참조하세요.
+ Base Python 2.0 및 Data Science 2.0 커널을 사용할 때의 비주얼 디버거
+ 파일 브라우저 필터 
+ 목차 (TOC) 
+ 다국어 지원 
+ 단순 모드 
+ 단일 인터페이스 모드 

### JupyterLab 3의 중요 변경사항
<a name="jl3-changes"></a>

 JupyterLab 3을 사용할 때는 다음 항목을 고려하세요.
+ 를 사용하여 JupyterLab 버전을 설정할 때의 이미지 목록에서 해당 리전 및 JupyterLab 버전에 해당하는 이미지를 AWS CLI선택합니다[에서 AWS CLI](#studio-jl-set-cli).
+ JupyterLab 3에서는 확장 프로그램을 설치하기 전에 `studio`conda 환경을 활성화해야 합니다. 자세한 내용은 [JupyterLab과 JupyterLab 서버 확장 프로그램 설치](#studio-jl-install)을 참조하세요.
+ 다음 이미지를 사용하는 경우에만 디버거가 지원됩니다.
  + Base Python 2.0
  + Data Science 2.0
  + Base Python 3.0
  + Data Science 3.0

## IAM 정책 조건 키를 사용하여 기본 JupyterLab 버전 제한하기
<a name="iam-policy"></a>

IAM 정책 조건 키를 사용하여 사용자가 시작할 수 있는 JupyterLab 버전을 제한할 수 있습니다.

다음 정책은 도메인 수준에서 JupyterLab 버전을 제한하는 방법을 보여줍니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BlockJupyterLab3DomainLevelAppCreation",
            "Effect": "Deny",
            "Action": [
                "sagemaker:CreateDomain",
                "sagemaker:UpdateDomain"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:ArnLike": {
                    "sagemaker:ImageArns": "arn:aws:sagemaker:us-east-1:111122223333:image/jupyter-server-3"
                }
            }
        }
    ]
}
```

------

다음 정책은 사용자 프로필 수준에서 JupyterLab 버전을 제한하는 방법을 보여줍니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BlockUsersFromCreatingJupyterLab3Apps",
            "Effect": "Deny",
            "Action": [
                "sagemaker:CreateUserProfile",
                "sagemaker:UpdateUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:ArnLike": {
                    "sagemaker:ImageArns": "arn:aws:sagemaker:us-east-1:111122223333:image/jupyter-server-3"
                }
            }
        }
    ]
}
```

------

다음 정책은 애플리케이션 수준에서 JupyterLab 버전을 제한하는 방법을 보여줍니다. 이 정책을 적용하려면 `CreateApp`요청에 이미지 ARN이 포함되어야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BlockJupyterLab3AppLevelAppCreation",
            "Effect": "Deny",
            "Action": "sagemaker:CreateApp",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:ArnLike": {
                    "sagemaker:ImageArns": "arn:aws:sagemaker:us-east-1:111122223333:image/jupyter-server-3"
                }
            }
        }
    ]
}
```

------

## 기본 JupyterLab 버전 설정하기
<a name="studio-jl-set"></a>

다음 섹션에서는 콘솔 또는 AWS CLI를 사용하여 Studio Classic용 기본 JupyterLab 버전을 설정하는 방법을 보여줍니다.  

### 콘솔에서
<a name="studio-jl-set-console"></a>

 리소스를 만드는 중에 도메인 또는 사용자 프로필 수준에서 사용할 기본 JupyterLab 버전을 선택할 수 있습니다. 콘솔을 사용하여 기본 JupyterLab 버전을 설정하려면 [Amazon SageMaker AI 도메인 개요](gs-studio-onboard.md)을 참조하세요.  

### 에서 AWS CLI
<a name="studio-jl-set-cli"></a>

 AWS CLI를 사용하여 도메인 또는 사용자 프로필 수준에서 사용할 기본 JupyterLab 버전을 선택할 수 있습니다.  

 를 사용하여 기본 JupyterLab 버전을 설정하려면 원하는 기본 JupyterLab 버전의 ARN을 AWS CLI 명령의 일부로 포함해야 AWS CLI합니다. 이 ARN은 SageMaker AI 도메인의 버전 및 리전에 따라 다릅니다.  

다음 표에는 각 리전에서 사용 가능한 JupyterLab 버전의 ARN이 나열되어 있습니다.


|  리전  |  JL3  | 
| --- | --- | 
|  us-east-1  |  arn:aws:sagemaker:us-east-1:081325390199:image/jupyter-server-3  | 
|  us-east-2  |  arn:aws:sagemaker:us-east-2:429704687514:image/jupyter-server-3  | 
|  us-west-1  |  arn:aws:sagemaker:us-west-1:742091327244:image/jupyter-server-3  | 
|  us-west-2  |  arn:aws:sagemaker:us-west-2:236514542706:image/jupyter-server-3  | 
|  af-south-1  |  arn:aws:sagemaker:af-south-1:559312083959:image/jupyter-server-3  | 
|  ap-east-1  |  arn:aws:sagemaker:ap-east-1:493642496378:image/jupyter-server-3  | 
|  ap-south-1  |  arn:aws:sagemaker:ap-south-1:394103062818:image/jupyter-server-3  | 
|  ap-northeast-2  |  arn:aws:sagemaker:ap-northeast-2:806072073708:image/jupyter-server-3  | 
|  ap-southeast-1  |  arn:aws:sagemaker:ap-southeast-1:492261229750:image/jupyter-server-3  | 
|  ap-southeast-2  |  arn:aws:sagemaker:ap-southeast-2:452832661640:image/jupyter-server-3  | 
|  ap-northeast-1  |  arn:aws:sagemaker:ap-northeast-1:102112518831:image/jupyter-server-3  | 
|  ca-central-1  |  arn:aws:sagemaker:ca-central-1:310906938811:image/jupyter-server-3  | 
|  eu-central-1  |  arn:aws:sagemaker:eu-central-1:936697816551:image/jupyter-server-3  | 
|  eu-west-1  |  arn:aws:sagemaker:eu-west-1:470317259841:image/jupyter-server-3  | 
|  eu-west-2  |  arn:aws:sagemaker:eu-west-2:712779665605:image/jupyter-server-3  | 
|  eu-west-3  |  arn:aws:sagemaker:eu-west-3:615547856133:image/jupyter-server-3  | 
|  eu-north-1  |  arn:aws:sagemaker:eu-north-1:243637512696:image/jupyter-server-3  | 
|  eu-south-1  |  arn:aws:sagemaker:eu-south-1:592751261982:image/jupyter-server-3  | 
|  eu-south-2  |  arn:aws:sagemaker:eu-south-2:127363102723:image/jupyter-server-3  | 
|  sa-east-1  |  arn:aws:sagemaker:sa-east-1:782484402741:image/jupyter-server-3  | 
|  cn-north-1  |  arn:aws-cn:sagemaker:cn-north-1:390048526115:image/jupyter-server-3  | 
|  cn-northwest-1  |  arn:aws-cn:sagemaker:cn-northwest-1:390780980154:image/jupyter-server-3  | 

#### 도메인 만들기 또는 업데이트
<a name="studio-jl-set-cli-domain"></a>

 [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) 또는 [UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html)을 간접 호출하고 `UserSettings.JupyterServerAppSettings.DefaultResourceSpec.SageMakerImageArn` 필드를 전달하여 도메인 수준에서 기본 JupyterServer 버전을 설정할 수 있습니다.

 다음은 AWS CLI를 사용하여 JupyterLab 3을 기본값으로 사용하여 도메인을 만드는 방법을 보여줍니다.

```
aws --region <REGION> \
sagemaker create-domain \
--domain-name <NEW_DOMAIN_NAME> \
--auth-mode <AUTHENTICATION_MODE> \
--subnet-ids <SUBNET-IDS> \
--vpc-id <VPC-ID> \
--default-user-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",
      "InstanceType": "system"
    }
  }
}'
```

 다음은 AWS CLI를 사용하여 JupyterLab 3을 기본값으로 사용하도록 도메인을 업데이트하는 방법을 보여줍니다.

```
aws --region <REGION> \
sagemaker update-domain \
--domain-id <YOUR_DOMAIN_ID> \
--default-user-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",
      "InstanceType": "system"
    }
  }
}'
```

#### 사용자 프로필 생성 또는 업데이트
<a name="studio-jl-set-cli-user"></a>

 [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) 또는 [UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html)을 호출하고 `UserSettings.JupyterServerAppSettings.DefaultResourceSpec.SageMakerImageArn`필드를 전달하여 사용자 프로필 수준에서 기본 JupyterServer 버전을 설정할 수 있습니다.

 다음은 AWS CLI를 사용하여 기존 도메인에서 JupyterLab 3을 기본값으로 사용하는 사용자 프로필을 만드는 방법을 보여줍니다.

```
aws --region <REGION> \
sagemaker create-user-profile \
--domain-id <YOUR_DOMAIN_ID> \
--user-profile-name <NEW_USERPROFILE_NAME> \
--query UserProfileArn --output text \
--user-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",
      "InstanceType": "system"
    }
  }
}'
```

 다음은 AWS CLI를 사용하여 JupyterLab 3을 기본값으로 사용하도록 사용자 프로필을 업데이트하는 방법을 보여줍니다.

```
aws --region <REGION> \
sagemaker update-user-profile \
 --domain-id <YOUR_DOMAIN_ID> \
 --user-profile-name <EXISTING_USERPROFILE_NAME> \
--user-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",
      "InstanceType": "system"
    }
  }
}'
```

## 콘솔에서 JupyterLab 버전의 애플리케이션 보기 및 업데이트
<a name="studio-jl-view"></a>

 다음은 JupyterLab 버전의 애플리케이션을 보고 업데이트하는 방법을 보여줍니다.

1.  SageMaker AI **도메인** 페이지로 이동합니다.

1.  도메인의 사용자 프로필을 보려면 도메인을 선택합니다.

1.  애플리케이션을 보려면 사용자를 선택합니다.

1.  JupyterLab 버전의 애플리케이션을 보려면 애플리케이션 이름을 선택합니다.

1.  JupyterLab 버전을 업데이트하려면 **작업**을 선택합니다.

1.  드롭다운 메뉴에서 **JupyterLab 버전 변경**을 선택합니다.

1.  **Studio Classic 설정** 페이지의 드롭다운 메뉴에서 JupyterLab 버전을 선택합니다.

1.  사용자 프로파일의 JupyterLab 버전이 성공적으로 업데이트된 후 JupyterServer 애플리케이션을 다시 시작하여 버전 변경 사항을 적용합니다. JupyterServer 애플리케이션을 다시 시작하는 방법에 대한 자세한 내용은 [Amazon SageMaker Studio Classic 종료 및 업데이트](studio-tasks-update-studio.md)을 참조하세요.

## JupyterLab과 JupyterLab 서버 확장 프로그램 설치
<a name="studio-jl-install"></a>

JupyterLab 3에서는 확장 프로그램을 설치하기 전에 `studio`conda 환경을 활성화해야 합니다. Studio Classic 내에서 확장을 설치하는 경우와 수명 주기 구성 스크립트를 사용하는 경우 방법이 다릅니다.

### Studio Classic 내에서 확장 프로그램 설치
<a name="studio-jl-install-studio"></a>

Studio Classic 내에서 확장 프로그램을 설치하려면 확장 프로그램을 설치하기 전에 `studio` 환경을 활성화해야 합니다.

```
# Before installing extensions
conda activate studio

# Install your extensions
pip install <JUPYTER_EXTENSION>

# After installing extensions
conda deactivate
```

### 수명 주기 구성 스크립트를 사용하여 확장 프로그램 설치
<a name="studio-jl-install-lcc"></a>

수명 주기 구성 스크립트에 JupyterLab 및 Jupyter 서버 확장 프로그램을 설치하는 경우 JupyterLab 3에서 작동하도록 스크립트를 수정해야 합니다. 다음 섹션에서는 기존 수명 주기 구성 스크립트와 새 수명 주기 구성 스크립트에 필요한 코드를 보여줍니다.

#### 기존 수명 주기 구성 스크립트
<a name="studio-jl-install-lcc-existing"></a>

JupyterLab의 두 버전에서 모두 작동해야 하는 기존 수명 주기 구성 스크립트를 재사용하는 경우 스크립트에서 다음 코드를 사용합니다.

```
# Before installing extension
export AWS_SAGEMAKER_JUPYTERSERVER_IMAGE="${AWS_SAGEMAKER_JUPYTERSERVER_IMAGE:-'jupyter-server'}"
if [ "$AWS_SAGEMAKER_JUPYTERSERVER_IMAGE" = "jupyter-server-3" ] ; then
   eval "$(conda shell.bash hook)"
   conda activate studio
fi;

# Install your extensions
pip install <JUPYTER_EXTENSION>


# After installing extension
if [ "$AWS_SAGEMAKER_JUPYTERSERVER_IMAGE" = "jupyter-server-3" ]; then
   conda deactivate
fi;
```

#### 새 수명 주기 구성 스크립트
<a name="studio-jl-install-lcc-new"></a>

JupyterLab 3만 사용하는 새 수명 주기 구성 스크립트를 작성하는 경우 스크립트에서 다음 코드를 사용할 수 있습니다.

```
# Before installing extension
eval "$(conda shell.bash hook)"
conda activate studio


# Install your extensions
pip install <JUPYTER_EXTENSION>


conda deactivate
```