AWS transcoder에서 MediaConvert로 바꾸는 삽질 과정 + CloudWatch Events

🐳ㅇㅡㄴㄱㅓ·2022년 6월 23일
0
  • 프로젝트상에서 transcoder를 media converter로 언젠가는 전환해야 하기에 개발서버에서 테스트 진행해본 내용을 미리 정리해둔 것

  • 결론부터 말하자면 현재 프로젝트상에는 Pre-signed Post 방식으로 영상이 올라가서 람다에서 Put 트리거 캐치가 안 되는 상황같다.

  • 기존 소스에서는 sdk로 transcoder create_job을 만들어서 변환하던데 걔가 그러고 있는데는 타당한 이유가 있었으며 Media convert 또한 sdk로 작업을 변경해서 진행해야 될 것 같다.

S3 trigger + Lambda + Mediaconvert

  • 이 3개를 연결하는 과정은 아래 블로그에서 한글로 아주 잘 설명해주시고 계심.
  • AWS 가이드문서는 한글이라도 통 못 알아먹겠던데 아래 블로그에서 한글로 아주 잘 알려주심.
    https://ssue95.tistory.com/25

CloudWatch + Simple Notification Service

  • 미디어컨버터에서 변환이 완료되면 서버로 알림받기
  1. SNS 주제를 생성
  • 유형 : 표준 선택
  • 이름 : 사용할 이름으로 지정(ex : MediaConvertCompletedAlert)
  1. SNS 구독 생성
  • 주제 ARN에서 방금 생성한 주제를 선택
  • 특정페이지로 구독 받을거라서 HTTPS로 선택하고 응답받아 DB작업 할 페이지의 url을 엔드포인트에 적어주었다. ( ex : https://www.test.com/mediaconvert/callback )
  • 최초 구독 생성 시 구독 확인이 필요하다. 트랜스코더로 선작업 된 콜백 소스에도 구독확인 처리하는 부분이 있다.
  • Request header에서 x-amz-sns-message-type의 값이 SubscriptionConfirmation인 경우 구독확인을 하기 위해 요청이 온 것 -> Request contents에서 SubscribeURL를 찾아내서 file_get_contents(SubscribeURL) 해주면 구독확인 처리가 됨.
  1. CloudWatch로 가서 SNS와 연결(CloudWatch Events)
  • https://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/mediaconvert_sns_tutorial.html 해당 링크 참고하면서 실패할 때가 아닌 성공할 때로 바꿔서 등록했다.
  • CloudWatch -> 이벤트 메뉴 아래 규칙으로 이동
  • 규칙생성 버튼 클릭
  • 서비스 이름에서 MediaConvert를 선택, 이벤트 유형을 MediaConvert Job State Change 선택, 필요에 따라 모든 상태 혹은 특정 상태를 클릭해서 특정 상태만 선택
  • 옆 쪽 대상 추가를 클릭해서 디폴트로 선택되어있는 람다 함수 대신 SNS 주제를 선택하고
    위에서 만든 주제를 선택한다.
profile
재활훈련 중

0개의 댓글