You are a developer, not a coder.

정적 콘텐츠를 낮은 비용으로 배포 본문

AWS

정적 콘텐츠를 낮은 비용으로 배포

Mattmk 2020. 5. 11. 14:41
SMALL

정적 콘텐츠 전달 비용을 줄이려면 CloudFront, S3를 사용하면 된다.

CloudFront는 CDN의 일종으로 세계 각지에 배치된 서버에서 콘텐츠를 개시하고 전달한다.

캐시에 히트한 경우에는 웹 서버와 DB 서버에 접속하지 않으므로 서버의 부하를 낮춰 운영 비용을 절감할 수 있다.

그러므로, 정적 콘텐츠를 관리하기에 매우 적합한 서비스 조합이다.

 

CloudFront, S3를 활용한 정적파일 배포

 

다음과 같이 설정하게 되면 브라우저는 CloudFront에서 콘텐츠를 가져오게 된다.

CloudFront에 캐시되지 않은 콘텐츠는 오리지널인 ELB로 가지러 간다.

일단 사용자가 액세스한 콘텐츠는 CloudFront에 캐시된다. 이후 같은 콘텐츠에 대한 액세스는 CloudFront가

캐시된 콘텐츠를 그대로 배포한다.

CloudFront뿐만 아니라 정적 콘텐츠를 S3에 두는 방법을 같이 사용하게 되면 웹 서버의 부하를 줄여, 낮은 비용으로 배포할 수 있다.

S3에 파일을 저장하게 되면 파일 단위로 접속용 URL이 생기게 되는데, 이것을 이용해 정적 콘텐츠 저장소로 활용하게 된다. S3 요금 체계는 EC2보다 낮게 설정되어 있기 때문에 정적 콘텐츠는 S3에 배치하는 것이 비용상 유리하다.

CloudFront는 정적 콘텐츠뿐만 아니라 동적 콘텐츠도 배포할 수 있다.

CloudFront의 참조 분리 기능을 이용하면 동적 콘텐츠는 ELB에서, 정적 콘텐츠는 S3에서 가져올 수 있다.

단, URL 와일드카드를 지정하여 정적 및 동적 콘텐츠를 구별할 수 있다는것을 전제로 한다.

CloudFront 사용 시에는 콘텐츠의 디렉터리 구성, 파일 네이밍 규칙도 함께 고려해야한다.

그렇지 않으면 매우 복잡하게 설정을 하게 된다.

 

LIST
Comments