사용자 지정 RStudio 이미지 만들기 - Amazon SageMaker AI

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

사용자 지정 RStudio 이미지 만들기

중요

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에 대한 관리형 정책에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

이 주제에서는 SageMaker AI 콘솔 및를 사용하여 사용자 지정 RStudio 이미지를 생성하는 방법을 설명합니다 AWS CLI. 를 사용하는 경우 로컬 시스템에서 단계를 실행 AWS CLI해야 합니다. Amazon SageMaker Studio Classic에서는 다음 단계를 수행할 수 없습니다.

이미지를 생성할 때 SageMaker AI는 초기 이미지 버전도 생성합니다. 이 이미지 버전은 Amazon Elastic Container Registry(ECR)에 있는 컨테이너 이미지를 나타냅니다. 컨테이너 이미지는 RStudio에서 사용하기 위한 요구 사항을 충족해야 합니다. 자세한 내용은 사용자 지정 RStudio 이미지 사양 섹션을 참조하세요.

이미지를 로컬에서 테스트하고 일반적인 문제를 해결하는 방법에 대한 정보는 SageMaker Studio 사용자 지정 이미지 샘플 리포지토리를 참고하세요.

Amazon ECR에 SageMaker AI 호환 RStudio Docker 컨테이너 이미지 추가

다음 단계를 사용하여 Amazon ECR에 Docker 컨테이너 이미지를 추가하세요.

  • Amazon ECR 리포지토리를 생성합니다.

  • Amazon ECR에 인증합니다.

  • SageMaker AI 호환 RStudio Docker 이미지를 빌드합니다.

  • Amazon ECR 리포지토리에 이미지를 푸시합니다.

참고

Amazon ECR 리포지토리는 도메인 AWS 리전 과 동일한에 있어야 합니다.

Amazon ECR에 Docker 이미지를 생성 및 추가하려면
  1. AWS CLI를 사용하여 Amazon ECR 리포지토리를 생성합니다. Amazon ECR 콘솔을 사용하여 리포지토리를 생성하려면 리포지토리 생성을 참고하세요.

    aws ecr create-repository \ --repository-name rstudio-custom \ --image-scanning-configuration scanOnPush=true

    응답:

    { "repository": { "repositoryArn": "arn:aws:ecr:us-east-2:acct-id:repository/rstudio-custom", "registryId": "acct-id", "repositoryName": "rstudio-custom", "repositoryUri": "acct-id.dkr.ecr.us-east-2.amazonaws.com/rstudio-custom", ... } }
  2. create-repository 명령의 응답으로 반환된 리포지토리 URI를 사용하여 Amazon ECR에 인증하세요. Docker 애플리케이션이 실행 중인지 확인합니다. 자세한 내용은 레지스트리 인증을 참고하세요.

    aws ecr get-login-password | \ docker login --username AWS --password-stdin <repository-uri>

    응답:

    Login Succeeded
  3. Docker 이미지를 구축합니다. Dockerfile이 들어 있는 디렉터리에서 다음 명령을 실행합니다.

    docker build .
  4. 구축 이미지에 고유한 태그를 지정합니다.

    docker tag <image-id> "<repository-uri>:<tag>"
  5. Amazon ECR 리포지토리에 컨테이너 이미지를 푸시합니다. 자세한 내용은 ImagePush이미지 푸시를 참고하세요.

    docker push <repository-uri>:<tag>

    응답:

    The push refers to repository [<account-id>.dkr.ecr.us-east-2.amazonaws.com/rstudio-custom] r: digest: <digest> size: 3066

콘솔에서 SageMaker 이미지 만들기

