1단계: 스튜디오 클래식에서 스튜디오로 UI 마이그레이션 - 아마존 SageMaker

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

1단계: 스튜디오 클래식에서 스튜디오로 UI 마이그레이션

기존 도메인을 마이그레이션하는 첫 번째 단계는 Amazon Studio Classic에서 Amazon SageMaker Studio로 UI를 마이그레이션하는 것입니다. SageMaker 이 단계에는 데이터 마이그레이션이 포함되지 않습니다. 사용자는 마이그레이션 전과 동일한 방식으로 데이터 작업을 계속할 수 있습니다. 데이터 마이그레이션에 대한 자세한 내용은 을 참조하십시오3단계: (선택 사항) 스튜디오 클래식에서 스튜디오로 데이터 마이그레이션.

1단계는 다음 단계로 구성됩니다.

  1. Studio에서 사용할 수 있는 새 애플리케이션에 대한 애플리케이션 생성 권한을 업데이트하십시오.

  2. 도메인의 VPC 구성을 업데이트합니다.

  3. Studio UI를 사용하려면 도메인을 업그레이드하세요.

사전 조건 

이 단계를 실행하기 전에 에서 사전 요구 사항을 완료하십시오. Studio 환경을 마이그레이션하기 위한 전체 사전 요구 사항

1단계: 애플리케이션 생성 권한 업데이트

도메인을 마이그레이션하기 전에 도메인의 실행 역할을 업데이트하여 사용자에게 애플리케이션을 만들 수 있는 권한을 부여하세요.

  1. IAM AWS Identity and Access Management 정책 생성의 단계에 따라 다음 내용 중 하나를 포함하는 정책을 생성하십시오.

    • 다음 정책을 사용하여 모든 애플리케이션 유형 및 공간에 권한을 부여하십시오.

      참고

      도메인이 SageMakerFullAccess 정책을 사용하는 경우 이 작업을 수행할 필요가 없습니다. SageMakerFullAccess모든 애플리케이션을 만들 수 있는 권한을 부여합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "SMStudioUserProfileAppPermissionsCreateAndDelete", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl" ], "Resource": "arn:aws:sagemaker:region:account-id:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, { "Sid": "SMStudioAppPermissionsListAndDescribe", "Effect": "Allow", "Action": [ "sagemaker:ListApps", "sagemaker:ListDomains", "sagemaker:ListUserProfiles", "sagemaker:ListSpaces", "sagemaker:DescribeApp", "sagemaker:DescribeDomain", "sagemaker:DescribeUserProfile", "sagemaker:DescribeSpace" ], "Resource": "*" }, { "Sid": "SMStudioAppPermissionsTagOnCreate", "Effect": "Allow", "Action": [ "sagemaker:AddTags" ], "Resource": "arn:aws:sagemaker:region:account-id:*/*", "Condition": { "Null": { "sagemaker:TaggingAction": "false" } } }, { "Sid": "SMStudioRestrictSharedSpacesWithoutOwners", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:region:account-id:space/${sagemaker:DomainId}/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioRestrictSpacesToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:region:account-id:space/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:account-id:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private", "Shared" ] } } }, { "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:account-id:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private" ] } } }, { "Sid": "AllowAppActionsForSharedSpaces", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:*:*:app/${sagemaker:DomainId}/*/*/*", "Condition": { "StringEquals": { "sagemaker:SpaceSharingType": [ "Shared" ] } } } ] }
    • Studio는 확장된 애플리케이션 세트를 보여주기 때문에 사용자는 이전에 표시되지 않은 애플리케이션에 액세스할 수 있습니다. 관리자는 특정 사용자에게 일부 애플리케이션에 대한 거부 권한을 부여하는 AWS Identity and Access Management (IAM) 정책을 만들어 이러한 기본 애플리케이션에 대한 액세스를 제한할 수 있습니다.

      참고

      애플리케이션 유형은 또는일 수 있습니다. jupyterlab codeeditor

      { "Version": "2012-10-17", "Statement": [ { "Sid": "DenySageMakerCreateAppForSpecificAppTypes", "Effect": "Deny", "Action": "sagemaker:CreateApp", "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/*/app-type/*" } ] }
  2. 정책을 도메인의 실행 역할에 연결합니다. 지침을 보려면 IAM 자격 증명 권한 추가 (콘솔) 의 단계를 따르십시오.

2단계: VPC 구성 업데이트

도메인을 VPC-Only 모드에서 사용하는 경우 VPC 구성이 Studio를 모드에서 VPC-Only 사용하기 위한 요구 사항을 충족하는지 확인하십시오. 자세한 정보는 Amazon SageMaker Studio를 VPC 외부 리소스에 연결을 참조하세요.

