

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

# 기존 도메인에 RStudio 지원 추가
<a name="rstudio-add-existing"></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)에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

 를 통해 RStudio 라이선스를 추가한 경우 Amazon SageMaker SageMaker AI 도메인을 생성할 AWS License Manager수 있습니다. RStudio RStudio를 지원하지 않는 기존 도메인이 있는 경우, 사용자는 도메인을 삭제하고 다시 생성할 필요 없이 해당 도메인에 RStudio 지원을 추가할 수 있습니다.  

 다음 주제에서는 이 지원을 추가하는 방법을 간략하게 설명합니다.

## 사전 조건
<a name="rstudio-add-existing-prerequisites"></a>

 RStudio on SageMaker AI에 대한 지원을 추가하려면 먼저 현재 도메인을 업데이트하기 전에 다음 단계를 완료해야 합니다.  
+  [AWS CLI 버전 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) 설치 및 구성 
+  IAM 보안 인증 정보로 [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) 구성 
+  [Create a SageMaker AI Domain with RStudio using the AWS CLI](https://docs.aws.amazon.com/sagemaker/latest/dg/rstudio-create-cli.html#rstudio-create-cli-domainexecution)에 있는 단계에 따라 도메인 실행 역할을 생성합니다. RStudioServerPro 앱에는 이 도메인 수준의 IAM 역할이 필요합니다. 이 역할에는 유효한 Posit Workbench 라이선스를 확인하기 위한 AWS License Manager 액세스 권한과 서버 로그를 게시하기 위한 Amazon CloudWatch Logs에 대한 액세스 권한이 필요합니다.  
+  RStudio 라이선스의 단계에 AWS License Manager 따라 [RStudio 라이선스를](https://docs.aws.amazon.com/sagemaker/latest/dg/rstudio-license.html) 로 가져옵니다.
+  (선택 사항) RStudio를 `VPCOnly` 모드에서 사용하려면 [VPC 전용 모드의 RStudio](https://docs.aws.amazon.com/sagemaker/latest/dg/rstudio-network.html)에 있는 단계를 완료합니다.
+  도메인의 각 [UserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)에 대해 구성한 보안 그룹이 계정 수준 할당량을 충족하는지 확인하세요. 도메인 생성 중에 기본 사용자 프로필을 구성할 때 사용자는 [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API의 `DefaultUserSettings` 파라미터를 사용하여 도메인에서 만든 모든 사용자 프로필에 상속되는 `SecurityGroups`를 추가할 수 있습니다. 사용자는 [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API의 `UserSettings` 파라미터의 일부로 특정 사용자를 위한 추가 보안 그룹을 제공할 수도 있습니다. 이 방법으로 보안 그룹을 추가한 경우 먼저 사용자 프로필당 보안 그룹의 총 수가 `VPCOnly` 모드에서는 2개, `PublicInternetOnly` 모드에서는 4개라는 최대 할당량을 초과하지 않도록 해야 합니다. 사용자 프로필의 총 보안 그룹 수가 할당량을 초과하는 경우 사용자는 여러 보안 그룹의 규칙을 하나의 보안 그룹으로 결합할 수 있습니다.  

## 기존 도메인에 RStudio 지원 추가
<a name="rstudio-add-existing-enable"></a>

사전 조건을 완료한 후 사용자는 기존 도메인에 RStudio 지원을 추가할 수 있습니다. 다음 단계에서는 기존 도메인을 업데이트하여 RStudio에 대한 지원을 추가하는 방법을 설명합니다.

### 1단계: 도메인의 모든 앱 삭제
<a name="rstudio-add-existing-enable-step1"></a>

도메인에 RStudio에 대한 지원을 추가하려면 SageMaker AI는 모든 기존 사용자 프로필의 기본 보안 그룹을 업데이트해야 합니다. 이를 완료하려면 먼저 도메인에서 기존 앱을 모두 삭제하고 다시 만들어야 합니다. 다음 절차에서는 모든 앱을 삭제하는 방법을 보여줍니다.

1.  도메인의 모든 앱을 나열합니다.

   ```
   aws sagemaker \
      list-apps \
      --domain-id-equals {{<DOMAIN_ID>}}
   ```

1.  도메인의 각 사용자 프로필에 대해 각 앱을 삭제합니다.

   ```
   // JupyterServer apps 
   aws sagemaker \
       delete-app \
       --domain-id {{<DOMAIN_ID>}} \
       --user-profile-name {{<USER_PROFILE>}} \
       --app-type JupyterServer \
       --app-name {{<APP_NAME>}}
   
   // KernelGateway apps
   aws sagemaker \
       delete-app \
       --domain-id {{<DOMAIN_ID>}} \
       --user-profile-name {{<USER_PROFILE>}} \
       --app-type KernelGateway \
       --app-name {{<APP_NAME>}}
   ```

### 2단계 - 모든 사용자 프로필을 새 보안 그룹 목록으로 업데이트
<a name="rstudio-add-existing-enable-step2"></a>

 이는 기존 보안 그룹을 리팩터링한 경우 도메인의 모든 기존 사용자 프로필에 대해 완료해야 하는 일회성 작업입니다. 이렇게 하면 최대 보안 그룹 수에 대한 할당량에 도달하지 않을 수 있습니다. 사용자가 [서비스 중](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html#sagemaker-DescribeApp-response-Status) 상태인 앱을 가지고 있는 경우 `UpdateUserProfile` API 직접 호출이 실패합니다. 앱을 모두 삭제한 다음 `UpdateUserProfile` API를 호출하여 보안 그룹을 업데이트합니다.

**참고**  
[Connect Amazon SageMaker Studio Classic Notebooks in a VPC to External Resources](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html#studio-notebooks-and-internet-access-vpc-only)에 설명된 `VPCOnly` 모드에 대한 다음과 같은 요구 사항은 SageMaker AI 서비스에서 `AppSecurityGroupManagement`를 관리하므로 RStudio 지원을 추가할 때 더 이상 필요하지 않습니다.  
“[보안 그룹 내의 TCP 트래픽.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances) 이는 JupyterServer 앱과 KernelGateway 앱 간의 연결에 필요합니다. 먼저 `8192-65535` 범위 내 최소 포트에 대한 액세스를 허용해야 합니다.” 

```
aws sagemaker \
    update-user-profile \
    --domain-id {{<DOMAIN_ID>}}\
    --user-profile-name {{<USER_PROFILE>}} \
    --user-settings "{\"SecurityGroups\": [\"{{<SECURITY_GROUP>}}\", \"{{<SECURITY_GROUP>}}\"]}"
```

### 3단계 - UpdateDomain API를 호출하여 RStudio를 활성화합니다.
<a name="rstudio-add-existing-enable-step3"></a>

1.  RStudio on SageMaker AI에 대한 지원을 추가하려면 [UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html) API를 직접적으로 호출합니다. `defaultusersettings` 파라미터는 사용자 프로필의 기본 보안 그룹을 리팩터링한 경우에만 필요합니다.
   +  `VPCOnly` 모드의 경우: 

     ```
     aws sagemaker \
         update-domain \
         --domain-id {{<DOMAIN_ID>}} \
         --app-security-group-management Service \
         --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn={{<DOMAIN_EXECUTION_ROLE_ARN>}}} \
         --default-user-settings "{\"SecurityGroups\": [\"{{<SECURITY_GROUP>}}\", \"{{<SECURITY_GROUP>}}\"]}"
     ```
   +  `PublicInternetOnly` 모드의 경우: 

     ```
     aws sagemaker \
         update-domain \
         --domain-id {{<DOMAIN_ID>}} \
         --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn={{<DOMAIN_EXECUTION_ROLE_ARN>}}} \
         --default-user-settings "{\"SecurityGroups\": [\"{{<SECURITY_GROUP>}}\", \"{{<SECURITY_GROUP>}}\"]}"
     ```

1. 도메인 상태가 `InService`인지 확인합니다. 도메인 상태가 `InService`이면 RStudio on SageMaker AI에 대한 지원이 추가됩니다.

   ```
   aws sagemaker \
       describe-domain \
       --domain-id {{<DOMAIN_ID>}}
   ```

1. 다음 명령을 사용하여 RStudioServerPro 앱의 상태가 `InService`인지 확인합니다.

   ```
   aws sagemaker list-apps --user-profile-name domain-shared
   ```

### 4단계 - 기존 사용자를 위해 RStudio 액세스 추가
<a name="rstudio-add-existing-enable-step4"></a>

 3단계 업데이트의 일환으로 SageMaker AI는 기본 설정으로 도메인에 있는 기존의 모든 사용자 프로필의 RStudio [AccessStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RStudioServerProAppSettings.html#sagemaker-Type-RStudioServerProAppSettings-AccessStatus)를 `DISABLED`로 표시합니다. 이렇게 하면 현재 라이선스에서 허용한 사용자 수를 초과하는 것을 방지할 수 있습니다. 기존 사용자의 액세스 권한을 추가하려면 일회성 옵트인 단계를 거쳐야 합니다. 다음 [RStudioServerProAppSettings](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UserSettings.html#sagemaker-Type-UserSettings-RStudioServerProAppSettings)으로 [UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html) API를 호출하여 옵트인을 수행합니다.
+  `AccessStatus` = `ENABLED` 
+  *선택 사항* - `UserGroup` = `R_STUDIO_USER` 또는 `R_STUDIO_ADMIN` 

```
aws sagemaker \
    update-user-profile \
    --domain-id {{<DOMAIN_ID>}}\
    --user-profile-name {{<USER_PROFILE>}} \
    --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"ENABLED\"}}"
```

**참고**  
기본적으로 RStudio에 액세스할 수 있는 사용자 수는 60명입니다.

### 5단계 - 새 사용자의 RStudio 액세스 비활성화
<a name="rstudio-add-existing-enable-step5"></a>

 `UpdateDomain` 직접 호출 시 달리 지정하지 않는 한, RStudio on SageMaker AI에 대한 지원을 추가한 후 생성되는 모든 새 사용자 프로필에 RStudio 지원이 기본적으로 추가됩니다. 새 사용자 프로필에 대한 액세스를 비활성화하려면 먼저 `CreateUserProfile` API 직접 호출의 일부로 `AccessStatus` 파라미터를 `DISABLED`로 명시적으로 설정해야 합니다. `AccessStatus` 파라미터가 `CreateUserProfile` API의 일부로 지정되지 않은 경우 기본 액세스 상태는 `ENABLED`입니다.

```
aws sagemaker \
    create-user-profile \
    --domain-id {{<DOMAIN_ID>}}\
    --user-profile-name {{<USER_PROFILE>}} \
    --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"DISABLED\"}}"
```