기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 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 도메인 개요.
사전 조건
-
AWS CLI 버전 2 설치 및 구성
-
IAM 보안 인증 정보로 AWS CLI 구성
DomainExecution
역할 생성
RStudio 앱을 시작하려면 DomainExecution
먼저 역할을 제공해야 합니다. 이 역할은 Amazon SageMaker AI 도메인 생성의 일부로 RStudio를 시작해야 하는지 여부를 결정하는 데 사용됩니다. 또한이 역할은 Amazon SageMaker AI에서 RStudio 라이선스에 액세스하고 RStudio 로그를 푸시하는 데 사용됩니다.
참고
DomainExecution
역할에는 최소한 RStudio 라이선스에 액세스할 수 있는 AWS License Manager 권한과 사용자 계정에서 로그를 푸시할 수 있는 CloudWatch 권한이 있어야 합니다.
다음 절차는 AWS CLI를 활용하여 DomainExecution
역할을 생성하는 방법을 보여줍니다.
-
다음 콘텐츠가 포함된
assume-role-policy.json
이라는 파일을 생성합니다.{ "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] } } ] }
-
DomainExecution
역할을 생성합니다.<REGION>
은 도메인을 시작할 AWS 리전이어야 합니다.aws iam create-role --region
<REGION>
--role-name DomainExecution --assume-role-policy-document file://assume-role-policy.json -
다음 콘텐츠가 포함된
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": "*" } ] }
-
DomainExecution
역할에 연결된 도메인 설정 정책을 생성합니다. 다음 단계에서 해당 ARN을 입력해야 하므로 응답의PolicyArn
을 숙지합니다.aws iam create-policy --region
<REGION>
--policy-name domain-setting-policy --policy-document file://domain-setting-policy.json -
domain-setting-policy
를DomainExecution
역할로 연결합니다. 이전 단계에서 반환된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-id
및subnet-ids
에 대한 자세한 내용은 VPS 및 서브넷을 참고하세요. -
RStudioPackageManagerUrl
및RStudioConnectUrl
은 선택 사항이며 각각 RStudio Package Manager 및 RStudio Connect 서버의 URL로 설정해야 합니다. -
app-network-access-type
은PublicInternetOnly
또는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-id
및subnet-ids
에 대한 자세한 내용은 VPS 및 서브넷을 참고하세요. -
RStudioPackageManagerUrl
및RStudioConnectUrl
은 선택 사항이며 각각 RStudio Package Manager 및 RStudio Connect 서버의 URL로 설정해야 합니다. -
app-network-access-type
은PublicInternetOnly
또는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-id
및subnet-ids
에 대한 자세한 내용은 VPS 및 서브넷을 참고하세요. -
RStudioPackageManagerUrl
및RStudioConnectUrl
은 선택 사항이며 각각 RStudio Package Manager 및 RStudio Connect 서버의 URL로 설정해야 합니다. -
auth-mode
은SSO
또는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-id
및subnet-ids
에 대한 자세한 내용은 VPC 및 서브넷을 참고하세요. -
SecurityGroups
는 Amazon SageMaker AI 및 AWS License Manager 엔드포인트에 대한 아웃바운드 액세스를 허용해야 합니다. -
auth-mode
은SSO
또는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할당량을 참조하세요.
도메인 생성 확인
다음 명령을 사용하여 도메인이 InService
의 Status
로 생성되었는지 확인합니다. domain-id
가 도메인 ARN에 추가됩니다. 예: arn:aws:sagemaker:
.<REGION>
:<ACCOUNT_ID>
:domain/<DOMAIN_ID>
aws sagemaker describe-domain --domain-id
<DOMAIN_ID>
--region<REGION>