이미지 생성
  1. https://console.aws.amazon.com/sagemaker/ Amazon SageMaker AI 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 관리자 구성을 선택합니다.

  3. 관리자 구성에서 이미지를 선택합니다.

  4. 사용자 지정 이미지 페이지에서 이미지 생성을 선택합니다.

  5. 이미지 소스의 경우 Amazon ECR에 있는 컨테이너 이미지의 레지스트리 경로를 입력합니다. 경로는 다음 형식입니다.

    acct-id.dkr.ecr.region.amazonaws.com/repo-name[:tag] or [@digest]

  6. 다음을 선택합니다.

  7. 이미지 속성에 다음을 입력합니다.

    • 이미지 이름 - 이 이름은 현재 AWS 리전에서 사용자의 계정에 대해 고유한 것이어야 합니다.

    • (선택 사항) 이미지 표시 이름 - 도메인 사용자 인터페이스에 표시되는 이름입니다. 입력하지 않으면 Image name이 표시됩니다.

    • (선택 사항) 설명 - 이미지에 대한 설명입니다.

    • IAM 역할 - 역할에는 AmazonSageMakerFullAccess 정책이 연결되어야 합니다. 드롭다운 메뉴에서 다음 옵션 중 하나를 선택합니다.

      • 새 역할 생성 - 노트북 사용자가 액세스할 Amazon Simple Storage Service(S3) 버킷을 추가로 지정합니다. 더 많은 버킷에 대한 액세스 권한을 허용하지 않으려면 없음을 선택합니다.

        SageMaker AI는 AmazonSageMakerFullAccess 정책을 역할에 연결합니다. 이 역할을 통해 노트북 사용자는 확인 표시 옆에 나열된 Amazon S3 버킷에 액세스할 수 있습니다.

      • 사용자 지정 IAM 역할 ARN 입력 – IAM 역할의 Amazon 리소스 이름(ARN)을 입력합니다.

      • 기존 역할 사용 - 목록에서 기존 역할 중 하나를 선택합니다.

    • (선택 사항) 이미지 태그 - 새 태그 추가를 선택합니다. 최대 50개의 태그를 추가할 수 있습니다. 태그는 SageMaker AI 콘솔 또는 SageMaker AI Search API를 사용하여 검색할 수 있습니다.

  8. 이미지 유형에서 RStudio 이미지를 선택합니다.

  9. 제출을 선택합니다.

새 이미지가 사용자 지정 이미지 목록에 표시되고 짧게 강조 표시됩니다. 이미지를 성공적으로 만든 후 이미지 이름을 선택하여 속성을 보거나 버전 생성을 선택하여 다른 버전을 만들 수 있습니다.

다른 이미지 버전을 만들려면
  1. 이미지와 같은 행에서 버전 생성을 선택합니다.

  2. 이미지 소스에는 Amazon ECR 이미지의 레지스트리 경로를 입력합니다. 이미지는 이전 버전의 SageMaker AI 이미지에 사용된 이미지와 동일해서는 안 됩니다.

RStudio에서 사용자 지정 이미지를 사용하려면 먼저 사용자 지정 이미지를 도메인에 첨부해야 합니다. 자세한 내용은 사용자 지정 SageMaker 이미지 첨부 단원을 참조하십시오.

에서 이미지 생성 AWS CLI

이 섹션에서는 AWS CLI를 사용하여 사용자 지정 Amazon SageMaker 이미지를 생성하는 방법을 보여줍니다.

다음 단계에 따라 SageMaker 이미지를 생성합니다.

  • Image를 생성합니다.

  • ImageVersion를 생성합니다.

  • 구성 파일을 생성합니다.

  • AppImageConfig를 생성합니다.

SageMaker 이미지 엔티티를 만들려면
  1. SageMaker 이미지를 생성합니다. 역할 ARN에는 최소한 AmazonSageMakerFullAccessPolicy 정책이 첨부되어 있어야 합니다.

    aws sagemaker create-image \ --image-name rstudio-custom-image \ --role-arn arn:aws:iam::<acct-id>:role/service-role/<execution-role>

    응답:

    { "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/rstudio-custom-image" }
  2. 이미지에서 SageMaker 이미지 버전을 생성합니다. 이미지를 Amazon ECR로 푸시할 때 선택한 고유 태그 값을 전달합니다.

    aws sagemaker create-image-version \ --image-name rstudio-custom-image \ --base-image <repository-uri>:<tag>

    응답:

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/rstudio-image/1" }
  3. 이미지 버전이 성공적으로 생성되었는지 확인합니다.

    aws sagemaker describe-image-version \ --image-name rstudio-custom-image \ --version 1

    응답:

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/rstudio-custom-image/1", "ImageVersionStatus": "CREATED" }
    참고

    응답이 "ImageVersionStatus": "CREATED_FAILED" 인 경우 응답에는 실패 이유도 포함됩니다. 권한 문제는 실패의 일반적인 원인입니다. Amazon CloudWatch Logs를 확인할 수도 있습니다. 로그 그룹의 이름은 /aws/sagemaker/studio입니다. 로그 스트림의 이름은 $domainID/$userProfileName/KernelGateway/$appName입니다.

  4. 이름이 app-image-config-input.json인 구성 파일을 만듭니다. 앱 이미지 구성은 SageMaker 이미지를 Kernel Gateway 애플리케이션으로 실행하기 위한 구성에 사용됩니다.

    { "AppImageConfigName": "rstudio-custom-config" }
  5. 이전 단계에서 만든 파일을 사용하여 AppImageConfig를 생성합니다.

    aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json

    응답:

    { "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/r-image-config" }