---
title: "AWS + TwelveLabs로 VoD 영상 분석 파이프라인 구축하기 — 아키텍처 선택 가이드"
published: 2026-03-31T04:05:06.845Z
canonical: https://jeff.news/article/1448
---
# AWS + TwelveLabs로 VoD 영상 분석 파이프라인 구축하기 — 아키텍처 선택 가이드

AWS 서비스와 TwelveLabs Marengo 모델을 조합해 VoD 환경에서 AI 영상 분석 파이프라인을 구축하는 실전 가이드. 즉시 처리(S3 이벤트+Lambda, EventBridge)와 배치 처리(MWAA, EventBridge Scheduler, Step Functions, AWS Batch) 아키텍처를 비교한다.

## VoD 환경에서의 영상 분석 파이프라인 기본 구조

- AWS + TwelveLabs Marengo를 활용해 VoD 환경에서 AI 영상 분석 파이프라인을 구축하는 실전 가이드
  - TwelveLabs Marengo는 Amazon Bedrock을 통해 제공되는 멀티모달 비디오 임베딩 모델
  - 영상의 시각·오디오·텍스트 요소를 각각 이해하고, 자연어로 영상을 검색할 수 있게 해줌
  - 기존 메타데이터·파일명 의존 방식을 벗어나 "영상 속 장면을 자연어로 검색"하는 게 핵심 가치

## 즉시 처리가 필요한 경우 — 이벤트 기반

- **방법 A: S3 Event Notification + Lambda** — 가장 단순한 구성
  - S3에 영상 업로드 → Event Notification → Lambda → Bedrock Marengo API 호출
  - UGC 플랫폼이나 콘텐츠 모더레이션처럼 업로드 즉시 분석이 필요한 케이스에 적합

- **방법 B: EventBridge Event Buses + Rules** — 더 유연한 구성
  - 하나의 업로드 이벤트에 여러 Rule을 달아서 임베딩 생성·썸네일 추출·메타데이터 저장을 병렬 실행
  - 이벤트 생산자(S3)와 소비자(Lambda, Step Functions)가 완전 분리돼서 새 로직 추가 시 기존 설정 수정 불필요
  - CloudWatch에서 이벤트 흐름을 중앙 집중식으로 모니터링 가능

## 대규모 배치 처리 — 스케줄 기반

- **MWAA(Managed Airflow)** — Airflow 경험자에게 최적
  - DAG로 워크플로우를 정의하고 웹 UI에서 실행 상태 모니터링
  - 매일 새벽 2시에 미처리 영상 일괄 임베딩 같은 시나리오에 적합

- **EventBridge Scheduler + Lambda** — 가장 가볍고 빠른 배치 구성
  - 크론 표현식으로 Lambda 호출 → S3에서 미처리 영상 조회 → Bedrock 비동기 추론 API(StartAsyncInvoke)로 임베딩 시작
  - 프리 티어 범위 내에서 소규모 워크로드는 거의 무료 운영 가능
  - 단, 비동기 API 특성상 결과를 바로 받을 수 없어 GetAsyncInvoke 폴링이나 EventBridge 완료 이벤트 수신 필요

> [!TIP]
> TwelveLabs Marengo의 비디오 임베딩은 비동기 추론만 지원함. InvokeModel은 텍스트/이미지 전용이고, 비디오는 반드시 StartAsyncInvoke를 써야 함. inference profile이 아닌 base model ID를 사용해야 하는 것도 주의 포인트.

- **EventBridge Scheduler + Step Functions** — 대규모 병렬 처리에 강점
  - Distributed Map으로 최대 10,000개 병렬 자식 워크플로우 실행 가능
  - 개별 영상 실패가 전체 배치에 영향 안 줌 — 내장 Retry/Catch로 자동 재시도
  - Step Functions 콘솔에서 각 영상의 처리 상태 실시간 확인 가능
  - 단, ASL(Amazon States Language) 이해 필요 + 상태 전환당 과금 발생

- **AWS Batch** — 초대규모 + 복합 분석에 적합
  - Spot Instance 활용 시 컴퓨팅 비용 70~90% 절감, 작업 없으면 인스턴스 자동 0까지 축소
  - 컨테이너 기반이라 Marengo 호출 외에 OCR·텍스트 추출·오디오 추출 등 복합 워크로드도 처리 가능
  - Array Job으로 대규모 배치 작업 효율적 제출·관리

## 아키텍처 선택 기준 요약

- 소규모 + 단순 임베딩 → **Lambda 단독**이 가장 효율적
- 수십 건 이상 병렬 처리 + 다단계 분석 → **Step Functions Distributed Map** 추천
- 초대규모 + 복합 분석 워크로드 → **AWS Batch**가 유연하고 비용 효율적
- Airflow 기반 기존 파이프라인이 있다면 → **MWAA**로 자연스럽게 통합

---

## 기술 맥락

- TwelveLabs Marengo가 Bedrock을 통해 제공된다는 건, AWS 생태계 안에서 별도 인프라 구축 없이 멀티모달 비디오 임베딩을 쓸 수 있다는 뜻이에요. 영상 검색이 기존에 메타데이터 의존이었던 이유는 영상 자체를 이해하는 모델이 비싸고 접근하기 어려웠기 때문인데, Bedrock 통합으로 그 문턱이 많이 낮아진 거예요.

- 비동기 추론만 지원하는 건 영상 처리의 특성 때문이에요. 수십 초~수분 길이의 영상을 임베딩하려면 처리 시간이 상당하거든요. 그래서 Lambda의 15분 타임아웃에도 문제가 될 수 있고, 작업 제출 후 완료 이벤트를 받는 비동기 패턴이 필수가 되는 거예요.

- Step Functions의 Distributed Map은 대규모 배치 처리에서 핵심인데, S3 객체 목록을 자동으로 순회하면서 각각에 대해 독립적인 워크플로우를 병렬로 실행할 수 있어요. Lambda 단독 구성에서는 직접 구현해야 하는 팬아웃 + 에러 핸들링 + 재시도 로직을 Step Functions가 다 관리해주는 셈이에요.

## 핵심 포인트

- TwelveLabs Marengo의 멀티모달 비디오 임베딩으로 자연어 영상 검색 가능
- 즉시 처리: S3 Event+Lambda(단순) vs EventBridge Rules(유연)
- 배치 처리: Lambda 단독(소규모) vs Step Functions Distributed Map(대규모 병렬) vs AWS Batch(초대규모)
- 비디오 임베딩은 비동기 추론(StartAsyncInvoke)만 지원 — 주의 필요
- Spot Instance 활용 시 컴퓨팅 비용 70-90% 절감

## 인사이트

영상 분석 파이프라인 구축에서 아키텍처 선택이 비용과 확장성을 결정함. 소규모는 Lambda 하나로 충분하지만, 규모가 커질수록 Step Functions나 AWS Batch의 관리형 병렬 처리가 빛을 발함.
