AWS Elemental 연동 가이드

개요

PallyCon KMS는 AWS Elemental MediaConvert, MediaPackage 에서 Multi DRM 패키징에 필요한 키를 발급해주는 SPEKE (Secure Packager and Encoder Key Exchange)를 지원합니다.

PallyCon KMS URL을 DRM encryption setting 항목의 URL에 세팅하면 간단하게 연동이 완료됩니다. 이 가이드는 MediaConvert, MediaPackage 샘플 구축하는 방법을 포함하여 설명합니다.

MediaConvert 연동

MediaConvert IAM 권한 생성

IAM 설정 AWS Guide 문서를 참조해 아래와 같은 작업을 진행합니다.

  1. AWS Console에서 IAM 서비스를 선택합니다.
  2. Roles 탭에 들어가 create role을 선택합니다.
  3. MediaConvert를 선택 후 Next: permission 버튼을 클릭합니다.
  4. S3접근 권한과 APIGateway 접근 권한이 가능한 부분을 확인하고 Next: Review 버튼을 클릭합니다. iam1

  5. RoleName을 MediaConverter로 설정 후 create role 버튼을 눌러 생성합니다. iam2

MediaConvert IAM 권한 설정

  1. AWS Console에서 MediaConvert 서비스를 선택합니다.
  2. Jobs 탭의 create job 버튼을 눌러 job 생성을 시작합니다.
  3. Job settings 화면의 IAM role 설정 부분에 이전 단계에서 생성한 MediaConvert-role을 선택합니다. mediaconvert0

MediaConvert Input 설정

  1. Input 항목에 s3에 있는 패키징할 컨텐츠 경로를 입력합니다. mediaconvert1

MediaConvert Output groups 설정

  1. Output groups 에 Add 버튼을 눌러 ouptput을 추가합니다. (PlayReady와 Widevine의 경우는 dash ISO, FairPlay의 경우는 Apple HLS를 선택) mediaconvert2

  2. Custom group name에는 사용자가 구분하기 편한 이름을 입력합니다.

  3. Destination 항목에 패키징이 완료된 파일이 들어갈 s3상의 경로를 입력합니다. mediaconvert3

  4. DRM encryption 옵션을 선택 후 Resource ID, System ID, URL을 입력합니다.

  5. Outputs 를 설정후 Create 버튼을 클릭합니다.

    • widevine의 경우 video와 audio 트랙을 output으로 나누어 주지 않을 경우 재생을 하지 못하는 client가 있기 때문에 비디오와 오디오 트랙을 나눠서 생성해야 합니다. mediaconvert5 mediaconvert6
  6. s3 상에 생성된 파일을 재생할 수 있도록 make public 또는 사용권한 설정을 해줍니다.

MediaPackage 연동

HLS upload가 가능한 AWS MediaLive 같은 서비스와 연동하여 실시간으로 컨텐츠를 암호화 할 수 있습니다.

MediaPackage IAM 권한 생성

  1. MediaConvert IAM 권한 생성 과 동일하게 생성하며 Role Name만 SPEKEAccess 로 생성합니다.

  2. Roles 탭에서 SPEKEAccess role을 선택 후 Trust relationships 탭의 Edit trust relationship 버튼을 클릭합니다. iam3

  3. Principal.Service의 값을 mediapackage.amazonaws.com 으로 변경 후 Update 버튼을 클릭합니다. iam4

MediaPackage Channel 생성

  1. AWS Console에서 MediaPackage 서비스를 선택합니다.

  2. Channel을 생성합니다. mediapackage0

  3. endpoints 에서 Add 버튼을 눌러 endpoint 설정을 합니다.

  4. endpoint name, packager settings 부분 등 원하는 컨텐츠 스펙에 맞게 설정 합니다.

  5. MediaConvert Output groups 설정의 4번 과 동일한 방식으로 Encryption을 설정합니다.

  6. Role ARN에 생성한 SPEKEAccess Role을 입력합니다.

  7. Save 버튼을 클릭합니다. mediapackage1

AWS API Gateway 에 PallyCon KMS 서버 연동

  • PallyCon KMS 서버를 AWS API Gateway 에 설정하여 사용 시 PallyCon KMS 서버 연동간에 오류가 발생하면 해당 오류를 확인할 수 있습니다.

  • PallyCon에서는 AWS API Gateway 연동 및 구축이 조금 더 쉽도록 AWS CloudFormation 을 통해 API Gateway 구축이 가능하도록 제공합니다.

CloudFormation 설정

  1. AWS Console에서 CloudFormation 서비스를 선택합니다.

  2. Create new stack 버튼을 클릭합니다. mediapackage1

  3. Choose a template 에 Upload a template to Amazon S3 를 선택 후 PallyCon에서 제공하는 템플릿을 입력 후 Next 버튼을 클릭합니다. 템플릿 파일 다운로드 mediapackage2

  4. API Gateway 구축에 필요한 값들을 입력 후 Next 버튼을 클릭합니다. mediapackage3

  5. Option 값 설정 후 Next 버튼을 클릭합니다. mediapackage4

  6. Create 버튼을 클릭합니다. mediapackage5

  7. API Gateway 가 정상적으로 생성되면 CloudFormation 의 stack 의 status 값이 CREATE_COMPLETE 로 설정됩니다. mediapackage6

API Gateway Test

  1. AWS Console에서 API Gateway 서비스를 선택합니다.

  2. CloudFormation으로 생성된 api gateway의 Resources의 {proxy+}의 ANY를 선택하면 나타나는 Test 버튼을 클릭합니다. apigateway1

  3. Method를 Get을 선택 후 {proxy}에 /cpix/getKey/heartbeat 를 입력 후 Test 버튼을 클릭하여 Response Body 에 SUCCESS가 떨어지면 정상적으로 연결이 된 것을 확인 할 수 있습니다. apigateway2

  4. Gateway 설정이 완료되면 MediaConvert, MediaPackage 의 Encryption 세팅 부분의 URL을 API Gateway 를 사용하는 URL로 변경하여 사용하면 됩니다. API Gateay URL 은 stages 탭에서 확인 가능 합니다. 예) https://***kms.pallycon.com***/cpix/getKey?enc-token=xxxx => https://***v12n46uhyh.execute-api.ap-northeast-2.amazonaws.com/Production***/cpix/getKey?enc-token=xxxx apigateway3 apigateway4

Key rotation 지원 관련

  • MediaPackage 를 통한 key rotation 기능은 현재 지원하고 있지 않습니다. 추후 업데이트 예정입니다.

results matching ""

    No results matching ""