aws ec2 디렉토리에 파일을 저장하는 것에 대해 질문있습니다

조회수 534회

현재 비디오 파일을 변환해주는 프로그램을 만드는 프로젝트 진행중 입니다.

진행하면서 가장 고민이 되는 부분이 aws 적재 부분입니다.

파일 변환 예정인 비디오 파일을 사용자로부터 받아서(html을 통해 formdata로 받아서)

변환 예정 비디오 파일을 s3에 적재하고

적재한 비디오 파일을 서버로 다시 가져와서 변환한 후 사용자에게(html로) 되돌려주는

구조입니다. 파일 프로그램을 다룰때 s3를 사용하는것이 ec2를 사용하여 파일을 다루는 것보다

과금 쪽이나 효율성에 있어 더 좋다고 어디선가(?)보아서 매우 비효율적인것 같은 방식을 취하고 있습니다.

s3에 올렸다 내렸다 하는 방식보다 웹프레임워크 내 디렉토리 안에 파일을 직접 저장하는 방식이 더 나은지 궁금합니다. (저장된 변환전 파일과 사용자에게 전달된 변환된 파일은 전달 후 삭제됩니다.)

  • 어떤면에서 더 낫는지를 묻는건가요? 비용? 성능? 정영훈 2020.4.10 00:53
  • 비용 성능 둘다 궁금합니다! poffsle 2020.4.10 10:46

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    질문을 잘 하시라는 의미로 적은 겁니다.

    aws 를 이용할 예정이라면 aws를 선학습을 해야 합니다.

    aws의 서비스를 보면 관리가 필요없는 serverless 한 서비스와 관리를 해야하는 서비스로 나뉩니다.

    s3 와 ebs 를 두고 생각해보면 s3는 disk full, 가용성등을 고민안해도 aws에서 알아서 다 관리해줍니다. 단순히 파일을 바로 적재하고 삭제하면 그만입니다. 그런데 ebs는 그렇지가 않죠. 용량, 성능도 제각각이고 ebs니까 ec2에 종속되는 서비스라서 ec2 관리까지 해야합니다.

    또 aws 에서 가장 보편적으로 사용하는 저장소가 s3입니다. s3를 파일저장소로 이용할 경우 다른 aws와 연계가 쉽습니다. 그러나 ebs로 가면 어쩔 수 없이 ec2에 종속적인 모양이 되고 비용역시 s3가 용량대비 가장 저렴합니다. 옵션도 여러가지가 있고요 글레시어나 s3는 3군데로 복제가 되는데 중요하지 않은 데이터라면 복제하지 않고 사용해서 비용을 절감할 수도 있고요.

    다만 iops 가 중요하다면 ebs로 선택해야 합니다. 성능이 좋을수록 비싸구요.

    즉 질문 내용만으론 s3 vs ebs 에 답하기 쉽지 않습니다. 사용자가 얼마고 어느정도 tps 가 발생하고 어떤 용도이고 등등 객관적인 지표가 있어야 고려해서 판단할 수가 있습니다.

    무턱대고 효율적인거요? 답하기가 어렵습니다.

    가장 저렴하게 운영하면서 향후 많은 사용자까지도 커버하겠다 한다면 serverless 한 서비스들로 구성하는 겁니다.

    lambda, api gateway, s3, cloud front 이렇게 4가지 서비스를 사용해서 질문상의 요구사항을 저렴하면서도 확장가능하게 웹서비스를 구축할 수 있습니다.

    db 부분은 document db(nosql)가 필요하다면 dynamodb 를 선택하고 rdb가 필요하다면 aurora serverless 를 선택할 수 있습니다.

    모두 serverless 이기 때문에 명시적으로 관리할 필요가 없습니다.

    • 답변 감사드립니다! aws 더 공부해 보겠습니다 poffsle 2020.4.10 19:33

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)