를 사용하여 RStudio로 Amazon SageMaker AI 도메인 생성 AWS CLI - Amazon SageMaker AI

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

를 사용하여 RStudio로 Amazon SageMaker AI 도메인 생성 AWS CLI

중요

Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic에서 Amazon SageMaker 리소스를 만들도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 추가할 수 있는 권한도 부여해야 합니다. Studio와 Studio Classic은 만드는 리소스에 태그를 자동으로 지정하기 때문에 리소스에 태그를 추가할 권한이 필요합니다. IAM 정책이 Studio 및 Studio Classic에서 리소스를 만들도록 허용하지만 태그 지정은 허용하지 않는 경우 리소스 만들기를 시도할 때 'AccessDenied' 오류가 발생할 수 있습니다. 자세한 내용은 SageMaker AI 리소스에 태그를 지정할 수 있는 권한 제공 섹션을 참조하세요.

SageMaker 리소스를 만들 수 있는 권한을 부여하는 AWS Amazon SageMaker AI에 대한 관리형 정책에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

다음 주제에서는를 사용하여 RStudio가 활성화된 Amazon SageMaker AI 도메인에 온보딩하는 방법을 보여줍니다 AWS CLI. 를 사용하여 온보딩하려면 섹션을 AWS Management Console참조하세요Amazon SageMaker AI 도메인 개요.

사전 조건

DomainExecution 역할 생성

RStudio 앱을 시작하려면 DomainExecution 먼저 역할을 제공해야 합니다. 이 역할은 Amazon SageMaker AI 도메인 생성의 일부로 RStudio를 시작해야 하는지 여부를 결정하는 데 사용됩니다. 또한이 역할은 Amazon SageMaker AI에서 RStudio 라이선스에 액세스하고 RStudio 로그를 푸시하는 데 사용됩니다. 

참고

DomainExecution 역할에는 최소한 RStudio 라이선스에 액세스할 수 있는 AWS License Manager 권한과 사용자 계정에서 로그를 푸시할 수 있는 CloudWatch 권한이 있어야 합니다.

다음 절차는 AWS CLI를 활용하여 DomainExecution 역할을 생성하는 방법을 보여줍니다.

  1. 다음 콘텐츠가 포함된 assume-role-policy.json이라는 파일을 생성합니다.

    { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] } } ] }
  2. DomainExecution 역할을 생성합니다. <REGION>은 도메인을 시작할 AWS 리전이어야 합니다.

    aws iam create-role --region <REGION> --role-name DomainExecution --assume-role-policy-document file://assume-role-policy.json
  3. 다음 콘텐츠가 포함된 domain-setting-policy.json이라는 파일을 생성합니다. 이 정책은 RStudioServerPro 앱이 필요한 리소스에 액세스하도록 허용하고 기존 RStudioServerPro 앱이 Deleted 또는 Failed 상태일 때 Amazon SageMaker AI가 RStudioServerPro 앱을 자동으로 시작하도록 허용합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "license-manager:ExtendLicenseConsumption", "license-manager:ListReceivedLicenses", "license-manager:GetLicense", "license-manager:CheckoutLicense", "license-manager:CheckInLicense", "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteLogDelivery", "logs:Describe*", "logs:GetLogDelivery", "logs:GetLogEvents", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:UpdateLogDelivery", "sagemaker:CreateApp" ], "Resource": "*" } ] }
  4. DomainExecution 역할에 연결된 도메인 설정 정책을 생성합니다. 다음 단계에서 해당 ARN을 입력해야 하므로 응답의 PolicyArn을 숙지합니다.

    aws iam create-policy --region <REGION> --policy-name domain-setting-policy --policy-document file://domain-setting-policy.json
  5. domain-setting-policyDomainExecution 역할로 연결합니다. 이전 단계에서 반환된 PolicyArn을 사용합니다.

    aws iam attach-role-policy --role-name DomainExecution --policy-arn <POLICY_ARN>

RStudio 앱을 사용하여 Amazon SageMaker AI 도메인 생성

