---
title: "아카마이 CDN 연동 가이드"
description: "본 문서에서는 도브러너 포렌식 워터마킹과 사전 연동된 아카마이 CDN을 통해 워터마크 임베딩을 적용하는 방법에 대하여 설명합니다."
---
> For the complete documentation index, see [llms.txt](/llms.txt).

본 문서에서는 도브러너 포렌식 워터마킹과 사전 연동된 아카마이 CDN을 통해 워터마크 임베딩을 적용하는 방법에 대하여 설명합니다.

:::caution[양측 사전 준비 필요 — 두 가지를 동시에 진행하세요]
아카마이 연동을 시작하려면 다음 **두** 곳과의 협의가 모두 필요하며, 각각 시간이 소요될 수 있습니다.
1. **아카마이(Akamai)** — 아카마이 계정 담당자에게 요청하여 워터마킹 동작(behavior)을 계약에 추가하고, 해당 AMD(Adaptive Media Delivery) 프로퍼티에 활성화해야 합니다.
2. **도브러너 헬프데스크** — 프로퍼티 설정에 필요한 아카마이 `token signing` 및 `pattern encryption` cert key 값을 받기 위해 [문의하기](https://support.doverunner.com)를 통해 연락해 주세요. 이 키가 저희 측에 등록되기 전까지는 `A5001`(Akamai cert key not registered) 에러와 함께 연동이 실패합니다.

두 요청 모두 최대한 빨리 시작하세요 — 한쪽만 완료된 상태로는 연동이 진행되지 않습니다.
:::

아카마이용 Session URL을 발급할 때는 Session Manager API 호출 시 반드시 (기본값인 `aes`가 아닌) `wmt_type: "jwt"`를 사용해야 합니다 — 자세한 내용은 [wmt_type 선택](../session-manager/#supported-integration-specification)을 참고하세요. 실수로 `aes`를 사용하면 워터마크가 임베딩된 재생이 이루어지지 않으며, 이 경우 눈에 띄는 에러도 발생하지 않습니다.

## 연동 워크플로우
```mermaid
%%{init: {
  "theme": "default",
  "themeVariables": {
    "fontSize": 40,
    "actorFontSize": 40,
    "noteFontSize": 28,
    "messageFontSize": 28
  },
  "themeCSS": "
    .messageLine0,
    .messageLine1,
    .messageLine2,
    .messageLine3,
    .messageLine4,
    .messageLine5,
    .messageLine6,
    .messageLine7,
    .messageLine8,
    .messageLine9,
    .messageLine10,
    .messageLine11 {
      stroke: #FFD700 !important;
    }
    .messageText {
      fill: #FFD700 !important;
    }
    .arrowheadPath {
      fill: #FFD700 !important;
      stroke: #FFD700 !important;
    }
  "
}}%%
sequenceDiagram
  autonumber
  participant Player as 클라이언트 플레이어
  participant CMS as 서비스 백엔드 (CMS)
  participant DRSM as 도브러너 세션 매니저
  participant Akamai as 아카마이 엣지
  participant Origin as 오리진 서버
  Note over CMS,DRSM: 1) 워터마크 토큰이 포함된 스트림 URL 요청
  CMS->>DRSM: WMT가 포함된 URL 요청, 세션정보 전달 (사용자 ID, IP, 타임스탬프)
  DRSM->>DRSM: 세션 데이터 저장 및 WMT 생성
  Note over DRSM,CMS: 2) 워터마크 토큰이 포함된 스트림 URL 전달 (VPC)
  DRSM-->>CMS: WMT가 포함된 스트림 URL <br/>(WMT가 VPC에 포함)
  Note over CMS,Player: 3) 재생 시작을 위한 URL 제공
  CMS-->>Player: 워터마크 토큰이 포함된 스트림 URL
  Note over Player,Akamai: 4) 엣지에서 재생 및 워터마크 삽입
  Player->>Akamai: 스트림 세그먼트 요청 (URL에 WMT 포함)
  Akamai->>Akamai: 워터마크 토큰 디코딩 / 워터마크 임베딩
  Akamai->>Origin: A/B 버전 세그먼트 가져오기
  Origin-->>Akamai: A/B 버전 세그먼트
  Akamai-->>Player: 임베딩된 스트림 세그먼트
  Note over Player: 클라이언트에서 스트림 정상 재생
```

도브러너 워터마크가 적용된 세션의 동작

1. 도브러너 세션 매니저에 세션 데이터 전송
  플레이어 준비 과정에서 콘텐츠 서비스 백엔드(CMS)는 `세션 매니저 API`를 통해 `도브러너 세션 매니저`에 `워터마크 토큰이 포함된 스트림 URL`을 요청합니다.
  이 요청에는 다음이 포함됩니다.
  - 스트림 정보
  - 사용자 ID, IP 주소 및 타임스탬프와 같은 클라이언트의 세션 데이터

2. 세션 데이터 저장 및 워터마크 토큰 생성
  - 도브러너 세션 매니저는 수신된 세션 데이터를 안전하게 저장하고 해당 세션의 워터마크 토큰(WMT)을 생성합니다.

3. 워터마크 토큰(WMT)이 포함된 스트림 URL 생성
  - 세션 매니저는 API 응답으로 스트림 URL의 '가상 경로 구성 요소 (VPC)'에 워터마크 토큰을 포함시켜 API 응답으로 전송합니다.
  - 자세한 내용은 [아카마이 가이드](https://techdocs.akamai.com/adaptive-media-delivery/docs/add-wmk)를 참고하시기 바랍니다.

4. 클라이언트 플레이어에 워터마크 토큰이 포함된 스트림 URL 제공
 - 워터마크 토큰이 포함된 스트림 URL은 서비스 백엔드로 반환된 후 클라이언트 플레이어로 전달되어 재생이 시작됩니다.

5. 콘텐츠 재생 및 워터마크 임베딩
 - 재생이 시작되면 아카마이 엣지는 WMT에 포함된 워터마크 정보를 이용해 오리진 서버의 A/B 버전 스트림을 조합 합니다.
 - 클라이언트 플레이어는 워터마킹이 적용되지 않은 일반 스트림과 동일한 방법으로 해당 스트림을 재생하며, 재생방법이나 사용자 경험에 영향을 미치지 않습니다.

## 아카마이 CDN 연동 과정

콘텐츠 전송에 아카마이 CDN을 사용하는 경우, 도브러너 포렌식 워터마킹과 사전 통합된 `Akamai Adaptive Media Delivery` 인터페이스를 활용하거나 새로운 엣지 워커 [서비스]를 함께 사용할 수 있습니다. (https://techdocs.akamai.com/edgeworkers/docs/welcome-to-edgeworkers)

`Akamai Adaptive Media Delivery`(AMD)의 과정:

1. 아카마이 계정 담당자에게 요청해 CDN 계약에 워터마킹 연동 기능을 추가합니다.

2. 도브러너 팀에 문의해 아래 구성에 필요한 토큰 서명 및 패턴 암호화 값을 전달받습니다.

3. [아카마이 가이드](https://techdocs.akamai.com/adaptive-media-delivery/docs/set-up-watermarking-in-your-amd-property)를 참고해 CDN 속성 구성에 워터마킹 동작을 추가합니다.

`아카마이 엣지워커`의 과정
1. 아카마이 엣지워커는 AWS 람다엣지와 유사한 자바스크립트 실행을 지원합니다.

2. 다음의 링크와 샘플코드를 참조하세요
 - [링크](https://techdocs.akamai.com/edgeworkers/docs/watermarking)
 - [코드](https://github.com/akamai/edgeworkers-examples/tree/master/delivery/media)

3. 아래 링크에서는 도브러너에서 제공되는 샘플코드를 사용할수 있습니다.
 - [코드](https://github.com/doverunner/fwm-cdn-embedder-edgeworkers)

:::note 

아카마이 엣지워커 워터마킹은 AMD 워터마킹과 유사한 사양으로 작동합니다. A/B 버전의 파일명 패턴, 시작번호 등은 공개되지 않으며, 소스코드에서 "디렉터리 접두사" 및 "시작번호 0"으로 고정되어 있습니다. 그러나 엣지워커 워터마킹은 오픈 소스 코드이며 개별 모듈을 명시적으로 라이선스 하지 않습니다. GitHub 프로젝트의 최상위 라이선스는 Apache Licence 2.0 이므로 필요한 내용을 추가하거나 수정하여 사용할 수 있습니다.

:::

:::note 

Fastly CDN 연동 시에도 위 아카마이의 경우와 유사한 준비 과정이 필요합니다. Fastly CDN 연동에 대한 상세 안내가 필요한 경우 헬프데스크로 문의해 주시기 바랍니다.

:::