커스텀 SageMaker 이미지 만들기 - 아마존 SageMaker

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

커스텀 SageMaker 이미지 만들기

중요

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

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

중요

2023년 11월 30일부터 이전 아마존 SageMaker 스튜디오 익스피리언스는 이제 아마존 SageMaker 스튜디오 클래식으로 명명되었습니다. 다음 섹션은 스튜디오 클래식 애플리케이션 사용에 대한 내용입니다. 업데이트된 Studio 환경 사용에 대한 자세한 내용은 을 참조하십시오아마존 SageMaker 스튜디오.

이 항목에서는 SageMaker 콘솔 또는 를 사용하여 사용자 지정 SageMaker 이미지를 만드는 방법에 대해 설명합니다 AWS CLI.

콘솔에서 이미지를 생성하면 초기 이미지 SageMaker 버전도 생성됩니다. 이미지 버전은 Amazon Elastic 컨테이너 레지스트리 (ECR) 의 컨테이너 이미지를 나타냅니다. 컨테이너 이미지는 Amazon SageMaker Studio Classic에서 사용하기 위한 요구 사항을 충족해야 합니다. 자세한 내용은 사용자 지정 SageMaker 이미지 사양 단원을 참조하십시오. 이미지를 로컬에서 테스트하고 일반적인 문제를 해결하는 방법에 대한 자세한 내용은 SageMaker Studio Classic 사용자 지정 이미지 샘플 리포지토리를 참조하십시오.

커스텀 SageMaker 이미지를 생성한 후에는 이를 도메인 또는 공유 공간에 연결해야 Studio Classic에서 사용할 수 있습니다. 자세한 내용은 사용자 지정 SageMaker 이미지 첨부 단원을 참조하십시오.

콘솔에서 SageMaker 이미지를 생성하세요.

다음 섹션에서는 SageMaker 콘솔에서 사용자 지정 SageMaker 이미지를 만드는 방법을 보여줍니다.

이미지를 생성하려면
  1. 에서 Amazon SageMaker 콘솔을 엽니다 https://console.aws.amazon.com/sagemaker/.

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

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

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

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

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

  6. 다음을 선택합니다.

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

    • 이미지 이름 - 이름은 현재 AWS 리전의 계정에 고유해야 합니다.

    • (선택 사항) 표시 이름 — Studio Classic 사용자 인터페이스에 표시되는 이름입니다. 입력하지 않은 경우 Image name가 표시됩니다.

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

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

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

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

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

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

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

  8. 제출을 선택합니다.

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

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

  2. 이미지 소스에 Amazon ECR 컨테이너 이미지의 레지스트리 경로를 입력합니다. 컨테이너 이미지는 이전 버전의 이미지에서 사용된 이미지와 동일하지 않아야 합니다. SageMaker

에서 SageMaker 이미지를 생성합니다. AWS CLI

를 사용하여 컨테이너 SageMaker 이미지에서 이미지를 만들려면 다음 단계를 수행합니다 AWS CLI.

  • Image를 생성합니다.

  • ImageVersion를 생성합니다.

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

  • AppImageConfig를 생성합니다.

SageMaker 이미지 엔티티를 만들려면
  1. SageMaker 이미지 만들기.

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

    응답은 다음과 유사하게 보여야 합니다.

    { "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/custom-image" }
  2. 컨테이너 SageMaker 이미지로 이미지 버전을 생성합니다.

    aws sagemaker create-image-version \ --image-name custom-image \ --base-image <acct-id>.dkr.ecr.<region>.amazonaws.com/smstudio-custom:custom-image

    응답은 다음과 유사하게 보여야 합니다.

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

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

    응답은 다음과 유사하게 보여야 합니다.

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

    응답이 "ImageVersionStatus": "CREATED_FAILED"인 경우 응답에는 실패 이유도 포함됩니다. 권한 문제는 실패의 일반적인 원인입니다. 또한 사용자 지정 이미지용 KernelGateway 앱을 시작하거나 실행할 때 오류가 발생하는 경우 Amazon CloudWatch 로그를 확인할 수 있습니다. 로그 그룹의 이름은 /aws/sagemaker/studio입니다. 로그 스트림의 이름은 $domainID/$userProfileName/KernelGateway/$appName입니다.

  4. 구성 파일을 만들고 이름을 app-image-config-input.json로 지정합니다. 의 Name 값은 이와 관련된 이미지에서 kernelSpec 사용 가능한 이름과 KernelSpecs 일치해야 AppImageConfig 합니다. 이 값은 대소문자를 구분합니다. 컨테이너 내부의 kernelSpecs 셸에서 jupyter-kernelspec list 실행하여 이미지에서 사용 가능한 항목을 찾을 수 있습니다. MountPathAmazon Elastic File System (AmazonEFS) 홈 디렉터리를 마운트하기 위한 이미지 내 경로입니다. Amazon EFS 홈 디렉터리가 마운트될 때 해당 경로가 재정의되므로 컨테이너 내에서 사용하는 경로와 달라야 합니다.

    참고

    허용되는 값은 다음 DefaultUID값과 DefaultGID조합 뿐입니다.

    • 기본값UID: 1000, 기본값GID: 100

    • 기본값UID: 0, 기본값GID: 0

    { "AppImageConfigName": "custom-image-config", "KernelGatewayImageConfig": { "KernelSpecs": [ { "Name": "python3", "DisplayName": "Python 3 (ipykernel)" } ], "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } } }
  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/custom-image-config" }