3단계: 스튜디오 UI로 업그레이드

Studio Classic에서 Studio로 기존 도메인을 마이그레이션하기 전에 Studio를 사용하여 기존 도메인과 동일한 구성의 테스트 도메인을 생성하는 것이 좋습니다.

기존 도메인을 마이그레이션하기 전에 이 테스트 도메인을 사용하여 Studio와 상호 작용하고, 네트워킹 구성을 테스트하고, 애플리케이션을 시작할 수 있습니다.

  1. 기존 도메인의 도메인 ID를 가져오세요.

    1. https://console.aws.amazon.com/sagemaker/ 에서 아마존 SageMaker 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 관리자 구성을 확장하고 도메인을 선택합니다.

    3. 기존 도메인을 선택합니다.

    4. 도메인 세부 정보 페이지에서 도메인 설정 탭을 선택합니다.

    5. 도메인 ID를 복사합니다.

  2. 기존 도메인의 도메인 ID를 추가합니다.

    export REF_DOMAIN_ID="domain-id" export SM_REGION="region"
  3. 기존 도메인에 대한 중요한 정보를 가져오는 데 사용합니다describe-domain.

    export REF_EXECROLE=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.DefaultUserSettings.ExecutionRole') export REF_VPC=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.VpcId') export REF_SIDS=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.SubnetIds | join(",")') export REF_SGS=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.DefaultUserSettings.SecurityGroups | join(",")') export AUTHMODE=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.AuthMode')
  4. 파라미터의 유효성을 검사합니다.

    echo "Execution Role: $REF_EXECROLE || VPCID: $REF_VPC || SubnetIDs: $REF_SIDS || Security GroupIDs: $REF_SGS || AuthMode: $AUTHMODE"
  5. 기존 도메인의 구성을 사용하여 테스트 도메인을 생성합니다.

    IFS=',' read -r -a subnet_ids <<< "$REF_SIDS" IFS=',' read -r -a security_groups <<< "$REF_SGS" security_groups_json=$(printf '%s\n' "${security_groups[@]}" | jq -R . | jq -s .) aws sagemaker create-domain \ --domain-name "TestV2Config" \ --vpc-id $REF_VPC \ --auth-mode $AUTHMODE \ --subnet-ids "${subnet_ids[@]}" \ --app-network-access-type VpcOnly \ --default-user-settings " { \"ExecutionRole\": \"$REF_EXECROLE\", \"StudioWebPortal\": \"ENABLED\", \"DefaultLandingUri\": \"studio::\", \"SecurityGroups\": $security_groups_json } "
  6. 테스트 도메인이 In Service 생성되면 테스트 도메인의 ID를 사용하여 사용자 프로필을 생성합니다. 이 사용자 프로필은 애플리케이션을 시작하고 테스트하는 데 사용됩니다.

    aws sagemaker create-user-profile \ --region="$SM_REGION" --domain-id=test-domain-id \ --user-profile-name test-network-user

테스트 스튜디오 기능

test-network-user사용자 프로필을 사용하여 테스트 도메인을 시작합니다. Studio UI를 철저히 테스트하고 VPCOnly 모드에서 Studio 기능을 테스트할 애플리케이션을 만드는 것이 좋습니다. 다음 워크플로를 테스트해 보세요.

  • 새 JupyterLab 스페이스, 테스트 환경 및 연결을 생성합니다.

  • Code-OS, Visual Studio Code - 오픈 소스 공간, 테스트 환경 및 연결을 기반으로 새 코드 편집기를 만드세요.

  • 새로운 Studio Classic 앱을 시작하고 환경을 테스트하고 연결을 테스트하세요.

  • 테스트 읽기 및 쓰기 작업으로 Amazon 심플 스토리지 서비스 연결을 테스트합니다.

테스트가 성공하면 기존 도메인을 업그레이드하십시오. 오류가 발생하는 경우 기존 도메인을 업데이트하기 전에 환경 및 연결 문제를 해결하는 것이 좋습니다.

테스트 도메인 리소스를 정리하세요.

