본문 바로가기

AWS Design Pattern/데이터 업로드 패턴

Direct Object Upload - 업로드 절차 간소화

ㅁ  풀어야 할 문제

-       사진이나 동영상 공유 사이트에서 여러 사용자로부터 크기가 큰 데이터가 업로드 됨

-       업로드 처리는 서버 쪽의 부하(특히, 네트워크 부하)가 높아져 어느 정도 규모의 사이트에서도 업로드 전용 가상 서버가 필요한 경우가 있음

 

  해결/패턴

-       업로드를 인터넷 스토리지로 처리, 즉 클라이언트에서 가상 서버를 통하지 않고 인터넷 스토리지에 직접 업로드 함.

-       위처럼 처리 시 업로드 처리의 부하를 고려하지 않아도 가능

 

ㅁ  구현

-       웹 서버(EC2) S3로 업로드하는 HTML의 폼을 만듦

-       업로드 폼을 이용해 사용자 쪽에서 S3로 직접 파일을 업로드 함

-       S3로 파일 전송 완료 후 폼에 지정해둔 URL로 리다이렉트 되어지므로 리다이렉트 서버에서 업로드 종료 확인 처리가 이루어짐

ㅁ  장점

-       업로드 용 Ec2 인스턴스를 준비해야 하는 작업과 비용이 필요 없음

-       S3 확장성 및 유연성을 활용하여 업로드 처리의 부하 분산 가능

-       S3에 데이터가 업로드 되기 때문에 EC2 인스턴스 간의 공유가 간단해짐

 

ㅁ  주의점

-       S3와 연계하여 구현해야 하기 때문에 EC2만 이용한 업로드와 비교하면 구조가 복잡해 짐.

-       HTML 폼은 수동으로 만들 수 있어 S3만으로 HTML 폼의 배포와 업로드를 함께 사용할 수 있음.