본문 바로가기

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

Direct Hosting - 인터넷 스토리지 직접 호스팅

ㅁ  풀어야 할 문제

단기간 액세스가 급격이 늘어날 경우 상황에 맞춰 서버 증설이 어려움

거기에 대응하기 위해 액세스 양을 예측하여 많은 서버를 준비하는 방법도 있지만, 불필요하게 서버를 준비해 두면 비용 측면에서 문제가 발생

 

ㅁ  해결/패턴

이 패턴은 클라우드가 제공하는 인터넷 스토리지를 웹 서버로 이용하여 이미지나 동영상 등 큰 용량의 정적 파일이나 HTML 등을 호스팅 함

인터넷 스토리지는 원래 공유 스토리지로 사용하게 설계되어 있어 용량에 문제 없으며 특정 서비스의 액세스 수가 급격히 증가해도 인터넷 스토리지에서는 문제 없이 처리가 가능하여 부하 대책을 고려할 필요가 없다.

 

ㅁ  구현

-       인터넷 스토리지 S3에 공개할 정적 콘텐츠(HTML/CSS/자바스크립트/이미지/동영상 등)를 업로드함.

-       S3 버킷에 콘텐츠를 공개하게 설정한다. 버킷 정책에 버킷 콘텐츠를 공개하는 권한 설정

-       S3의 웹 사이트 호스팅 기능을 활성화하고 인덱스 페이지나 에러 페이지를 설정하면 S3자체로 웹 사이트를 호스트할 수 있다.

 

ㅁ 장점

-       정적 콘텐츠 액세스를 S3가 담당하기 때문에 웹 시스템 가용성과 안정성을 쉽게 높일 수 있다.

 

주의점

-       S3 상에서는 서버 사이트의 프로그램을 실행 시킬 수 없어, 로그인 사용자 별 다른 페이지를 보여주는 것은 불가능

-       S3에서 배포한 콘텐츠에 자바스크립트를 넣어 비동기 통신으로 다른 서버에서 데이터를 받아오고 싶을 때, 데이터를 받아오는 대상 서버와DNS명이 달라 자바스크립트 도메인 간 통신 제약에 따라 JSONP로 통신해야 함.