기존 도메인을 마이그레이션한 후에는 테스트 도메인 리소스를 정리하세요.

  1. 테스트 도메인의 ID를 추가합니다.

    export TEST_DOMAIN="test-domain-id" export SM_REGION="region"
  2. 도메인에서 실행 중인 모든 애플리케이션을 나열합니다.

    active_apps_json=$(aws sagemaker list-apps --region=$SM_REGION --domain-id=$TEST_DOMAIN) echo $active_apps_json
  3. 실행 중인 애플리케이션의 JSON 목록을 구문 분석하고 삭제합니다. 사용자가 권한이 없는 애플리케이션을 만들려고 시도한 경우 다음 스크립트에서 캡처되지 않은 공백이 있을 수 있습니다. 이러한 스페이스는 수동으로 삭제해야 합니다.

    echo "$active_apps_json" | jq -c '.Apps[]' | while read -r app; do if echo "$app" | jq -e '. | has("SpaceName")' > /dev/null; then app_type=$(echo "$app" | jq -r '.AppType') app_name=$(echo "$app" | jq -r '.AppName') domain_id=$(echo "$app" | jq -r '.DomainId') space_name=$(echo "$app" | jq -r '.SpaceName') echo "Deleting App - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || SpaceName: $space_name" aws sagemaker delete-app --region=$SM_REGION --domain-id=$domain_id \ --app-type $app_type --app-name $app_name --space-name $space_name echo "Deleting Space - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || SpaceName: $space_name" aws sagemaker delete-space --region=$SM_REGION --domain-id=$domain_id \ --space-name $space_name else app_type=$(echo "$app" | jq -r '.AppType') app_name=$(echo "$app" | jq -r '.AppName') domain_id=$(echo "$app" | jq -r '.DomainId') user_profile_name=$(echo "$app" | jq -r '.UserProfileName') echo "Deleting Studio Classic - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || UserProfileName: $user_profile_name" aws sagemaker delete-app --region=$SM_REGION --domain-id=$domain_id \ --app-type $app_type --app-name $app_name --user-profile-name $user_profile_name fi done
  4. 테스트 사용자 프로필을 삭제합니다.

    aws sagemaker delete-user-profile \ --region=$SM_REGION --domain-id=$TEST_DOMAIN \ --user-profile-name "test-network-user"
  5. 테스트 도메인을 삭제합니다.

    aws sagemaker delete-domain \ --region=$SM_REGION --domain-id=$TEST_DOMAIN

테스트 도메인의 구성으로 Studio 기능을 테스트한 후 기존 도메인을 마이그레이션하십시오. Studio가 도메인의 기본 환경인 경우 Studio는 도메인의 모든 사용자에게 적용되는 기본 환경입니다. 하지만 사용자 설정이 도메인 설정보다 우선합니다. 따라서 사용자의 사용자 설정에서 기본 환경을 Studio Classic으로 설정한 경우 해당 사용자는 Studio Classic을 기본 환경으로 사용하게 됩니다.

SageMaker 콘솔 AWS CLI, 또는 에서 업데이트하여 기존 도메인을 마이그레이션할 수 AWS CloudFormation있습니다. 다음 탭 중 하나를 선택하여 관련 지침을 확인하십시오.

