VOD Streaming Server 구축 1 (AWS)

ASHAPPYASIKNOW·2022년 7월 15일
4

AWS

목록 보기
1/6
post-thumbnail

구축 계획

VOD Streaming Server 구축 단계

  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 권한 확인

AmazonS3FullAccess

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

Input, Output Bucket 생성 및 기본 설정

Input Bucket

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

Create input bucket 1
Create input bucket 2
Create input bucket 3

Output Bucket

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

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

Create output bucket 1
Create output bucket 2
Create output bucket 3


CloudFront 생성 및 연결

User 권한 확인

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

CloudFront 생성

Create CloudFront 1

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

Create new OAI

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

Output S3에 권한 설정 확인

Output S3 권한 확인 1

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

Output S3 권한 확인 2

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

Cross-origin resource sharing (CORS) 설정

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

CORS 설정

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

CORS error

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

Output S3와 CloudFront 연동 확인

동영상 다운로드

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

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

파일 올리기

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

Output S3 - create folder - temp

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

Output S3 업로드 확인

CloudFront 주소 확인

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

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

1개의 댓글

comment-user-thumbnail
2024년 8월 27일

감사합니다

답글 달기