RStudioServerProDomainSettings 파라미터가 지정된 create-domain CLI 명령을 사용하여 Amazon SageMaker AI 도메인을 생성하면 RStudioServerPro 앱이 자동으로 시작됩니다. RStudioServerPro 앱을 시작할 때 Amazon SageMaker AI는 계정에서 유효한 RStudio 라이선스를 확인하고 라이선스를 찾을 수 없는 경우 도메인 생성에 실패합니다.

Amazon SageMaker AI 도메인 생성은 인증 방법과 네트워크 유형에 따라 다릅니다. 인증 방법 하나와 네트워크 연결 유형 하나를 선택하여 이러한 옵션을 함께 사용해야 합니다. 새 도메인을 만들기 위한 요구 사항에 대한 자세한 내용은 CreateDomain을 참고하세요.

지원되는 인증 방법은 다음과 같습니다.

  • IAM Auth

  • SSO Auth

다음과 같은 네트워크 연결 유형이 지원됩니다.

  • PublicInternet

  • VPCOnly

인증 방법

IAM 인증 모드

다음은 RStudio가 활성화되고 IAM Auth 네트워크 유형이 있는 Amazon SageMaker AI 도메인을 생성하는 방법을 보여줍니다. 에 대한 자세한 내용은 IAM이란 무엇입니까?를 AWS Identity and Access Management참조하세요.

  • DomainExecutionRoleArn은 이전 단계에서 생성한 역할에 대한 ARN이어야 합니다.

  • ExecutionRole는 Amazon SageMaker AI 도메인의 사용자에게 부여된 역할의 ARN입니다.

  • vpc-id는 Amazon Virtual Private Cloud의 ID여야 합니다. subnet-ids는 공백으로 구분된 서브넷 ID 목록이어야 합니다. vpc-idsubnet-ids에 대한 자세한 내용은 VPS 및 서브넷을 참고하세요.

  • RStudioPackageManagerUrlRStudioConnectUrl은 선택 사항이며 각각 RStudio Package Manager 및 RStudio Connect 서버의 URL로 설정해야 합니다.

  • app-network-access-typePublicInternetOnly 또는 VPCOnly 중 하나여야 합니다.

aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \ --auth-mode IAM \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id <VPC_ID> \ --subnet-ids <SUBNET_IDS> \ --app-network-access-type <NETWORK_ACCESS_TYPE>

IAM Identity Center를 사용한 인증

다음은 RStudio가 활성화된 Amazon SageMaker AI 도메인과 SSO Auth Network Type을 생성하는 방법을 보여줍니다. 도메인이 시작되는 리전에 대해를 활성화해야 AWS IAM Identity Center 합니다. IAM Identity Center에 대한 자세한 내용은 란 무엇입니까 AWS IAM Identity Center?를 참조하세요.

  • DomainExecutionRoleArn은 이전 단계에서 생성한 역할에 대한 ARN이어야 합니다.

  • ExecutionRole는 Amazon SageMaker AI 도메인의 사용자에게 부여된 역할의 ARN입니다.

  • vpc-id는 Amazon Virtual Private Cloud의 ID여야 합니다. subnet-ids는 공백으로 구분된 서브넷 ID 목록이어야 합니다. vpc-idsubnet-ids에 대한 자세한 내용은 VPS 및 서브넷을 참고하세요.

  • RStudioPackageManagerUrlRStudioConnectUrl은 선택 사항이며 각각 RStudio Package Manager 및 RStudio Connect 서버의 URL로 설정해야 합니다.

  • app-network-access-typePublicInternetOnly 또는 VPCOnly 중 하나여야 합니다.

aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \ --auth-mode SSO \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id <VPC_ID> \ --subnet-ids <SUBNET_IDS> \ --app-network-access-type <NETWORK_ACCESS_TYPE>

연결 유형

공용 인터넷/다이렉트 인터넷 네트워크 유형

