ㅁ 풀어야 할 문제
단기간 액세스가 급격이 늘어날 경우 상황에 맞춰 서버 증설이 어려움
거기에 대응하기 위해 액세스 양을 예측하여 많은 서버를 준비하는 방법도 있지만, 불필요하게 서버를 준비해 두면 비용 측면에서 문제가 발생
ㅁ 해결/패턴
이 패턴은 클라우드가 제공하는 인터넷 스토리지를 웹 서버로 이용하여 이미지나 동영상 등 큰 용량의 정적 파일이나 HTML 등을 호스팅 함
인터넷 스토리지는 원래 공유 스토리지로 사용하게 설계되어 있어 용량에 문제 없으며 특정 서비스의 액세스 수가 급격히 증가해도 인터넷 스토리지에서는 문제 없이 처리가 가능하여 부하 대책을 고려할 필요가 없다.
- 인터넷 스토리지 S3에 공개할 정적 콘텐츠(HTML/CSS/자바스크립트/이미지/동영상 등)를 업로드함.
- S3 버킷에 콘텐츠를 공개하게 설정한다. 버킷 정책에 버킷 콘텐츠를 공개하는 권한 설정
- S3의 웹 사이트 호스팅 기능을 활성화하고 인덱스 페이지나 에러 페이지를 설정하면 S3자체로 웹 사이트를 호스트할 수 있다.
- 정적 콘텐츠 액세스를 S3가 담당하기 때문에 웹 시스템 가용성과 안정성을 쉽게 높일 수 있다.
- S3 상에서는 서버 사이트의 프로그램을 실행 시킬 수 없어, 로그인 사용자 별 다른 페이지를 보여주는 것은 불가능
- S3에서 배포한 콘텐츠에 자바스크립트를 넣어 비동기 통신으로 다른 서버에서 데이터를 받아오고 싶을 때, 데이터를 받아오는 대상 서버와DNS명이 달라 자바스크립트 도메인 간 통신 제약에 따라 JSONP로 통신해야 함.
'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 |
WEB Storage 패턴 - 고가용성의 인터넷 스토리지 활용 (0) | 2021.02.05 |