질문/이슈
CloudFront 연동을 통해 워터마크가 적용된 콘텐츠를 재생하려 합니다. 세션 매니저 API를 통해 생성한 세션 URL에 접근 시 에러가 발생하는데 원인을 알고 싶습니다.
간략한 설명
아마존 CloudFront CDN을 통한 PallyCon 포렌식 워터마킹 연동에는 PallyCon에서 제공하는 CloudFront용 Embedder 모듈이 사용됩니다. 샘플 코드와 가이드를 따라 AWS 콘솔에서 Lambda@Edge 펑션을 생성하고 관련된 설정을 수행해야 합니다.
해결 방법
PallyCon Docs 사이트의 포렌식 워터마킹 '샘플 다운로드' 페이지에서 CloudFront용 Lambda Embedder를 다운로드 합니다.
아래 링크된 가이드에 따라 필요한 Lambda Role을 적용하고, 다운받은 zip 형태의 Lambda 소스를 등록한 후 각종 변수 값을 수정해 CloudFront에 적용합니다.
세션 매니저 API로 생성한 CloudFront용 세션 URL이 재생되지 않는 경우, 다음과 같은 사항들을 확인합니다.
- S3 스토리지의 콘텐츠 경로: 세션 API 요청 데이터에 입력한 콘텐츠 경로와 도메인 등의 정보가 실제 S3에 업로드된 경로와 일치해야 합니다.
- aesKey (사이트키) 값: Lambda 함수의 소스에서 'aesKey' 부분에 PallyCon 콘솔에서 제공되는 '사이트키' 값을 입력해야 합니다.
- availableInterval 값: 해당 값은 세션 URL에 포함된 timestamp 정보의 유효 기간을 체크하는데 사용됩니다. availableInterval 값(분 단위)보다 오래된 세션 URL은 유효 기간이 지나 재생이 불가능합니다. (0으로 설정 시 유효기간을 체크하지 않음)
- Lambda 함수 버전: Lambda 함수의 소스를 업데이트해 새 버전으로 Publish한 경우, 연결된 CloudFront에서도 적용된 Lambda@Edge 함수의 버전을 동일하게 적용해야 합니다.