SageMaker 콘솔을 사용하여 Studio를 기존 도메인의 기본 환경으로 설정할 수 있습니다.

  1. https://console.aws.amazon.com/sagemaker/ 에서 아마존 SageMaker 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 관리 구성을 확장하고 도메인을 선택합니다.

  3. Studio를 기본 환경으로 활성화하려는 기존 도메인을 선택합니다.

  4. 도메인 세부정보 페이지에서 새 Studio 활성화를 확장합니다.

  5. (선택 사항) Studio를 기본 환경으로 활성화하는 데 관련된 단계에 대한 세부 정보를 보려면 세부 정보 보기를 선택합니다. 페이지에는 다음이 표시됩니다.

    • SageMaker Studio Overview 섹션에서는 Studio 웹 기반 인터페이스에 포함되거나 사용 가능한 애플리케이션을 볼 수 있습니다.

    • 활성화 프로세스 섹션에서 Studio를 활성화하기 위한 워크플로우 작업에 대한 설명을 볼 수 있습니다.

      참고

      데이터를 수동으로 마이그레이션해야 합니다. 데이터 마이그레이션에 대한 지침은 을 참조하십시오3단계: (선택 사항) 스튜디오 클래식에서 스튜디오로 데이터 마이그레이션.

    • Studio Classic으로 되돌리기 경험 섹션에서 Studio를 기본 환경으로 활성화한 후 Studio Classic으로 되돌리는 방법을 확인할 수 있습니다.

  6. Studio를 기본 환경으로 활성화하는 프로세스를 시작하려면 [새 Studio 활성화] 를 선택합니다.

  7. 역할 지정 및 구성 섹션에서 Studio에 자동으로 포함되는 기본 애플리케이션을 볼 수 있습니다.

    사용자가 이러한 애플리케이션을 실행하지 못하게 하려면 액세스를 거부하는 IAM 정책이 있는 AWS Identity and Access Management (IAM) 역할을 선택하십시오. 액세스를 제한하는 정책을 만드는 방법에 대한 자세한 내용은 을 참조하십시오. 1단계: 애플리케이션 생성 권한 업데이트

  8. CORS 정책을 연결할 기본 S3 버킷 선택 섹션에서 스튜디오에 Amazon S3 버킷에 대한 액세스 권한을 부여할 수 있습니다. 이 경우 기본 Amazon S3 버킷은 스튜디오 클래식의 기본 Amazon S3 버킷입니다. 이 단계에서 다음을 수행할 수 있습니다.

    • CORS 정책을 연결할 도메인의 기본 Amazon S3 버킷을 확인합니다. 도메인에 기본 Amazon S3 버킷이 없는 경우, 올바른 CORS 정책이 첨부된 Amazon S3 버킷을 SageMaker 생성합니다.

    • CORS 정책을 연결할 Amazon S3 버킷 10개를 추가로 포함할 수 있습니다.

      10개 이상의 버킷을 포함하려는 경우 수동으로 추가할 수 있습니다. CORS 정책을 Amazon S3 버킷에 수동으로 연결하는 방법에 대한 자세한 내용은 을 참조하십시오. (선택 사항) Amazon S3 버킷에 액세스하도록 CORS 정책을 업데이트하십시오.

    계속하려면 선택한 Amazon S3 버킷의 기존 CORS 정책을 재정의하는 데 동의하십니까? 옆의 확인란을 선택합니다. .

  9. 데이터 마이그레이션 섹션에는 Studio Classic과 Studio의 다양한 데이터 스토리지 볼륨에 대한 정보가 포함되어 있습니다. 이 프로세스를 통해 데이터가 자동으로 마이그레이션되지는 않습니다. 데이터 마이그레이션, 수명 주기 구성 및 JupyterLab 확장에 대한 지침은 을 참조하십시오. 3단계: (선택 사항) 스튜디오 클래식에서 스튜디오로 데이터 마이그레이션

  10. 페이지에서 작업을 완료하고 구성을 확인한 후 새 Studio 활성화를 선택합니다.

를 사용하여 Studio를 기존 도메인의 기본 환경으로 설정하려면 update-domain 호출을 사용하십시오. AWS CLI매개 변수의 값으로 설정하고 ENABLED 매개 StudioWebPortal 변수의 DefaultLandingUri 일부로 값으로 studio:: 설정해야 합니다. default-user-settings  

StudioWebPortalStudio 경험이 기본 환경인지 여부를 나타내며 도메인에 액세스할 때 사용자에게 전달되는 기본 환경을 DefaultLandingUri 나타냅니다. 이 예제에서 이러한 값을 도메인 수준 (indefault-user-settings) 으로 설정하면 Studio가 도메인 내 사용자를 위한 기본 환경이 됩니다.

도메인 내 사용자가 사용자 수준 (inUserSettings) 으로 DefaultLandingUri app:JupyterServer: 설정 DISABLED 및 설정된 경우 이 설정이 도메인 설정보다 우선합니다. StudioWebPortal 즉, 해당 사용자는 도메인 설정과 상관없이 Studio Classic을 기본 환경으로 사용하게 됩니다.

다음 코드 예제는 Studio를 도메인 내 사용자를 위한 기본 환경으로 설정하는 방법을 보여줍니다.

aws sagemaker update-domain \ --domain-id existing-domain-id \ --region AWS 리전 \ --default-user-settings ' { "StudioWebPortal": "ENABLED", "DefaultLandingUri": "studio::" } '
  • existing-domain-id구입하려면 다음 지침을 따르십시오.

    받으려면 existing-domain-id
    1. https://console.aws.amazon.com/sagemaker/ 에서 아마존 SageMaker 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 관리자 구성을 확장하고 도메인을 선택합니다.

    3. 기존 도메인을 선택합니다.

    4. 도메인 세부 정보 페이지에서 도메인 설정 탭을 선택합니다.

    5. 도메인 ID를 복사합니다.

  • 도메인에 AWS 리전 맞는 도메인을 사용하고 있는지 확인하려면 다음 지침을 따르세요.

    받으려면 AWS 리전
    1. https://console.aws.amazon.com/sagemaker/ 에서 아마존 SageMaker 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 관리자 구성을 확장하고 도메인을 선택합니다.

    3. 기존 도메인을 선택합니다.

    4. 도메인 세부정보 페이지에서 이 도메인이 기존 도메인인지 확인합니다.

    5. SageMaker콘솔 오른쪽 상단의 AWS 리전 드롭다운 목록을 펼치고 AWS 리전 이름 오른쪽에 있는 해당 AWS 리전 ID를 사용합니다. 예를 들어 us-west-1입니다.

