기존 도메인에 RStudio 지원 추가 - 아마존 SageMaker

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

기존 도메인에 RStudio 지원 추가

중요

Amazon SageMaker Studio 또는 Amazon Studio Classic에서 Amazon SageMaker SageMaker 리소스를 생성할 수 있도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 추가할 수 있는 권한도 부여해야 합니다. Studio 및 Studio Classic은 생성한 모든 리소스에 자동으로 태그를 지정하기 때문에 리소스에 태그를 추가할 수 있는 권한이 필요합니다. IAM 정책에 따라 Studio 및 Studio Classic에서는 리소스를 생성할 수 있지만 태깅은 허용하지 않는 경우 AccessDenied "“리소스를 생성하려고 할 때 오류가 발생할 수 있습니다. 자세한 정보는 리소스에 태그를 지정할 SageMaker 수 있는 권한을 제공하십시오.을 참조하세요.

AWS 아마존 관리형 정책 SageMaker리소스 생성 권한을 부여하는 내용에는 해당 SageMaker 리소스를 생성할 때 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

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

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

필수 조건

RStudio on에 대한 지원을 추가하려면 현재 도메인을 업데이트하기 전에 다음 단계를 완료해야 합니다. SageMaker  

  • AWS CLI 버전 2 설치 및 구성

  • IAM 보안 인증 정보로 AWS CLI 구성

  • 사용하여 RStudio로 도메인 만들기의 단계에 따라 SageMaker 도메인 실행 역할을 생성합니다. AWS CLI R 앱에는 이 도메인 수준 IAM 역할이 필요합니다. StudioServerPro 이 역할에는 유효한 Posit Workbench 라이선스를 확인하기 AWS License Manager 위한 액세스 권한과 서버 CloudWatch 로그를 게시하기 위한 Amazon Logs에 대한 액세스 권한이 필요합니다. 

  • RStudio 라이선스의 단계를 따라 RStudio 라이선스를 가져오십시오 AWS License Manager .

  • (선택 사항) RStudio를 VPCOnly 모드에서 사용하려면 VPC 전용 모드의 RStudio에 있는 단계를 완료합니다.

  • 도메인의 각 보안 그룹에 대해 구성한 보안 그룹이 계정 UserProfile수준 할당량을 충족하는지 확인하십시오. 도메인을 생성하는 동안 기본 사용자 프로필을 구성할 때 CreateDomainAPI의 DefaultUserSettings 매개 변수를 사용하여 도메인에서 만든 모든 사용자 프로필에 SecurityGroups 상속되는 프로필을 추가할 수 있습니다. API UserSettings 매개변수의 일부로 특정 사용자를 위한 추가 보안 그룹을 제공할 수도 있습니다. CreateUserProfile 이 방법으로 보안 그룹을 추가한 경우 먼저 사용자 프로필당 보안 그룹의 총 수가 VPCOnly 모드에서는 2개, PublicInternetOnly 모드에서는 4개라는 최대 할당량을 초과하지 않도록 해야 합니다. 사용자 프로필의 총 보안 그룹 수가 할당량을 초과하는 경우 사용자는 여러 보안 그룹의 규칙을 하나의 보안 그룹으로 결합할 수 있습니다. 

기존 도메인에 RStudio 지원을 추가합니다.

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

1단계: 도메인의 모든 앱 삭제

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

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

    aws sagemaker \   list-apps \ --domain-id-equals <DOMAIN_ID>
  2. 도메인의 각 사용자 프로필에 대해 각 앱을 삭제합니다.

    // 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단계 - 모든 사용자 프로필을 새 보안 그룹 목록으로 업데이트

이 작업은 기존 보안 그룹을 리팩토링한 경우 도메인의 모든 기존 사용자 프로필에 대해 완료해야 하는 일회성 작업입니다. 이렇게 하면 최대 보안 그룹 수에 대한 할당량에 도달하지 않을 수 있습니다. 사용자가 상태에 있는 앱을 가지고 있는 경우 UpdateUserProfile API 호출이 실패합니다. InService 앱을 모두 삭제한 다음 UpdateUserProfile API를 호출하여 보안 그룹을 업데이트합니다.

참고

VPC의 Amazon SageMaker Studio Classic 노트북을 외부 리소스에 연결 (Connect) 에 설명된 다음 VPCOnly 모드 요구 사항은 서비스에서 관리하므로 AppSecurityGroupManagement RStudio 지원을 추가할 때 더 이상 필요하지 않습니다. SageMaker

보안 그룹 내의 TCP 트래픽. 이는 앱과 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단계 - API를 호출하여 RStudio를 활성화합니다 UpdateDomain .

  1. UpdateDomainAPI를 호출하여 RStudio에 대한 지원을 추가하세요. SageMaker 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>\"]}"
  2. 도메인 상태가 인지 InService 확인하십시오. 도메인 상태가 InService 되면 RStudio on에 SageMaker 대한 지원이 추가됩니다.

    aws sagemaker \ describe-domain \ --domain-id <DOMAIN_ID>
  3. R StudioServerPro 앱의 상태가 다음 명령을 InService 사용하고 있는지 확인합니다.

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

4단계 - 기존 사용자를 위해 RStudio 액세스 추가

3단계 업데이트의 일환으로 도메인에 있는 모든 기존 사용자 AccessStatus프로필의 RStudio를 DISABLED 기본적으로 SageMaker 표시합니다. 이렇게 하면 현재 라이선스에서 허용한 사용자 수를 초과하는 것을 방지할 수 있습니다. 기존 사용자의 액세스 권한을 추가하려면 일회성 옵트인 단계를 거쳐야 합니다. 다음 StudioServerProAppSettingsR을 UpdateUserProfile사용하여 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 액세스 비활성화

호출 UpdateDomain 시 달리 지정하지 않는 한 RStudio on에 대한 지원을 추가한 후 생성되는 모든 새 사용자 프로필에 RStudio 지원이 기본적으로 추가됩니다. SageMaker 새 사용자 프로필에 대한 액세스를 비활성화하려면 먼저 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\"}}"