다음은 RStudio가 활성화되고 PublicInternet 네트워크 유형이 있는 Amazon SageMaker AI 도메인을 생성하는 방법을 보여줍니다.

  • DomainExecutionRoleArn은 이전 단계에서 생성한 역할에 대한 ARN이어야 합니다.

  • ExecutionRole는 Amazon SageMaker AI 도메인의 사용자에게 부여된 역할의 ARN입니다.

  • vpc-id는 Amazon Virtual Private Cloud의 ID여야 합니다. subnet-ids는 공백으로 구분된 서브넷 ID 목록이어야 합니다. vpc-idsubnet-ids에 대한 자세한 내용은 VPS 및 서브넷을 참고하세요.

  • RStudioPackageManagerUrlRStudioConnectUrl은 선택 사항이며 각각 RStudio Package Manager 및 RStudio Connect 서버의 URL로 설정해야 합니다.

  • auth-modeSSO 또는 IAM 중 하나여야 합니다.

aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \ --auth-mode <AUTH_MODE> \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id <VPC_ID> \ --subnet-ids <SUBNET_IDS> \ --app-network-access-type PublicInternetOnly

VPN 전용 모드

다음은 RStudio가 활성화되고VPCOnly 네트워크 유형이 있는 Amazon SageMaker AI 도메인을 시작하는 방법을 보여줍니다. VPCOnly 네트워크 액세스 유형 사용에 대한 자세한 내용은 VPC의 Studio 노트북을 외부 리소스에 연결을 참고하세요.

  • DomainExecutionRoleArn은 이전 단계에서 생성한 역할에 대한 ARN이어야 합니다.

  • ExecutionRole는 Amazon SageMaker AI 도메인의 사용자에게 부여된 역할의 ARN입니다.

  • vpc-id는 Amazon Virtual Private Cloud의 ID여야 합니다. subnet-ids는 공백으로 구분된 서브넷 ID 목록이어야 합니다. 프라이빗 서브넷은 인터넷에 액세스하여 Amazon SageMaker AI를 호출 AWS License Manager 하거나 Amazon SageMaker AI 및 모두에 대한 Amazon VPC 엔드포인트를 보유할 수 있어야 합니다 AWS License Manager. Amazon VPC 엔드포인트에 대한 자세한 내용은 Amazon VPC 엔드포인트 인터페이스를 참고하세요. vpc-idsubnet-ids에 대한 자세한 내용은 VPC 및 서브넷을 참고하세요.

  • SecurityGroups는 Amazon SageMaker AI 및 AWS License Manager 엔드포인트에 대한 아웃바운드 액세스를 허용해야 합니다.

  • auth-modeSSO 또는 IAM 중 하나여야 합니다.

참고

Amazon Virtual Private Cloud 엔드포인트를 사용하는 경우, Amazon Virtual Private Cloud 엔드포인트에 연결된 보안 그룹은 create-domain CLI 호출의 domain-setting 파라미터의 일부로 전달하는 보안 그룹으로부터의 인바운드 트래픽을 허용해야 합니다.

RStudio를 사용하면 Amazon SageMaker AI가 보안 그룹을 관리합니다. 즉, Amazon SageMaker AI는 RSessions가 RStudioServerPro 앱에 액세스할 수 있도록 보안 그룹 규칙을 관리합니다. Amazon SageMaker AI는 사용자 프로필당 하나의 보안 그룹 규칙을 생성합니다.

aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \ --auth-mode <AUTH_MODE> \ --default-user-settings SecurityGroups=<USER_SECURITY_GROUP>,ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \ --domain-settings SecurityGroupIds=<DOMAIN_SECURITY_GROUP>,RStudioServerProDomainSettings={DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id <VPC_ID> \ --subnet-ids "<SUBNET_IDS>" \ --app-network-access-type VPCOnly --app-security-group-management Service

참고: RStudioServerPro 앱은 이름이 domain-shared으로 지정된 특수 사용자 프로필에 의해 실행됩니다. 따라서 다른 사용자 프로필에서 list-app API 직접 호출의 일부로 이 앱을 반환하지 않습니다.

사용자 수를 늘리려면 사용자 계정의 Amazon VPC 할당량을 늘려야 할 수도 있습니다. 자세한 내용은 Amazon VPC할당량을 참조하세요.

도메인 생성 확인

다음 명령을 사용하여 도메인이 InServiceStatus로 생성되었는지 확인합니다. domain-id가 도메인 ARN에 추가됩니다. 예: arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>.

aws sagemaker describe-domain --domain-id <DOMAIN_ID> --region <REGION>