기본 환경을 Studio로 마이그레이션한 후 Studio에 Amazon S3 버킷에 대한 액세스 권한을 부여할 수 있습니다. 예를 들어 스튜디오 클래식 기본 Amazon S3 버킷 및 추가 Amazon S3 버킷에 대한 액세스 권한을 포함할 수 있습니다. 이렇게 하려면 원본 간 리소스 공유 (CORS) 구성을 Amazon S3 버킷에 수동으로 연결해야 합니다. CORS 정책을 Amazon S3 버킷에 수동으로 연결하는 방법에 대한 자세한 내용은 을 참조하십시오. (선택 사항) Amazon S3 버킷에 액세스하도록 CORS 정책을 업데이트하십시오.

마찬가지로 create-domain 호출을 AWS CLI 사용하여 도메인을 생성할 때 Studio를 기본 환경으로 설정할 수 있습니다. 

를 사용하여 도메인을 생성할 때 기본 환경을 설정할 수 AWS CloudFormation있습니다. AWS CloudFormation 마이그레이션 템플릿은 SageMaker Studio 관리자 IaC 템플릿을 참조하십시오. 를 사용하여 도메인을 생성하는 방법에 대한 자세한 내용은 다음을 사용하여 AWS CloudFormationAmazon SageMaker 도메인 생성을 참조하십시오 AWS CloudFormation.

에서 지원하는 AWS CloudFormation도메인 리소스에 대한 자세한 내용은 AWS::SageMaker: :도메인을 참조하십시오.

기본 환경을 Studio로 마이그레이션한 후 Studio에 Amazon S3 버킷에 대한 액세스 권한을 부여할 수 있습니다. 예를 들어 스튜디오 클래식 기본 Amazon S3 버킷 및 추가 Amazon S3 버킷에 대한 액세스 권한을 포함할 수 있습니다. 이렇게 하려면 원본 간 리소스 공유 (CORS) 구성을 Amazon S3 버킷에 수동으로 연결해야 합니다. CORS 정책을 Amazon S3 버킷에 수동으로 연결하는 방법에 대한 자세한 내용은 을 참조하십시오. (선택 사항) Amazon S3 버킷에 액세스하도록 CORS 정책을 업데이트하십시오.

스튜디오 클래식에서는 사용자가 Amazon Simple Storage Service (Amazon S3) 버킷을 만들고, 나열하고, 파일을 업로드할 수 있습니다. Studio에서 동일한 환경을 지원하려면 관리자가 Amazon S3 버킷에 CORS (출처 간 리소스 공유) 구성을 연결해야 합니다. 이는 Studio가 인터넷 브라우저에서 Amazon S3를 호출하기 때문에 필요합니다. 브라우저는 사용자를 대신하여 CORS를 호출합니다. 따라서 CORS 정책이 Amazon S3 버킷에 연결되어 있지 않으면 Amazon S3 버킷에 대한 모든 요청이 실패합니다.

다음과 같은 이유로 Amazon S3 버킷에 CORS 정책을 수동으로 연결해야 할 수 있습니다.

  • 기존 도메인의 기본 환경을 Studio로 마이그레이션할 때 올바른 CORS 정책이 연결되지 않은 기존 Amazon S3 기본 버킷이 이미 있는 경우

  • 를 사용하여 기존 도메인의 기본 환경을 Studio로 마이그레이션하는 경우 AWS CLI 를 사용하여 AWS CLI 마이그레이션하는 방법에 대한 자세한 내용은 을 참조하십시오다음을 사용하여 Studio를 기존 도메인의 기본 환경으로 설정합니다. AWS CLI.

  • CORS 정책을 추가 Amazon S3 버킷에 연결하려는 경우

참고

SageMaker 콘솔을 사용하여 Studio를 기본 환경으로 활성화하려는 경우, CORS 정책을 연결하는 Amazon S3 버킷은 마이그레이션 중에 기존 CORS 정책이 재정의됩니다. 이러한 이유로 다음 수동 지침은 무시해도 됩니다.

하지만 이미 SageMaker 콘솔을 사용하여 마이그레이션했고 CORS 정책을 연결할 Amazon S3 버킷을 더 포함하려면 다음 수동 지침을 계속 따르십시오.

다음 절차는 Amazon S3 버킷에 CORS 구성을 수동으로 추가하는 방법을 보여줍니다.

