Amazon SageMaker 노트북 인스턴스 만들기 - Amazon SageMaker AI

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

Amazon SageMaker 노트북 인스턴스 만들기

중요

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

Amazon SageMaker 노트북 인스턴스는 Jupyter notebook 애플리케이션을 실행하는 ML 컴퓨팅 인스턴스입니다. SageMaker AI는 인스턴스 및 관련 리소스 생성을 관리합니다. 노트북 인스턴스에서 Jupyter Notebook을 사용하여 다음을 수행할 수 있습니다.

  • 데이터 준비 및 처리

  • 모델을 훈련하기 위한 코드 작성

  • SageMaker AI 호스팅에 모델 배포

  • 모델 테스트 또는 검증

노트북 인스턴스를 생성하려면 SageMaker AI 콘솔 또는 CreateNotebookInstance API.

선택하는 노트북 인스턴스 유형은 노트북 인스턴스의 사용 방식에 따라 다릅니다. 노트북 인스턴스가 메모리, CPU 또는 IO에 의해 바인딩되지 않도록 해야 합니다. 탐색 또는 사전 처리를 위해 노트북 인스턴스의 메모리에 데이터세트를 로드하려는 경우 데이터세트에 충분한 RAM 메모리가 있는 인스턴스 유형을 선택하세요. 이를 위해서는 최소 16GB의 메모리(.xlarge 이상)를 가진 인스턴스가 필요합니다. 컴퓨팅 집약적인 사전 처리를 위해 노트북을 사용하려는 경우 c4 또는 c5와 같은 컴퓨팅 최적화 인스턴스를 선택하는 것이 좋습니다.

SageMaker 노트북을 사용할 때 가장 좋은 방법은 노트북 인스턴스를 사용하여 다른 AWS 서비스를 오케스트레이션하는 것입니다. 예를 들어 노트북 인스턴스를 사용하여 대규모 데이터세트 처리를 관리할 수 있습니다. 이렇게 AWS 하려면 Glue for ETL(추출, 변환 및 로드) 서비스 또는 Amazon EMR을 호출하여 Hadoop을 사용하여 매핑 및 데이터 감소를 수행합니다. AWS 서비스를 데이터의 임시 컴퓨팅 또는 스토리지 형태로 사용할 수 있습니다.

Amazon Simple Storage Service 버킷을 사용하여 훈련 및 테스트 데이터를 저장하고 검색할 수 있습니다. 그런 다음 SageMaker AI를 사용하여 모델을 훈련하고 빌드할 수 있습니다. 따라서 노트북의 인스턴스 유형은 모델 훈련 및 테스트 속도와 관계가 없습니다.

