머신러닝 모델을 AWS SageMaker에 배포하는 완전 가이드 - 파트 01

발행: (2025년 12월 19일 오전 07:39 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

AWS에 커스텀 머신러닝 모델 배포하기

이 가이드에서는 Hugging Face 의 모델이든, 직접 만든 모델이든 AWS의 핵심 서비스 몇 가지만 사용해 배포하는 방법을 단계별로 살펴봅니다.

서비스역할
Amazon SageMaker“현자 제작자” – ML 모델을 학습하고, 호스팅하며, 자동으로 스케일링해 주는 플랫폼
Amazon API Gateway모델을 공개 HTTP API 로 노출해 다른 개발자들이 호출할 수 있게 함
AWS Lambda경량 서버리스 함수로, 들어오는 요청을 라우팅·검증·포맷팅해 모델에 전달하기 전 전처리 역할 수행

⚠️ 비용 참고 – 학습 목적이라면 모든 리소스를 약 6 시간 사용 후 종료하면 ≈ $5 이하로 비용을 유지할 수 있습니다. 예상치 못한 요금이 발생하지 않도록 $5 알람을 설정해 두세요.

1️⃣ SageMaker 열기

  1. AWS 콘솔에 로그인합니다.
  2. 좌측 상단 검색창에 “SageMaker” 를 입력하고 서비스를 선택합니다.
    아래 스크린샷과 비슷한 대시보드가 보일 것입니다.

SageMaker home page

2️⃣ 노트북 인스턴스 만들기

SageMaker 노트북 은 ML에 최적화된 EC2 인스턴스 위에서 실행되는 관리형 Jupyter 환경입니다.

  1. 좌측 사이드바에서 “Notebook instances” 를 클릭합니다.
  2. “Create notebook instance” 를 클릭하고 양식을 채웁니다:
항목권장값 / 비고
Notebook instance nametranslation-model-01 (원하는 이름으로 변경 가능)
Instance type보통 수준의 인스턴스 선택 (예: ml.t2.medium). 필요에 따라 나중에 변경 가능하지만, 큰 인스턴스일수록 시간당 비용이 상승합니다.
IAM role기존 역할을 선택하거나 SageMaker가 새 역할을 만들게 합니다. 기본 역할이면 충분하지만 최소 권한 원칙을 기억하세요 – 불필요하게 전체 S3 접근 권한을 부여하지 마세요.
Encryption별도 요구사항이 없으면 기본 설정을 유지합니다.

Create notebook form

IAM 역할이란?
IAM 역할은 특정 작업에 필요한 권한만을 부여하는 정체성(identity)입니다. 역할을 사용하면 취약점이 악용될 경우 공격자가 전체 계정이 아니라 해당 역할에 부여된 권한만 얻게 되어 피해 범위를 제한할 수 있습니다.

역할 및 노트북 생성

Create role screen

그런 다음 Create role 을 클릭합니다. 몇 분 뒤에 초록색 성공 메시지가 나타나고 역할이 자동으로 선택됩니다. 나머지 항목은 그대로 두고 Create notebook 을 클릭합니다.

Create notebook screen

노트북이 생성되면 (5‑10 분 정도 소요) 열어봅니다. 상단에 JupyterJupyterLab 두 옵션이 보일 텐데, 두 환경 모두 코드를 작성·실행하고, 데이터와 변수를 유지하면서 즉시 수정·재실행·리팩터링할 수 있는 인터랙티브 환경입니다. 이를 Read‑Eval‑Print‑Loop (REPL) 라고 합니다.

Jupyter vs JupyterLab

새 노트북을 만들려면:

  1. File > New > Notebook
  2. 프롬프트가 뜨면 커널을 선택합니다. 기본 커널이면 우리 사용 사례에 충분합니다.

New notebook dialog

Source:

Kernel selection screen

JupyterLab 메인 편집기

JupyterLab은 IDE처럼 동작합니다: 편집기, 파일 탐색기, 터미널 및 다양한 도구를 제공합니다.

아래 스크린샷에서는 Untitled.ipynb 라는 노트북 파일을 만들었습니다(나중에 이름을 바꿀 수 있습니다; .ipynbiPython Notebook의 약자입니다). 여기서 Google Colab에서 작성하던 코드를 그대로 작성합니다.

간단한 Python 코드가 이미 작성되어 있습니다; Shift + Enter 로 실행하세요. 출력은 다음 셀에 나타나며 다음과 같이 표시됩니다:

Hello World!

3️⃣ (Optional) IAM 역할 권한 검토

노트북을 생성하면 다음과 같은 화면이 표시됩니다:

IAM role configuration

  • 기본 정책은 자동으로 생성된 S3 버킷에 대한 읽기/쓰기 접근 권한을 노트북에 부여합니다.
  • 추가 리소스(예: 다른 S3 버킷, ECR 리포지토리)가 필요하다면 보안 영향을 이해한 에 필요한 정책을 연결하세요.

4️⃣ 다음 단계 (개요)

노트북 인스턴스가 실행 중이면 다음을 할 수 있습니다:

  1. Hugging Face 저장소를 복제하거나 직접 모델 파일을 업로드합니다.
  2. SageMaker 엔드포인트를 생성해 실시간 추론을 위해 모델을 호스팅합니다.
  3. API Gateway를 설정해 HTTP 요청을 Lambda 함수로 전달합니다.
  4. Lambda 핸들러를 작성해:
    • 들어오는 페이로드를 검증하고,
    • SageMaker 엔드포인트를 호출하며,
    • 모델의 응답을 호출자에게 반환합니다.

튜토리얼의 나머지 부분(모델 배포, API 생성, Lambda 코드, 테스트)은 동일한 패턴을 따릅니다 – 각 단계마다 스크린샷과 간결한 설명이 제공됩니다.

📌 빠른 요약

  • SageMaker = 학습 및 호스팅 환경.
  • API Gateway = 공개 HTTP 진입점.
  • Lambda = 요청 검증 및 라우팅 (서버리스).
  • 비용 관리 = 사용하지 않을 때 리소스를 종료하고 $5 알림을 설정합니다.

배포를 즐기세요! 🚀

Back to Blog

관련 글

더 보기 »