Amazon S3 버킷에 CORS 구성을 추가하려면
  1. 기존 도메인과 AWS 리전 동일한 위치에 다음 이름을 가진 Amazon S3 버킷이 있는지 확인합니다. 지침은 Amazon S3 버킷의 속성 보기를 참조하십시오.

    sagemaker-region-account-id
  2. 다음 콘텐츠가 포함된 CORS 구성을 기본 Amazon S3 버킷에 추가합니다. 지침은 CORS (크로스 오리진 리소스 공유) 구성을 참조하십시오.

    [ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "POST", "PUT", "GET", "HEAD", "DELETE" ], "AllowedOrigins": [ "https://*.sagemaker.aws" ], "ExposeHeaders": [ "ETag", "x-amz-delete-marker", "x-amz-id-2", "x-amz-request-id", "x-amz-server-side-encryption", "x-amz-version-id" ] } ]

Amazon SageMaker Data Wrangler는 스튜디오 클래식 환경에서 자체 기능으로 제공됩니다. Studio를 기본 환경으로 활성화하면 Amazon SageMaker Canvas 애플리케이션을 사용하여 데이터 랭글러 기능에 액세스할 수 있습니다. SageMaker Canvas는 코드를 작성하지 않고도 기계 학습 모델을 학습 및 배포할 수 있는 애플리케이션이며, Canvas는 Data Wrangler에서 제공하는 데이터 준비 기능을 제공합니다.

새로운 스튜디오 환경은 기존 데이터 랭글러 UI를 지원하지 않으므로 데이터 랭글러를 계속 사용하려면 Canvas 애플리케이션을 만들어야 합니다. 하지만 Canvas 애플리케이션을 만들고 사용하려면 필요한 권한이 있어야 합니다.

다음 단계를 완료하여 SageMaker 도메인 또는 사용자의 AWS IAM 역할에 필요한 권한 정책을 추가하세요.

캔버스 내에서 데이터 랭글러 기능에 대한 권한을 부여하려면
  1. AWS 관리형 정책을 AmazonSageMakerFullAccess사용자의 IAM 역할에 연결합니다. IAM 정책을 역할에 연결하는 방법을 보여주는 절차는 IAM 사용 설명서의 IAM 자격 증명 권한 추가 (콘솔) 를AWS 참조하십시오.

    이 권한 정책이 사용 사례에 비해 너무 관대한 경우 최소한 다음 권한을 포함하는 범위 축소 정책을 생성할 수 있습니다.

    { "Sid": "AllowStudioActions", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeDomain", "sagemaker:ListDomains", "sagemaker:DescribeUserProfile", "sagemaker:ListUserProfiles", "sagemaker:DescribeSpace", "sagemaker:ListSpaces", "sagemaker:DescribeApp", "sagemaker:ListApps" ], "Resource": "*" }, { "Sid": "AllowAppActionsForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/canvas/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }
  2. AWS 관리형 정책을 사용자의 IAM AmazonSageMakerCanvasDataPrepFullAccess역할에 연결합니다.

필요한 권한을 추가한 후 Canvas 애플리케이션을 만들고 로그인할 수 있습니다. 자세한 정보는 아마존 SageMaker 캔버스 사용 시작하기을 참조하세요.

Canvas에 로그인하면 데이터 랭글러에 직접 액세스하여 데이터 흐름 생성을 시작할 수 있습니다. 자세한 내용은 Canvas 데이터 준비 설명서를 참조하십시오.

Amazon SageMaker 오토파일럿은 스튜디오 클래식 환경에서 자체 기능으로 제공됩니다. 업데이트된 Studio 환경으로 마이그레이션할 때는 Amazon SageMaker Canvas 애플리케이션을 사용하여 사용자 인터페이스 (UI) 를 통해 동일한 자동 기계 학습 (AutoML) 기능을 계속 사용하십시오. SageMaker Canvas는 코드를 작성하지 않고도 기계 학습 모델을 학습하고 배포할 수 있는 애플리케이션이며, Canvas는 AutoML 작업을 실행할 수 있는 UI를 제공합니다.

새로운 Studio 환경은 클래식 오토파일럿 UI를 지원하지 않습니다. UI를 통해 오토파일럿의 AutoML 기능을 계속 사용하려면 Canvas 애플리케이션을 만들어야 합니다.

하지만 Canvas 애플리케이션을 만들고 사용하려면 필요한 권한이 있어야 합니다.

  • Studio에서 SageMaker Canvas에 액세스하는 경우 해당 권한을 SageMaker 도메인 또는 사용자 프로필의 실행 역할에 추가하십시오.

  • 콘솔에서 SageMaker Canvas에 액세스하는 경우 해당 권한을 사용자의 AWS IAM 역할에 추가하십시오.

  • 미리 서명된 URL을 통해 SageMaker Canvas에 액세스하는 경우 Okta SSO 액세스에 사용하는 IAM 역할에 해당 권한을 추가하세요.

