Amazon SageMaker studio 초기 세팅하기 (S3, IAM, Studio )

AI와 머신러닝 모델을 개발하고 싶지만, 복잡한 초기 설정 때문에 망설여질 때가 많다. Amazon SageMaker(세이지메이커)는 이러한 모델 개발, 학습, 배포의 전 과정을 쉽게 처리해 주는 강력한 AWS 서비스로 활용할 수 있다. 하지만 SageMaker를 제대로 사용하려면 몇 가지 핵심 구성 요소를 미리 준비해야 한다. 바로 S3(저장소), IAM(권한), 그리고 Studio이다. 해당 글에서는 3가지 핵심 요소를 단계별로 설정하는 방법을 정리한다. 회원가입 및 콘솔 진입은 어렵지 않으니 해당 내용은 제외하고 SAGEMAKER STUDIO 세팅을 위한 주요 내용만 기록한다.

  • 출처 : AWS

주요 흐름 요약

  1. S3 버킷 (창고): 데이터를 저장할 공간을 확보한다.
  2. IAM 역할 (키): AmazonSageMakerFullAccess 권한을 가진 키를 만들어 SageMaker에 S3 접근 권한을 준다.
  3. Studio 도메인 (작업실): Studio를 생성하며 2단계에서 만든 키(IAM 역할)를 연결한다.
    • 작업 이 후 인스턴스 및 그 외 사용 내역이 있다면 삭제

Step 1: S3 버킷 생성 (데이터 창고 만들기)

가장 먼저 할 일은 데이터를 저장할 공간을 마련하는 것이다. SageMaker는 모든 종류의 데이터(학습 데이터, 소스 코드, 학습 결과물, 모델 파일 등)를 Amazon S3(Simple Storage Service)라는 중앙 저장소에 저장하고 읽어온다.

  1. AWS 관리 콘솔에서 S3 서비스로 이동한다.
  2. [범용 버킷] – [버킷 만들기]를 클릭한다.
  3. 버킷 이름을 입력한다.
    • 주의: 버킷 이름은 전 세계에서 유일해야 한다.
  4. 리전(Region)을 선택한다.
    • 팁: 앞으로 생성할 SageMaker Studio와 동일한 리전(예: 서울 ap-northeast-2)을 선택해야 데이터 전송 속도가 빠르고 비용이 절약된다.
  5. 나머지 설정은 기본값으로 두고 [버킷 만들기]를 완료한다.

이제 모델 개발에 필요한 모든 파일을 담아둘 ‘데이터 창고’가 준비되었다.


Step 2 : IAM 역할 생성 (SageMaker 전용 마스터 키)

다음은 SageMaker가 1단계에서 만든 S3 버킷에 접근할 수 있도록 ‘허가증’을 만들어야 한다. AWS에서는 이 허가증을 IAM(Identity and Access Management) 역할(Role)이라고 부른다.
SageMaker Studio, 모델 학습 작업 등 SageMaker의 모든 기능은 사용자를 대신하여 이 IAM 역할을 사용해 S3의 데이터를 읽고 쓰게 된다.

  1. AWS 관리 콘솔에서 IAM 서비스로 이동한다.
  2. 왼쪽 메뉴에서 [엑세스 관리] – [역할]을 선택하고 [역할 생성]를 클릭한다.
    • 그룹 또는 사용자 단위로도 역할 분배 가능하다.
  3. 신뢰할 수 있는 엔터티 유형으로 ‘AWS 서비스’를 선택한다.
  4. 사용 사례에서 ‘SageMaker’를 검색하여 선택하고, 하단의 ‘SageMaker – Execution’을 선택한 후 [다음]을 클릭한다.
  5. 권한 정책 연결 단계가 가장 중요하다.
    • 검색창에 AmazonSageMakerFullAccess를 입력하고 체크한다.
    • 이 정책은? AWS에서 미리 만들어 둔 정책으로, SageMaker 사용에 필요한 대부분의 권한(S3 전체 접근, 학습 작업 실행 등)이 포함되어 있어 초보자에게 가장 편리하다.
  6. [다음]을 클릭하고 역할 이름을 지정한다. (예: MySageMakerExecutionRole)
  7. [역할 만들기]를 완료한다.

이제 SageMaker가 S3 창고에 자유롭게 드나들 수 있는 ‘마스터 키’가 발급되었다.


Step 3 : SageMaker Studio 도메인 생성 (모델 개발 작업실)

이제 드디어 코드를 작성하고 모델을 개발할 실제 ‘작업실’, 즉 SageMaker Studio를 만들 차례이다. Studio는 JupyterLab 기반의 통합 개발 환경(IDE)을 제공한다. Studio의 최상위 관리 단위를 ‘도메인(Domain)’이라고 부른다.

