AWS CLI에서 수명 주기 구성을 생성하려면 - 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에 대한 관리형 정책에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

중요

2023년 11월 30일부로 이전 Amazon SageMaker Studio 경험의 이름이 Amazon SageMaker Studio Classic으로 변경되었습니다. 다음 섹션은 Studio Classic 애플리케이션 사용에 관해 다룹니다. 업데이트된 Studio 환경 사용에 대한 자세한 내용은 Amazon SageMaker Studio 섹션을 참조하세요.

다음 주제에서는를 사용하여 Studio Classic 환경에 대한 사용자 지정을 자동화 AWS CLI 하는 수명 주기 구성을 생성하는 방법을 보여줍니다.

사전 조건

시작하기 전에 다음 필수 조건을 완료합니다.

1단계: 수명 주기 구성 생성

다음 절차는 Hello World를 인쇄하는 수명 주기 구성 스크립트를 생성하는 방법을 보여 줍니다.

참고

각 스크립트는 최대 16,384자까지 입력할 수 있습니다.

  1. 로컬 시스템에서 다음 내용으로 my-script.sh이라는 파일을 만듭니다.

    #!/bin/bash set -eux echo 'Hello World!'
  2. my-script.sh 파일을 base64 형식으로 변환하세요. 이 필수 조건은 간격 및 줄 바꿈 인코딩으로 인해 발생하는 오류를 방지합니다.

    LCC_CONTENT=`openssl base64 -A -in my-script.sh`
  3. Studio Classic과 함께 사용할 수명 주기 구성을 만드세요. 다음 명령은 관련 KernelGateway애플리케이션을 시작할 때 실행되는 수명 주기 구성을 생성합니다.

    aws sagemaker create-studio-lifecycle-config \ --region region \ --studio-lifecycle-config-name my-studio-lcc \ --studio-lifecycle-config-content $LCC_CONTENT \ --studio-lifecycle-config-app-type KernelGateway

    반환된 새로 생성된 수명 주기 구성의 ARN을 기록해 둡니다. 이 ARN은 수명 주기 구성을 애플리케이션에 연결하는 데 필요합니다.

2단계: 수명 주기 구성을 도메인, 사용자 프로필 또는 공유 스페이스에 연결

수명 주기 구성을 연결하려면 도메인 또는 사용자 프로필에 UserSettings을 업데이트하거나 공유 스페이스에 대해 SpaceSettings를 업데이트해야 합니다. 도메인 수준에서 연결된 수명 주기 구성 스크립트는 모든 사용자에게 상속됩니다. 그러나 사용자 프로필 수준에서 연결된 스크립트는 특정 사용자로 범위가 지정되고 공유 스페이스 수준에서 연결된 스크립트는 공유 스페이스로 범위가 지정됩니다.

다음 예제에서는 수명 주기 구성이 연결된 새 사용자 프로필을 만드는 방법을 보여줍니다. 또한 create-domaincreate-space 명령을 각각 사용하여 수명 주기 구성이 연결된 새 도메인이나 스페이스를 만들 수 있습니다.

이전 단계의 수명 주기 구성 ARN을 적절한 앱 유형의 설정에 추가합니다. 예를 들어, 사용자의 JupyterServerAppSettings에 배치하세요. 수명 주기 구성 목록을 전달하여 여러 수명 주기 구성을 동시에 추가할 수 있습니다. 사용자가를 사용하여 JupyterServer 애플리케이션을 시작하면 기본값 대신 사용할 수명 주기 구성을 전달할 AWS CLI수 있습니다. 사용자가 전달하는 수명 주기 구성은 JupyterServerAppSettings의 수명 주기 구성 목록에 속해야 합니다.

# Create a new UserProfile aws sagemaker create-user-profile --domain-id domain-id \ --user-profile-name user-profile-name \ --region region \ --user-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": [lifecycle-configuration-arn-list] } }'

다음 예제에서는 수명 주기 구성을 연결하도록 기존 공유 스페이스를 업데이트하는 방법을 보여줍니다. update-domain 또는 update-user-profile 명령을 사용하여 수명 주기 구성이 첨부된 기존 도메인이나 사용자 프로필을 업데이트할 수도 있습니다. 첨부된 수명 주기 구성 목록을 업데이트할 때는 모든 수명 주기 구성을 목록의 일부로 전달해야 합니다. 수명 주기 구성이 이 목록의 일부가 아닌 경우 애플리케이션에 연결되지 않습니다.

aws sagemaker update-space --domain-id domain-id \ --space-name space-name \ --region region \ --space-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": [lifecycle-configuration-arn-list] } }'

리소스의 기본 수명 주기 구성 설정에 대한 자세한 내용은 기본 수명 주기 구성 설정을 참조하세요.

3단계: 수명 주기 구성으로 애플리케이션 시작

도메인, 사용자 프로필 또는 스페이스에 수명 주기 구성을 연결한 후 사용자는 AWS CLI를 사용하여 애플리케이션을 시작할 때 해당 구성을 선택할 수 있습니다. 이 섹션에서는 연결된 수명 주기 구성을 사용하여 애플리케이션을 시작하는 방법을 설명합니다. JupyterServer 애플리케이션을 시작한 후 기본 수명 주기 구성을 변경하는 방법에 대한 자세한 내용은 기본 수명 주기 구성 설정을 참조하세요.

create-app 명령을 사용하여 원하는 애플리케이션 유형을 시작하고 resource-spec인수에 수명 주기 구성 ARN을 지정합니다.

  • 다음 예에서는 연결된 수명 주기 구성을 사용하여 JupyterServer애플리케이션을 생성하는 방법을 보여줍니다. JupyterServer를 생성할 때는 app-namedefault이어야 합니다. resource-spec 파라미터의 일부로 전달된 수명 주기 구성 ARN은 도메인 또는 사용자 프로필의 경우 UserSettings, 공유 스페이스의 경우 SpaceSettings에 지정된 수명 주기 구성 ARN 목록에 포함되어야 합니다.

    aws sagemaker create-app --domain-id domain-id \ --region region \ --user-profile-name user-profile-name \ --app-type JupyterServer \ --resource-spec LifecycleConfigArn=lifecycle-configuration-arn \ --app-name default
  • 다음 예제에서는 연결된 수명 주기 구성을 사용하여 KernelGateway애플리케이션을 생성하는 방법을 보여줍니다.

    aws sagemaker create-app --domain-id domain-id \ --region region \ --user-profile-name user-profile-name \ --app-type KernelGateway \ --resource-spec LifecycleConfigArn=lifecycle-configuration-arn,SageMakerImageArn=sagemaker-image-arn,InstanceType=instance-type \ --app-name app-name