요청을 수신한 후 SageMaker AI는 다음을 수행합니다.

  • 네트워크 인터페이스 생성 - 선택적 VPC 구성을 선택하면 SageMaker AI가 VPC에 네트워크 인터페이스를 생성합니다. 요청 시 제공한 서브넷 ID를 사용하여 서브넷을 생성할 가용 영역을 결정합니다. SageMaker AI는 요청에서 제공하는 보안 그룹을 서브넷과 연결합니다. 자세한 내용은 VPC의 노트북 인스턴스를 외부 리소스에 연결 단원을 참조하십시오.

  • ML 컴퓨팅 인스턴스 시작 - SageMaker AI는 SageMaker AI VPC에서 ML 컴퓨팅 인스턴스를 시작합니다. SageMaker AI는 노트북 인스턴스를 관리할 수 있는 구성 작업을 수행합니다. VPC를 지정한 경우 SageMaker AI는 VPC와 노트북 인스턴스 간의 트래픽을 활성화합니다.

  • 일반적인 딥 러닝 플랫폼을 위한 Anaconda 패키지 및 라이브러리 설치 - SageMaker AI는 설치 프로그램에 포함된 모든 Anaconda 패키지를 설치합니다. 자세한 정보는 Anaconda 패키지 목록을 참조하세요. SageMaker AI는 TensorFlow 및 Apache MXNet 딥 러닝 라이브러리도 설치합니다.

  • ML 스토리지 볼륨 연결 - SageMaker AI는 ML 스토리지 볼륨을 ML 컴퓨팅 인스턴스에 연결합니다. 볼륨을 작업 영역으로 사용하여 훈련 데이터 집합을 정리하거나 유효성 검사, 테스트 또는 기타 데이터를 임시로 저장할 수 있습니다. 볼륨 크기는 5GB~16384GB 사이에서 1GB 증분 간격으로 선택합니다. 기본값은 5GB입니다. ML 스토리지 볼륨은 암호화되므로 SageMaker AI는 볼륨에서 사용 가능한 여유 공간의 양을 확인할 수 없습니다. 때문에 노트북 인스턴스를 업데이트할 때 볼륨 크기를 확장할 수는 있지만 볼륨 크기를 축소할 수는 없습니다. 사용 중인 ML 스토리지 볼륨을 축소하기를 원할 경우 원하는 크기로 새 노트북 인스턴스를 생성하세요.

    /home/ec2-user/SageMaker 폴더 내에 저장된 파일 및 데이터만 노트북 인스턴스 세션 간에 유지됩니다. 이 디렉터리 외부에 저장된 파일 및 데이터는 노트북 인스턴스가 중지되었다가 다시 시작될 때 덮어씁니다. 각 노트북 인스턴스의 /tmp 디렉터리는 인스턴스 스토어에 최소 10GB의 스토리지를 제공합니다. 인스턴스 스토어는 지속되지 않는 블록 수준의 임시 스토리지입니다. 인스턴스가 중지되거나 다시 시작되면 SageMaker AI는 디렉터리의 콘텐츠를 삭제합니다. 이 임시 스토리지는 노트북 인스턴스의 루트 볼륨에 포함되어 있습니다.

    노트북 인스턴스에서 사용하는 인스턴스 유형에 NVMe 지원이 있는 경우 고객은 해당 인스턴스 유형에 사용할 수 있는 NVMe 인스턴스 저장소 볼륨을 사용할 수 있습니다. NVMe 저장소 볼륨이 있는 인스턴스 유형의 경우 모든 인스턴스 저장소 볼륨이 시작 시 인스턴스에 자동으로 연결됩니다. 인스턴스 유형 및 관련 NVMe 저장소 볼륨에 대한 자세한 내용은 Amazon Elastic Compute Cloud 인스턴스 유형 세부 정보를 참조하세요.

    연결된 NVMe 저장소 볼륨을 노트북 인스턴스에서 사용하려면 Make instance store volumes available on your instance의 단계를 완료하세요. 루트 액세스 또는 수명 주기 구성 스크립트를 사용하여 단계를 완료하세요.

    참고

    NVMe 인스턴스 저장소 볼륨은 영구 스토리지가 아닙니다. 이 스토리지는 인스턴스와 함께 수명이 짧으며 이 스토리지가 있는 인스턴스가 시작될 때마다 재구성해야 합니다.

  • 예시 Jupyter notebook 복사 - 이 Python 코드 예시는 다양한 알고리즘 및 훈련 데이터세트를 사용한 모델 훈련 및 호스팅 사례를 보여줍니다.