AWS 관리 콘솔에서 Amazon SageMaker AI 서비스로 이동한다. 리전이 1단계에서 S3 버킷을 만든 리전(예: 서울 ap-northeast-2)과 동일한지 확인한다.
위치는 우측 상단에 지역 기록되어있음 (지역이 다를경우 과금 또는 오류 원인이 될 수 있다.) 한국어 버전으로는 아시아 태평양 (서울)로 표기되어있다.

왼쪽 메뉴에서 [도메인]을 선택하고 [도메인 생성]을 클릭한다.

설정 옵션을 선택해야 한다. 개인 실습이기에 단일 사용자를 사용하였다.

  • 단일 사용자용(빠른 설정): 개인 실습이나 단기 프로젝트에 적합하다. IAM 역할(AmazonSageMakerFullAccess 포함)과 사용자 프로필을 자동으로 생성해 주어 가장 간편하다.
  • 조직용(Standard Setup): 여러 사용자가 협업하거나 보안 설정을 세밀하게 관리할 때 사용한다.

네트워크 및 스토리지 설정은 기본값을 사용하고 [제출]을 클릭하여 도메인 생성을 시작한다.
생성에는 몇 분 정도 소요되며, 도메인 상태가 ‘InService’가 되면 완료된 것이다.


4단계: Studio 진입 및 JupyterLab Space 실행

도메인(작업실)이 완성되었으니, 이제 내 자리를 만들고 작업을 시작해 보자.
SageMaker 도메인 목록에서 방금 만든 도메인 이름을 클릭 후 ‘사용자 프로필’ 탭으로 이동한다. (‘빠른 설정’을 했다면 이미 사용자(default-user)가 생성되어 있다, 사용자 프로필이 없다면 [사용자 프로필 추가] 버튼으로 간단히 생성한다.) 이 후 생성된 사용자 프로필 오른쪽의 [시작] 버튼을 눌러 **’Studio 열기’**를 클릭한다.

처음 진입 시 약 1~3분간 환경 세팅 시간이 필요하다. 완료되면 JupyterLab과 유사한 Studio 인터페이스가 열린다. 실습은 JupyterLab으로 하지만 Application은 총 5개로 제공되면 주요 기능은 표로 정리해두었다.

아이콘설명
JupyterLab기본 노트북 환경 (데이터 분석, 모델링, 시각화 등)
RStudioR 언어용 IDE
Canvas노코드 AutoML 툴
Code EditorVSCode 스타일 Python 편집기
MLflow모델 실험 관리
  • JupyterLab Space 생성하기:
    • Studio는 여러 개발 환경(JupyterLab, Code Editor 등)을 ‘Space’라는 단위로 관리한다.
    • 화면 중앙의 ‘JupyterLab’ 섹션에서 [Create JupyterLab space] 버튼을 클릭한다.
    • 이름을 설정하고(예: my-first-project), 나머지 옵션(인스턴스 타입 등)은 기본값으로 두고 [Create space]를 클릭한다.

Space가 생성되면 [Run space] 버튼을 눌러 실행한다.

실행이 완료되면 [Open]을 클릭한다.

익숙한 Jupyter 화면이 나타나면, ‘Launcher’에서 Python 3 (ipykernel) 커널을 선택하여 새 노트북(.ipynb)을 만들고 코딩을 시작하면 된다.


기타, 비용 관리를 위한 종료 습관 (필수!)

SageMaker는 사용한 만큼 과금된다. 그래서 4단계에서 실행시킨 인스턴스는 사용 후 꼭! 종료시켜야 한다. 인스턴스는 실행 중인 동안 계속 비용이 발생하기 때문이다. 물론 프리티어 사용자라면 무료 범위내에서 핸들링 가능하다. 프리티어 및 상세한 과금 실험은 이 후 글에서 작성할 예정이다.

  • 인스턴스 목록은 좌측에 있는 Running instances 클릭 후 목록에서 Status가 Running인 인스턴스를 Stop 버튼을 눌러 종료시켜주면 Statas가 중단으로 바뀌게 된다.
  • 혹시! 엔드포인트도 사용했다면 삭제하자 [Deployments] – [Endpoints], 샘플 이미지는 이미 지운 후의 상태다.
  • 코드런 중 S3에 데이터를 저장한 실습을 했다면 S3 버킷으로 이동해서 필요없는 내역을 삭제해준다.

이렇게 기본적인 모든 준비가 끝났다. S3, IAM, Sagemaker Studio 이 후 과금 관련한 실험 및 운영 테스트 진행해볼 예정이다.