VOD Streaming Server 구축 1 (AWS)

ASHAPPYASIKNOW·2022년 7월 15일
3

AWS

목록 보기
1/6
post-thumbnail

구축 계획

  1. 수동으로 input S3에 mp4 파일을 업로드한다.
  2. Media Convert로 HLS 로 변환하여 output S3에 저장한다.
  3. Output S3에 Cloud Front를 연결한다.
  4. Streaming이 잘 되는지 확인 해 본다.

범위

  1. Input S3 생성
  2. Output S3 생성
  3. CloudFront 생성 및 동작 확인

Input, Output Bucket 만들기

User 권한 확인

Bucket을 생성하기 위해서 편의상 'AmazonS3FullAccess' 권한을 가지고 있다고 가정한다.

Input, Output Bucket 생성 및 기본 설정

Input Bucket

Bucket name: input
AWS Region: ap-northeast-2 (서울)
Block all public access: check



Output Bucket

Input Bucket 생성과 차이점: only buncket name

Bucket name: output
AWS Region: ap-northeast-2 (서울)
Block all public access: check




CloudFront 생성 및 연결

User 권한 확인


CloudFront를 생성하기 위해서 편의상 'CloudFrontFullAccess' 권한을 가지고 있다고 가정한다.

CloudFront 생성

  1. 생성했던 output S3를 선택해 준다.
  2. Yes use OAI를 선택한다.
    (만약 OAI가 존재하지 않는다면 생성한다. --> Create new OAI 버튼 클릭)

  1. Bucket policy
    Yes, update the bucket policy 선택
    (CloudFront에서 S3의 데이터를 가져갈 수 있게 권한설정을 해 주는 옵션)



Output S3에 권한 설정 확인

S3 bucket으로 돌아가서 Output bucket을 선택한 후 Permissions 탭을 누른다.

Bucket policy에 권한이 추가된 것을 확인할 수 있다.

Cross-origin resource sharing (CORS) 설정

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "GET"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [],
        "MaxAgeSeconds": 3000
    }
]

나중에 HLS 파일을 스트리밍 못하는 이슈가 발생할 수 있는데
바로 Cross-Origin 정책 가능성이 크다.

이와 같은 에러 메시지가 출력된다면 CORS 설정을 확인해야 한다.

Output S3와 CloudFront 연동 확인

동영상 다운로드

무료동영상: pixabay
(상용이용시 라이센스 확인 필요)

여러 동영상 중에서 마음에 드는 동영상을 다운받는다.

파일 올리기

  1. Folder 만들기: temp
  2. Drag and drop 으로 파일을 업로드하기

  1. temp folder 속에 다운받은 파일 업로드하기

CloudFront 주소 확인

생성된 CloudFront를 보면 Domain name을 확인할 수 있다.

동영상 플레이 확인

크롬에서 http://[cloudfront-domain-name]/temp/Grass-66810.mp4 을 주소창에 입력하면 결과를 동영상이 다운받아져서 동작하는 것을 확인할 수 있다.

이렇게 output s3가 cloudfront에 연동되는 것을 확인하였다.

다음 포스트에서는 input s3에 파일을 올리고 media convert를 이용하여 output s3에 hls 형식으로 변환하여 저장하는 과정을 진행할 예정이다.

profile
36.9 It's good time to start something new

0개의 댓글