SageMaker AI 노트북 인스턴스를 생성하려면:
  1. https://console.aws.amazon.com/sagemaker/ SageMaker AI 콘솔을 엽니다.

  2. 노트북 인스턴스를 선택한 후 노트북 인스턴스 생성을 선택합니다.

  3. 노트북 인스턴스 생성 페이지에서 다음 정보를 입력합니다.

    1. 노트북 인스턴스 이름에 노트북 인스턴스의 이름을 입력합니다.

    2. Notebook 인스턴스 유형의 경우 사용 사례에 적합한 인스턴스 크기를 선택하세요. 지원되는 인스턴스 유형 및 할당량 목록은 Amazon SageMaker AI Service Quotas를 참조하세요.

    3. 플랫폼 식별자의 경우 노트북 인스턴스를 생성할 플랫폼 유형을 선택합니다. 이 플랫폼 유형은 노트북 인스턴스 생성에 사용되는 운영 체제 및 JupyterLab 버전을 결정합니다. 플랫폼 식별자 유형에 대한 자세한 내용은 Amazon Linux 2 노트북 인스턴스을 참조하세요. JupyterLab 버전에 대한 자세한 내용은 Jupyterlab 버전 관리을 참조하세요.

      중요

      JupyterLab 1 및 JupyterLab 3 플랫폼에서 실행되는 노트북 인스턴스는 2025년 6월 30일에 지원이 종료됩니다. 안전하고 지원되는 환경을 확보하려면이 날짜 이전에 작업을 새 JupyterLab 4 노트북 인스턴스로 마이그레이션하는 것이 좋습니다. 자세한 내용은 JupyterLab 버전 유지 관리 단원을 참조하십시오.

    4. (선택 사항) 추가 구성을 사용하면 고급 사용자가 인스턴스를 생성하거나 시작할 때 실행할 수 있는 쉘 스크립트를 생성할 수 있습니다. 수명 주기 구성 스크립트라고 하는 이 스크립트를 사용하여 노트북의 환경을 설정하거나 다른 기능을 수행할 수 있습니다. 자세한 내용은 LCC 스크립트를 사용하여 SageMaker 노트북 인스턴스 사용자 지정을 참조하세요.

    5. (선택 사항) 추가 구성을 사용하면 노트북 인스턴스에 연결된 ML 스토리지 볼륨의 크기(GB)도 지정할 수 있습니다. 5~16,384GB 범위의 크기를 1GB 증분으로 선택할 수 있습니다. 볼륨을 사용하여 훈련 데이터 집합을 정리하거나 유효성 검사 데이터나 기타 데이터를 일시적으로 저장할 수 있습니다.

    6. (선택 사항) 최소 IMDS 버전의 경우 드롭다운 목록에서 버전을 선택합니다. 이 값을 v1로 설정하면 노트북 인스턴스에서 두 버전을 모두 사용할 수 있습니다. v2를 선택하면 노트북 인스턴스에서 IMDSv2만 사용할 수 있습니다. IMDSv2에 대한 자세한 내용은 IMDSv2 사용을 참조하세요.

      참고

      2022년 10월 31일부터 SageMaker 노트북 인스턴스의 기본 최소 IMDS 버전이 IMDSv1에서 IMDSv2로 변경됩니다.

      2023년 2월 1일부터 새 노트북 인스턴스 생성에 IMDSv1을 더 이상 사용할 수 없습니다. 이 날짜 이후에는 최소 IMDS 버전 2를 사용하여 노트북 인스턴스를 생성할 수 있습니다.

    7. IAM 역할에서 SageMaker AI 리소스에 액세스하는 데 필요한 권한이 있는 계정의 기존 IAM 역할을 선택하거나 새 역할을 생성합니다. 새 역할 생성을 선택하면 SageMaker AI는 라는 IAM 역할을 생성합니다AmazonSageMaker-ExecutionRole-YYYYMMDDTHHmmSS. AWS 관리형 정책은 역할에 AmazonSageMakerFullAccess 연결됩니다. 역할은 노트북 인스턴스가 SageMaker AI 및 Amazon S3를 호출할 수 있는 권한을 제공합니다.

    8. 루트 액세스에서 모든 노트북 인스턴스 사용자에게 루트 액세스 권한을 부여하려면 활성화를 선택합니다. 사용자의 루트 액세스 권한을 제거하려면 비활성화를 선택합니다. 루트 액세스 권한을 부여하면 모든 노트북 인스턴스 사용자는 관리자 권한을 가지며 모든 파일을 액세스 및 편집할 수 있습니다.

    9. (선택 사항) 암호화 키를 사용하면 AWS Key Management Service (AWS KMS) 키를 사용하여 노트북 인스턴스에 연결된 ML 스토리지 볼륨의 데이터를 암호화할 수 있습니다. ML 스토리지 볼륨에 중요한 정보를 저장하려는 경우 정보를 암호화하는 것이 좋습니다.

    10. (선택 사항) 네트워크를 사용하면 노트북 인스턴스를 Virtual Private Cloud(VPC) 내에 저장할 수 있습니다. VPC는 추가적인 보안을 제공하며 VPC 외부의 소스로부터 VPC에 있는 리소스에 대한 액세스 권한을 제한합니다. VPC에 대한 자세한 내용은 Amazon VPC 사용 설명서를 참조하세요.

      VPC에 노트북 인스턴스를 추가하려면

      1. VPCSubnetId를 선택합니다.

      2. 보안 그룹에서 VPC의 기본 보안 그룹을 선택합니다.

      3. 노트북 인스턴스에 인터넷 액세스가 필요한 경우 직접 인터넷 액세스를 활성화합니다. 직접 인터넷 연결에서 활성화를 선택합니다. 인터넷에 액세스하면 노트북 인스턴스의 보안이 저하될 수 있습니다. 자세한 내용은 VPC의 노트북 인스턴스를 외부 리소스에 연결 섹션을 참조하세요.

    11. (선택 사항) Git 리포지토리를 노트북 인스턴스와 연결하려면 기본 리포지토리와 최대 3개의 추가 리포지토리를 선택합니다. 자세한 내용은 SageMaker AI 노트북 인스턴스를 사용한 Git 리포지토리 섹션을 참조하세요.

    12. 노트북 인스턴스 생성을 선택합니다.

      몇 분 안에 Amazon SageMaker AI는 ML 컴퓨팅 인스턴스, 즉이 경우 노트북 인스턴스를 시작하고 ML 스토리지 볼륨을 여기에 연결합니다. 노트북 인스턴스에는 사전 구성된 Jupyter notebook 서버와 Anaconda 라이브러리 세트가 있습니다. 자세한 내용은 CreateNotebookInstance API를 참조하세요.

  4. 노트북 인스턴스의 상태가 InService이면 콘솔에서 노트북 인스턴스를 사용할 준비가 완료된 것입니다. 노트북 이름 옆에 있는 Jupyter 열기를 선택하여 클래식 Jupyter 대시보드를 엽니다.

    참고

    Amazon SageMaker 노트북 인스턴스의 보안을 강화하기 위해 모든 리전 notebook.region.sagemaker.aws 도메인이 인터넷 퍼블릭 접미사 목록(PSL)에 등록됩니다. 보안을 더 강화하려면 __Host- 접두사와 함께 쿠키를 사용하여 SageMaker 노트북 인스턴스의 도메인에 민감한 쿠키를 설정하는 것이 좋습니다. 이렇게 하면 교차 사이트 요청 위조 시도(CSRF) 로부터 도메인을 보호하는 데 도움이 됩니다. 자세한 내용은 Mozilla.org 개발자 설명서 웹사이트의 Set-Cookie 페이지를 참조하세요.

    JupyterLab 열기을 선택하여 JupyterLab 대시보드를 열 수 있습니다. 대시보드는 노트북 인스턴스에 대한 액세스 권한과 전체 코드 안내가 포함된 샘플 SageMaker AI 노트북을 제공합니다. 이 연습에서는 SageMaker AI를 사용하여 일반적인 기계 학습 작업을 수행하는 방법을 보여줍니다. 자세한 내용은 예시 노트북 액세스 단원을 참조하십시오. 자세한 내용은 SageMaker 인스턴스에 대한 루트 액세스 제어 섹션을 참조하세요.

    Jupyter notebook에 대한 자세한 내용은 Jupyter notebook을 참조하세요.