ㅁ 풀어야 할 문제
동영상이나 고화질 이미지, Zip 파일 등 용량이 큰 파일을 한대의 웹 서버에서 배포할 때 네트워크 문제가 발생됨
그럴 때 네트워크 부하를 줄이기 위해 여러 대의 웹 서버로 부하를 분산하는 경우가 있지만 그 경우 비용이 문제됨
ㅁ 해결/패턴
대용량 파일을 인터넷 스토리지에 저장하고 거기서 직접 파일을 배포하면, 웹 서버의 네트워크 부하와 디스크 용량 문제 해결
인터넷 스토리지에 저장된 객체는 공개 설정하여 사용자가 직접 액세스 가능
이것을 이용하여 인터넷 스토리지에서 배포하도록 하면, 웹 서버 네트워크 분산을 줄일 수 있고 배포 파일을 동기화하기 위하여 가상 서버간 데이터를 복사할 필요가 없어짐
배포할 콘텐츠를 S3에 저장하고 사용자가 직접 S3에서 다운로드 가능하도록 함
- 인터넷 스토리지 S3에 버킷을 만들고 공개 정적 콘텐츠(이미지/동영상/압축 파일 등)를 업로드 함
- 그 콘텐츠에 대해 사용자가 액세스할 수 있게 공개 설정 함. 공개 설정하면 각 콘텐츠 별로 URL 발급 됨
- 발급된 URL을 사용자에게 제공하거나 웹 페이지에 링크를 생성
- S3를 이용하며 네트워크 부하나 데이터 용량을 신경 쓰지 않아도 됨
- S3는 세 곳 이상의 데이터 센터에서 백업을 하고 있어 안정성이 매우 높음
- 각 콘텐츠 별로 URL이 발급되기 때문에 파일을 S3에 저장만 하면, 파일 공유 등 여러가지 목적으로 활용 가능
- S3로 배포하는 콘텐츠는 자체 DNS명을 붙일 필요가 있어 메인 사이트의 DNS명을 그대로 사용할 수 없다.
- 예를 들어, 메인 사이트가 www.mysite.org가 있다면 S3안의 컨텐츠는 data.mysite.org 등으로 다른 DNS명으로 해야 한다.
- 그 때문에 기존에 만들어 놓은 HTML 파일의 링크 위치를 변경해야 하는 경우도 있다. 이 경우 URL Rewriting 패턴을 이용해 웹 서버 모듈로 한번에 갱신하여 대응할 수 있다.
'AWS Design Pattern > 정적 콘텐츠 처리 패턴' 카테고리의 다른 글
Private Cache Distribution - CDN을 이용한 프라이빗 배포 (0) | 2021.02.05 |
---|---|
Rename Distribution - 변경 지연 없는 배포 (0) | 2021.02.05 |
Cache Distribution - 사용자와 물리적으로 가까운 위치에 데이터 배치 (0) | 2021.02.05 |
Private Distribution - 특정 사용자에게 데이터 배포 (0) | 2021.02.05 |
Direct Hosting - 인터넷 스토리지 직접 호스팅 (0) | 2021.02.05 |