AWS 미디어 서비스 종류와 사용 예시
MediaConvert·MediaLive·MediaConnect·MediaPackage·MediaTailor와 IVS의 역할을 구분하고, VOD·라이브 방송 구성 예시를 정리한다.
영상을 서비스하려면 입력 신호 수신, 인코딩, 패키징, 저장과 전달이 필요하다. 실시간 방송과 이미 저장된 영상의 처리 방식은 다르며, 시청자에게 방송을 전달하는 용도와 카메라 영상을 분석하는 용도도 구분해야 한다.
AWS 미디어 서비스는 이러한 처리 단계를 조합해 사용한다. 이 글에서는 주요 서비스의 역할, 사용 상황과 예시를 정리한다. 예시는 가상 상황이며 제품과 제공 상태는 2026년 10월 30일에 확인한 공식 자료를 기준으로 한다.
먼저 구분할 개념
- VOD(Video on Demand): 사용자가 저장된 콘텐츠를 원하는 시점에 재생하는 방식이다.
- 인코딩·트랜스코딩: 영상·음성을 압축하거나 코덱, 해상도와 비트레이트 등을 변환하는 작업이다.
- 패키징: 인코딩된 콘텐츠를 스트리밍 형식에 맞는 세그먼트·재생 목록 등으로 구성하는 작업이다.
- 오리진(Origin): 플레이어나 CDN이 콘텐츠를 가져오는 원본 제공 지점이다.
- CDN(Content Delivery Network): 콘텐츠를 분산된 전달 지점에서 사용자에게 제공하는 네트워크이다.
- ABR(Adaptive Bitrate): 네트워크와 재생 조건에 맞추어 여러 화질·비트레이트 중 적절한 버전을 선택하는 방식이다.
코덱과 스트리밍 형식도 구분한다. 예를 들어 H.264는 영상 압축 방식이고, HLS·DASH는 스트리밍 전달에 사용하는 방식이다. 파일 확장자나 재생 목록만 바꾼다고 지원하지 않는 코덱을 단말이 재생할 수 있는 것은 아니다.
1. AWS Elemental MediaConvert: 파일 기반 영상 변환
AWS Elemental MediaConvert는 파일 기반 영상 처리 서비스이다. 입력 파일로부터 여러 해상도·비트레이트·형식의 출력을 만들고 자막과 음성 등의 설정을 적용할 수 있다.
사용하기 좋은 상황은 업로드된 강의·방송·영화 등을 VOD용으로 준비해야 하는 경우이다.
예시: 녹화한 강의를 입력으로 사용해 여러 화질의 스트리밍 출력을 만든다. 시청자는 네트워크 조건에 맞는 버전을 재생한다.
구분할 점은 실시간 입력을 계속 처리하는 MediaLive와 목적이 다르다는 것이다. MediaConvert는 Job 단위로 파일을 처리한다. 변환 성공과 콘텐츠 공개는 별개이므로 결과 검증 후 배포 상태를 변경한다.
- Job: 실제 변환 작업이다.
- Preset: 단일 출력의 인코딩 설정을 저장한다.
- Job template: 입력 위치 등 작업별 변경 항목을 제외한 작업 구성을 재사용한다.
- Queue: 작업 처리 자원을 관리하는 구성이다.
2. AWS Elemental MediaLive: 실시간 영상 인코딩
AWS Elemental MediaLive는 실시간 영상을 방송·스트리밍 출력으로 변환하는 서비스이다. 입력 콘텐츠를 재생 장치나 후속 처리 단계에 맞는 출력으로 만든다.
사용하기 좋은 상황은 행사·스포츠·상시 방송처럼 들어오는 영상을 실시간으로 처리해야 하는 경우이다.
예시: 행사장의 실시간 신호를 받아 여러 화질의 출력으로 인코딩하고, 패키징·전달 단계에 연결한다.
구분할 점은 MediaLive가 시청자용 웹사이트와 모든 배포 기능을 함께 완성하는 것은 아니라는 것이다. 플레이어, 후속 오리진·CDN과 접근 제어 등을 구성해야 한다. 반대로 모든 방송에 다른 미디어 서비스를 전부 붙여야 하는 것도 아니다. 지원 출력과 요구 기능에 맞게 선택한다.
입력 상태와 채널 동작을 확인하고, 방송 전 화면·음성·자막·재생을 검증한다. 채널이 실행 중이라는 사실만으로 시청자 단말에서 정상 재생된다고 판단하지 않는다.
3. AWS Elemental MediaConnect: 실시간 신호 전송과 라우팅
AWS Elemental MediaConnect는 실시간 영상 신호를 수신·분배·라우팅하는 서비스이다. AWS 내부뿐 아니라 외부의 방송·제작 시스템과 연결하는 데 사용할 수 있다.
사용하기 좋은 상황은 현장이나 방송 파트너의 영상 신호를 여러 목적지로 안정적으로 전달해야 하는 경우이다.
예시: 경기장 중계 신호를 받아 클라우드 인코더와 별도 제작 시스템에 전달한다. 파트너 계정과 공유할 때는 해당 기능과 권한을 구성한다.
구분할 점은 영상 전송과 인코딩이 다른 기능이라는 것이다. MediaConnect로 신호를 전달한다고 여러 시청 화질이 자동 생성되지는 않는다.
공식 문서는 소스와 출력 사이의 Flow, 소스·목적지를 동적으로 연결하는 Router, 다른 계정에 콘텐츠를 공유하는 Entitlement 등을 구분한다. 전송 프로토콜, 입력·출력과 권한을 요구 사항에 맞게 정한다.
4. AWS Elemental MediaPackage: 패키징과 오리진
AWS Elemental MediaPackage는 입력 콘텐츠를 재생 요청에 맞추어 패키징하고 제공하는 서비스이다. CDN이나 플레이어가 콘텐츠를 가져가는 오리진으로 사용할 수 있다.
사용하기 좋은 상황은 실시간 인코더의 출력을 여러 재생 환경에 맞추어 제공하거나 콘텐츠 보호·되감기 등의 지원 기능을 구성해야 하는 경우이다.
예시: MediaLive의 출력을 받아 엔드포인트를 구성하고 CloudFront를 통해 시청자에게 전달한다.
구분할 점은 패키징이 해상도·비트레이트를 새로 인코딩하는 것과 다르다는 것이다. 필요한 영상 버전은 입력에 준비하고 지원 출력·보호 기능을 설정한다.
이 글은 MediaPackage v2를 기준으로 한다. v1과 v2는 URL·ARN·API와 리소스가 구분된다. v2 API로 v1 리소스에 접근할 수 없으며, 공식 문서는 자동 리소스 이전 절차가 없다고 안내한다. 예전 VOD 구성과 새 v2 구성을 같은 방식으로 가정하지 않는다.
공식 이미지로 보는 MediaPackage 처리 흐름
AWS 공식 MediaPackage v2 실시간 처리 흐름. 상위 인코더의 입력, MediaPackage 엔드포인트와 재생 단말의 관계를 보여준다.
그림의 왼쪽 인코더가 실시간 스트림을 전송하고, MediaPackage는 설정된 엔드포인트에서 출력한다. 두 입력 경로는 입력 중복 구성의 예시이다. 오른쪽의 암호화 표시는 출력 보호 설정을 구분한다.
실제 서비스에서는 CDN을 통해 시청자에게 전달할 수 있다. 이 그림은 모든 구성에 이중 입력이나 암호화가 기본으로 설정된다는 뜻이 아니다.
패키징과 보관도 구분해야 한다. 시간 이동 재생에 사용하는 제한된 보관 구간을 영구 영상 아카이브로 생각해서는 안 된다.
공식 자료 및 이미지 출처: MediaPackage 일반 실시간 처리 흐름
5. AWS Elemental MediaTailor: 광고 삽입과 채널 구성
AWS Elemental MediaTailor는 광고 삽입과 채널 구성에 사용하는 서비스이다.
사용하기 좋은 상황은 영상 스트림에 광고를 삽입하거나, 기존 VOD 콘텐츠를 편성하여 선형 채널처럼 제공하려는 경우이다.
예시: 여러 다큐멘터리 VOD를 시간표에 맞춰 편성하고, 지원하는 광고 시스템과 연결하여 광고를 삽입한다.
기능은 다음처럼 구분한다.
- Ad insertion: 지원하는 실시간·VOD 스트림에 광고를 삽입한다.
- Channel assembly: 기존 콘텐츠의 매니페스트를 활용해 선형 스트리밍 채널을 구성한다.
구분할 점은 광고 서비스와 영상 전체의 재인코딩이 같은 작업은 아니라는 것이다. Channel assembly는 콘텐츠 세그먼트를 직접 가공하기보다 오리진의 매니페스트를 이용해 재생 순서를 구성하는 방식이다.
광고를 어떤 시청자에게 제공할지는 광고 결정 시스템과 데이터·동의 정책 등의 연동이 필요하다. 광고 표시·추적 설정과 광고가 없을 때의 처리도 확인한다.
6. Amazon Interactive Video Service: 상호작용형 라이브 영상
Amazon Interactive Video Service(IVS)는 웹·앱에 라이브 영상 경험을 통합하는 관리형 서비스이다. 방송을 시청하는 방식과 여러 참여자가 실시간으로 대화하는 방식을 구분한다.
IVS Low-Latency Streaming
사용하기 좋은 상황은 진행자의 방송을 많은 시청자에게 전달하면서 채팅·투표 등과 함께 사용하려는 경우이다.
예시: 온라인 강의의 실시간 방송을 제공하고, 애플리케이션에서 질문·투표 기능을 함께 구성한다.
구분할 점은 영상 서비스가 강의 사이트나 투표 업무까지 자동으로 만드는 것은 아니라는 것이다. 송출·재생을 연동하고 사용자 인증과 상호작용 기능을 구현한다. 송출부터 재생까지의 지연은 네트워크·플레이어·설정에 따라 달라진다.
공식 자료: IVS Low-Latency Streaming
IVS Real-Time Streaming
사용하기 좋은 상황은 진행자와 게스트 등 참여자 사이의 더 짧은 지연과 양방향 상호작용이 중요한 경우이다.
예시: 진행자가 시청자를 게스트로 초대해 실시간 토론에 참여시킨다.
구분할 점은 Low-Latency 채널과 Real-Time의 Stage 등 리소스·참여 모델이 다르다는 것이다. 단순히 지연 설정 하나를 바꾸는 것으로 이해하지 않는다. 참여자 권한, 발행·구독과 시청 규모를 요구 사항에 맞게 구성한다.
전 세계 시청이 가능하다는 설명과 리소스 관리가 글로벌 단일 영역이라는 설명도 다르다. 공식 문서는 Real-Time의 스트리밍·시청과 리전별 제어·리소스를 구분한다.
공식 자료: IVS Real-Time Streaming
7. Amazon Kinesis Video Streams: 장치 영상 수집과 처리
Amazon Kinesis Video Streams는 카메라 등 장치의 영상 데이터를 AWS로 전송하고, 실시간 처리·저장·분석 애플리케이션에 활용하는 서비스이다.
사용하기 좋은 상황은 시청자용 방송보다 여러 장치의 영상을 수집하고 분석해야 하는 경우이다.
예시: 여러 시설의 카메라 영상을 수집하고, 별도 분석 애플리케이션이 필요한 구간이나 프레임을 처리한다.
구분할 점은 IVS나 방송용 CDN과 목적이 다르다는 것이다. 수집 스트림을 조회·표시할 수 있어도 대규모 시청자용 방송 서비스와 동일하게 선택하는 것은 아니다.
영상을 수집했다고 객체 인식이나 이상 탐지가 자동으로 수행되는 것도 아니다. 필요한 분석 로직·모델, 접근 권한과 데이터 보관 정책을 구성한다. 카메라·장치의 인증과 전송 실패 시 동작도 검토한다.
공식 자료: Kinesis Video Streams란?
8. Amazon CloudFront: 시청자에게 콘텐츠 전달
Amazon CloudFront는 분산된 엣지 위치를 통해 콘텐츠를 전달하는 CDN이다. 미디어 전용 서비스는 아니지만 VOD·라이브 영상 배포에 함께 사용한다.
사용하기 좋은 상황은 여러 지역의 사용자에게 S3·MediaPackage·HTTP 오리진 등의 콘텐츠를 전달하려는 경우이다.
예시: S3에 저장한 VOD 출력이나 MediaPackage의 라이브 출력을 CloudFront를 통해 제공한다.
구분할 점은 CloudFront가 영상 인코더나 패키저가 아니라는 것이다. 원본에 없는 해상도와 코덱을 자동 생성하지 않는다. 오리진, 캐시 키·정책과 접근 제어를 영상 구성에 맞게 설정한다.
개인별 콘텐츠와 재생 목록의 캐시 조건을 잘못 설정하면 오래된 정보나 잘못된 콘텐츠를 전달할 수 있다. 콘텐츠 보호, 사용자별 접근과 캐시를 함께 설계한다.
9. 현장 인코딩과 클라우드 연결
일부 환경에서는 카메라나 방송 장비가 현장에 있고, 로컬 출력이나 기존 장비 연동도 필요하다. 이때 클라우드 서비스와 현장 제품·기능을 구분한다.
AWS Elemental Live
AWS Elemental Live는 온프레미스 실시간 영상 인코딩을 위한 제품이다.
사용 상황과 예시: 방송 시설의 로컬 신호를 받아 여러 버전으로 인코딩하고, 정해진 방송·전달 환경에 연결한다.
구분할 점은 AWS 리전에서 실행하는 MediaLive와 실행 위치·운영 방식이 다르다는 것이다. 현장 장비, 네트워크와 소프트웨어 관리 범위를 확인한다.
MediaLive Anywhere
MediaLive Anywhere는 고객 인프라에서 실시간 인코딩을 수행하고 구성·제어·모니터링 등을 클라우드에서 관리하는 MediaLive 기능이다.
사용 상황과 예시: 로컬 입력과 출력이 필요한 시설에서 영상 처리는 현장에 유지하면서 여러 위치의 인코딩 운영을 관리한다.
구분할 점은 처리 위치와 제어 위치가 다르다는 것이다. 하드웨어·연결 요건과 장애 시 동작을 확인한다. 독립된 신규 서비스 개수로 중복해서 세지 않는다.
AWS Elemental Link
AWS Elemental Link는 카메라·제작 장비 등의 실시간 소스를 AWS로 연결하는 인코딩 장치이다.
사용 상황과 예시: 행사장의 지원 영상 출력을 Link에 연결하고 네트워크를 통해 MediaLive·MediaConnect 등 지원 목적지로 전송한다.
구분할 점은 Link 자체가 전체 방송 배포 플랫폼은 아니라는 것이다. 장치별 입력·출력, 목적지와 네트워크 대역폭·전원 조건을 확인한다.
예시: 녹화 강의를 VOD로 제공
다음은 녹화 파일을 변환해 제공하는 가상 구성이다.
- 원본 영상 파일을 S3에 저장한다.
- MediaConvert Job으로 필요한 화질·형식의 출력을 만든다.
- 변환 결과와 음성·자막·재생을 검증한다.
- 출력 파일을 CloudFront로 전달한다.
- 애플리케이션의 플레이어와 사용자 접근 정책을 연결한다.
아래 Mermaid는 직접 작성한 개념도이다. 작업 실행을 자동화할 이벤트 처리와 실패·재시도 절차는 생략하였다.
flowchart LR
U["원본 영상"] --> S["S3 원본 저장"]
S --> M["MediaConvert"]
M --> O["S3 재생용 출력"]
O --> C["CloudFront"]
C --> P["시청자 플레이어"]
모든 VOD에 MediaPackage를 반드시 추가해야 하는 것은 아니다. 필요한 출력·오리진·보호 기능을 기준으로 구성을 선택한다.
예시: 실시간 행사 방송
다음은 현장 영상의 전송·인코딩·패키징·전달을 나눈 예시이다. MediaConnect는 필요한 전송 요구가 있을 때 사용한다.
flowchart LR
I["현장 소스"] --> T["MediaConnect: 신호 전송"]
T --> L["MediaLive: 실시간 인코딩"]
L --> P["MediaPackage: 패키징과 오리진"]
P --> C["CloudFront: 전달"]
C --> V["시청자 플레이어"]
이 흐름이 모든 라이브 서비스의 필수 구조는 아니다. 상호작용형 방송에서는 IVS를 검토할 수 있고, 입력·출력 방식과 운영 요구에 따라 다른 조합도 가능하다.
영상 신호 수신, 인코딩 정상, 오리진 출력과 단말 재생을 별도로 확인한다. 중간 단계의 상태가 정상이어도 단말 코덱·인증·네트워크 문제로 재생이 실패할 수 있다.
공식 자료: AWS 미디어 서비스의 Live·VOD 구성 예시
예전 자료에서 주의할 서비스
AWS Elemental MediaStore
영상 자산의 저장과 오리진 용도로 소개되던 서비스이다. 현재 공식 수명 주기 문서는 전체 종료(Full Shutdown) 목록에 포함한다. 신규 라이브·VOD 구성의 사용 예시로 제시하지 않는다.
저장·오리진 요구에 따라 S3나 MediaPackage 등 현재 제공 기능을 검토하되, 기능·API·지연 특성이 같은 대체재라고 가정하지 않는다.
Amazon Elastic Transcoder
파일 기반 미디어 변환에 사용하던 서비스이다. 현재 공식 종료 목록에 포함되며, 새 파일 변환 구성에서는 MediaConvert 등 현재 서비스의 지원 형식을 확인한다.
서비스 소개 페이지에 이름이 남아 있다는 사실과 현재 사용 가능 여부는 다르다. 개별 제품 안내와 수명 주기 문서를 함께 확인해야 한다.
서비스 선택 기준
- 저장된 영상 파일을 변환한다: MediaConvert를 검토한다.
- 실시간 영상 출력을 만든다: MediaLive를 검토한다.
- 실시간 신호를 전달·분배한다: MediaConnect를 검토한다.
- 재생 요청에 맞추어 패키징하고 오리진을 제공한다: MediaPackage를 검토한다.
- 광고 삽입과 콘텐츠 편성이 필요하다: MediaTailor를 검토한다.
- 웹·앱에 상호작용형 라이브를 통합한다: IVS의 Low-Latency·Real-Time 모델을 비교한다.
- 장치 영상을 수집하고 처리한다: Kinesis Video Streams를 검토한다.
- 시청자에게 콘텐츠를 분산 전달한다: CloudFront를 검토한다.
- 현장 처리·장비 연결이 필요하다: Elemental Live·MediaLive Anywhere·Link의 역할을 비교한다.
운영 전에 확인할 사항
지연 시간은 입력, 인코딩, 패키징, 전달과 플레이어 버퍼를 모두 포함해 측정한다. 한 서비스가 저지연 기능을 제공해도 전체 흐름의 지연이 같지는 않다.
영상·음성·자막 호환성을 확인한다. 해상도뿐 아니라 코덱·프로파일·프레임레이트·오디오와 재생 장치를 함께 시험한다.
콘텐츠 보호는 인증·전송 암호화·재생 권한·DRM 등을 구분한다. URL을 안다는 이유만으로 유료 콘텐츠를 볼 수 없도록 하려면 적절한 접근 정책이 필요하다.
이중화와 보관을 구분한다. 입력을 두 개 받는다고 영구 보관이 되는 것은 아니며, 같은 현장 회선 장애를 공유하는 두 입력은 전체 장애 대비가 아닐 수 있다.
비용은 변환 시간, 화질·코덱, 채널 실행, 전송량, 시청 시간과 저장 등 구성별 항목을 확인한다. 시청자가 없더라도 실행 중인 채널·자원에서 비용이 발생할 수 있다.
SAA 공부에서 구분할 내용
모든 미디어 기능이 SAA에서 같은 비중으로 다뤄진다는 의미는 아니다. 서비스 이름보다 처리 단계를 연결해서 이해하는 것이 좋다.
- MediaConvert와 MediaLive: 파일 처리와 실시간 처리를 구분한다.
- MediaConnect와 MediaLive: 신호 전송과 인코딩을 구분한다.
- MediaPackage와 CloudFront: 패키징·오리진과 CDN 전달을 구분한다.
- MediaTailor와 인코더: 광고·편성과 영상 변환을 구분한다.
- IVS와 Kinesis Video Streams: 상호작용형 방송과 장치 영상 수집을 구분한다.
- S3와 오리진 기능: 파일 보관과 스트리밍 제공에 필요한 기능을 구분한다.
- 단계별 성공과 시청 성공: 작업 완료·채널 실행만으로 최종 재생을 판단하지 않는다.
영상이 파일인지 실시간 신호인지, 시청자용인지 분석용인지, 필요한 지연과 보호 수준이 무엇인지 먼저 정한다. 이후 입력부터 재생까지 필요한 기능을 조합한다.