Canvas에서 AutoML 기능을 활성화하려면 실행 역할 또는 IAM 사용자 역할에 다음 정책을 추가하십시오.

  • AWS 관리형 정책:. CanvasFullAccess

  • 인라인 정책:

    { "Sid": "AllowAppActionsForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/canvas/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }
IAM 정책을 실행 역할에 연결하는 방법
  1. SageMaker 사용자 프로필에 첨부된 실행 역할을 찾아보세요.
    1. SageMaker https://console.aws.amazon.com/sagemaker/콘솔에서 도메인으로 이동한 다음 SageMaker 도메인을 선택합니다.

    2. 실행 역할 ARN은 사용자 프로필의 사용자 세부 정보 페이지에 있는 실행 역할 아래에 나열되어 있습니다. ARN에 있는 실행 역할 이름을 기록해 둡니다.

    3. IAM 콘솔 https://console.aws.amazon.com/iam/ 에서 역할을 선택합니다.

    4. 검색 필드에서 이름을 기준으로 역할을 검색합니다.

    5. 역할을 선택합니다.

  2. 역할에 정책을 추가합니다.

    1. IAM 콘솔 https://console.aws.amazon.com/iam/ 에서 역할을 선택합니다.

    2. 검색 필드에서 이름을 기준으로 역할을 검색합니다.

    3. 역할을 선택합니다.

    4. 권한 탭에서 권한 추가 드롭다운 메뉴로 이동합니다.

      • 관리형 정책의 경우: 정책 연결을 선택하고 연결하려는 관리 정책의 이름을 검색합니다.

        정책을 선택한 다음 권한 추가를 선택합니다.

      • 인라인 정책의 경우: 인라인 정책 생성을 선택하고 JSON 탭에 정책을 붙여넣고 다음을 선택하고 정책 이름을 지정한 후 생성을 선택합니다.

IAM 정책을 역할에 연결하는 방법을 보여주는 절차는 IAM 사용 설명서의 IAM 자격 증명 권한 추가 (콘솔) 를 참조하십시오.AWS

필요한 권한을 추가한 후 Canvas 애플리케이션을 생성하고 로그인할 수 있습니다. 자세한 정보는 아마존 SageMaker 캔버스 사용 시작하기을 참조하세요.

Studio Classic을 기본 환경으로 설정합니다.

관리자는 도메인을 업데이트하여 Studio Classic을 기존 도메인의 기본 환경으로 되돌릴 수 있습니다. 이 작업은 SageMaker 콘솔이나 를 통해 수행할 수 있습니다. AWS CLI다음 탭 중 하나를 선택하여 관련 지침을 확인하십시오.

Studio Classic이 도메인의 기본 환경인 경우 Studio Classic은 도메인의 모든 사용자에게 적용되는 기본 환경입니다. 하지만 사용자 설정이 도메인 설정보다 우선합니다. 따라서 사용자의 기본 경험이 Studio로 설정된 경우 해당 사용자는 Studio를 기본 환경으로 사용하게 됩니다.

참고

제한된 기간 동안 Studio Classic을 기본 UI로 계속 사용해야 하는 경우 랜딩 환경을 Studio Classic으로 명시적으로 설정하십시오. 이렇게 하려면 의 단계를 완료하세요. 를 사용하여 기본 환경을 AWS CLI Studio Classic으로 되돌릴 수 있습니다. 사용자 또는 도메인 수준에서 이 작업을 수행할 수 있습니다.

SageMaker 콘솔을 사용하여 Studio Classic을 기본 환경으로 되돌리려면 다음 지침을 사용하십시오.

  1. https://console.aws.amazon.com/sagemaker/ 에서 아마존 SageMaker 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 관리 구성을 확장하고 도메인을 선택합니다.

  3. 되돌릴 기존 도메인을 선택합니다.

  4. 도메인 설정 탭을 선택합니다.

  5. 도메인 세부 정보 페이지에서 Studio Classic 환경으로 되돌리기 섹션으로 이동합니다.

  6. Studio Classic으로 되돌리기 경험 섹션에서 Studio Classic으로 되돌리기 프로세스를 선택합니다. 그러면 도메인을 스튜디오 클래식으로 되돌리기 페이지로 이동합니다.

  7. 도메인을 스튜디오 클래식으로 되돌리기 페이지에서 다음 작업을 완료하고 해당 상자를 선택합니다. 기존 도메인의 기본 환경을 Studio Classic으로 되돌리기 전에 다음 작업을 수행하십시오.

    1. 1단계 - 데이터 백업에는 Studio Classic과 Studio의 다양한 데이터 스토리지 볼륨에 대한 정보가 포함되어 있습니다. 이 프로세스를 통해 데이터는 자동으로 마이그레이션되지 않습니다. 데이터 마이그레이션, 수명 주기 구성 및 JupyterLab 확장에 대한 지침은 을 참조하십시오. 3단계: (선택 사항) 스튜디오 클래식에서 스튜디오로 데이터 마이그레이션

    2. Studio에서 코드 편집기 응용 프로그램을 모두 JupyterLab 삭제하면 추가 비용이 발생하지 않도록 Studio 응용 프로그램을 삭제하라는 알림이 표시됩니다. 기존 도메인을 Studio Classic으로 되돌린 후 애플리케이션과 스페이스를 삭제할 수 있으므로 이 단계는 필수 단계가 아닙니다. 추가 비용이 발생하지 않도록 사용하지 않는 애플리케이션과 스페이스를 삭제하는 것이 좋습니다.

      도메인에서 애플리케이션 및 스페이스를 삭제하는 방법에 대한 지침은 을 참조하십시오Studio 실행 인스턴스, 애플리케이션 및 스페이스를 삭제하거나 중지합니다..

    3. 3단계 - 이 도메인을 Studio Classic으로 되돌릴 것인지 확인하면 기존 도메인의 기본 환경을 Studio Classic으로 되돌릴 것인지 확인하라는 메시지가 표시됩니다.

    4. 피드백 제공은 기존 도메인을 Studio Classic으로 되돌리는 이유에 대한 피드백을 남길 수 있는 옵션을 제공합니다.

  8. 모든 단계를 완료하고 확인란이 채워지면 도메인을 Studio Classic으로 되돌리기 버튼을 사용할 수 있게 됩니다.

  9. 페이지의 작업을 완료하고 변경 사항을 확인한 후 도메인을 Studio Classic으로 되돌리기를 선택하여 기존 도메인을 되돌립니다.

를 사용하여 기존 도메인의 기본 환경으로 Studio Classic으로 되돌리려면 업데이트 도메인 호출을 사용하십시오. AWS CLI파라미터의 DISABLED DefaultLandingUri 일부로 의 값과 의 값을 설정해야 합니다. StudioWebPortal app:JupyterServer: default-user-settings  

StudioWebPortalStudio 경험이 기본 환경인지 여부를 나타내며 도메인에 액세스할 때 사용자에게 전달되는 기본 환경을 DefaultLandingUri 나타냅니다. 이 예제에서 이러한 값을 도메인 수준 (indefault-user-settings) 으로 설정하면 Studio Classic이 도메인 내 사용자를 위한 기본 환경이 됩니다.

도메인 내 사용자가 사용자 수준 (inUserSettings) 으로 DefaultLandingUri studio:: 설정 ENABLED 및 설정된 경우 이 설정이 도메인 설정보다 우선합니다. StudioWebPortal 즉, 해당 사용자는 도메인 설정과 상관없이 Studio를 기본 환경으로 사용하게 됩니다.

다음 코드 예제는 Studio Classic을 도메인 내 사용자를 위한 기본 환경으로 설정하는 방법을 보여줍니다.

aws sagemaker update-domain \ --domain-id existing-domain-id \ --region AWS 리전 \ --default-user-settings ' { "StudioWebPortal": "DISABLED", "DefaultLandingUri": "app:JupyterServer:" } '
  • existing-domain-id구입하려면 다음 지침을 따르십시오.

    받으려면 existing-domain-id
    1. https://console.aws.amazon.com/sagemaker/ 에서 아마존 SageMaker 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 관리자 구성을 확장하고 도메인을 선택합니다.

    3. 기존 도메인을 선택합니다.

    4. 도메인 세부 정보 페이지에서 도메인 설정 탭을 선택합니다.

    5. 도메인 ID를 복사합니다.

  • 도메인을 받으려면 다음 지침에 따라 도메인에 AWS 리전 맞는 도메인을 사용하고 있는지 확인하세요. AWS 리전

    받으려면 AWS 리전
    1. https://console.aws.amazon.com/sagemaker/ 에서 아마존 SageMaker 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 관리자 구성을 확장하고 도메인을 선택합니다.

    3. 기존 도메인을 선택합니다.

    4. 도메인 세부정보 페이지에서 이 도메인이 기존 도메인인지 확인합니다.

    5. SageMaker콘솔 오른쪽 상단의 AWS 리전 드롭다운 목록을 펼치고 AWS 리전 이름 오른쪽에 있는 해당 AWS 리전 ID를 사용합니다. 예를 들어 us-west-1입니다.