본문 바로가기

AWS Design Pattern/정적 콘텐츠 처리 패턴

WEB Storage 패턴 - 고가용성의 인터넷 스토리지 활용

ㅁ  풀어야 할 문제

동영상이나 고화질 이미지, Zip 파일 등 용량이 큰 파일을 한대의 웹 서버에서 배포할 때 네트워크 문제가 발생됨

그럴 때 네트워크 부하를 줄이기 위해 여러 대의 웹 서버로 부하를 분산하는 경우가 있지만 그 경우 비용이 문제됨

 

ㅁ  해결/패턴

대용량 파일을 인터넷 스토리지에 저장하고 거기서 직접 파일을 배포하면, 웹 서버의 네트워크 부하와 디스크 용량 문제 해결

인터넷 스토리지에 저장된 객체는 공개 설정하여 사용자가 직접 액세스 가능

이것을 이용하여 인터넷 스토리지에서 배포하도록 하면, 웹 서버 네트워크 분산을 줄일 수 있고 배포 파일을 동기화하기 위하여 가상 서버간 데이터를 복사할 필요가 없어짐

 

ㅁ  구현

배포할 콘텐츠를 S3에 저장하고 사용자가 직접 S3에서 다운로드 가능하도록 함

-       인터넷 스토리지 S3에 버킷을 만들고 공개 정적 콘텐츠(이미지/동영상/압축 파일 등)를 업로드 함

-       그 콘텐츠에 대해 사용자가 액세스할 수 있게 공개 설정 함. 공개 설정하면 각 콘텐츠 별로 URL 발급 됨

-       발급된 URL을 사용자에게 제공하거나 웹 페이지에 링크를 생성

 

ㅁ  장점

-       S3를 이용하며 네트워크 부하나 데이터 용량을 신경 쓰지 않아도 됨

-       S3는 세 곳 이상의 데이터 센터에서 백업을 하고 있어 안정성이 매우 높음

-       각 콘텐츠 별로 URL이 발급되기 때문에 파일을 S3에 저장만 하면, 파일 공유 등 여러가지 목적으로 활용 가능

 

ㅁ  주의점

-       S3로 배포하는 콘텐츠는 자체 DNS명을 붙일 필요가 있어 메인 사이트의 DNS명을 그대로 사용할 수 없다.

-       예를 들어, 메인 사이트가 www.mysite.org가 있다면 S3안의 컨텐츠는 data.mysite.org 등으로 다른 DNS명으로 해야 한다.

-       그 때문에 기존에 만들어 놓은 HTML 파일의 링크 위치를 변경해야 하는 경우도 있다. 이 경우 URL Rewriting 패턴을 이용해 웹 서버 모듈로 한번에 갱신하여 대응할 수 있다.