ㅁ 풀어야 할 문제
- 컴퓨터나 모바일 장치의 보급에 따라 더 많은 사람이 더 많은 지역에서 인터넷 상의 콘텐츠에 액세스하게 됨
- 또 이미지나 동영상 데이터는 품질이 좋아져 데이터 양도 굉장히 많아지고 있음
- 사용자 경험(User Experience) 관점에서 보면, 보다 빠르고 안정적으로 데이터를 이용자에게 제공하고 싶어하지만 현재의 기술로는 어느 정도 통신 지연이 발생
- 이런 이유로 콘텐츠 배포 장소가 한 곳 밖에 없다면 사용자 경험이 나빠짐
ㅁ 해결/패턴
- 세계 각지에 있는 지역에 콘텐츠 배포 장소(origin)에서 배포되는 콘텐츠 캐시 데이터를 배치
- 이렇게 하여 지리적으로 이용자와 더 가까운 지역에서 콘텐츠를 배포하게 되고, 지리적/물리적 제약 해결 가능
- 이 패턴을 적용하면 사용자와 콘텐츠 배포 장소와 거리가 짧아져 사용자에게 빠른 응답 가능
- AWS의 CloudFront를 이용하여 전 세계의 캐시 서버(에지 서버)를 사용
- 콘텐츠 배포 장소인 오리진 서버를 결정해 콘텐츠를 배치
- 마스터 서버를 사용하도록 CloudFront를 설정함. 설정을 하면 [xxx.cloudfront.net/xxx]이라는 DNS명이 발급됨
- 자동으로 발급되는 이 DNS를 사용해도 되나 자신의 도메인 명을 사용하는 것도 가능
- 그 때는 오리진 서버 DNS명의 CNAME 레코드에 발급되는 CloudFront의 DNS명을 설정
- 거리가 떨어진 사용자에게 보다 좋은 사용자 경험 제공 가능
- 파일 다운로드 처리를 분산하여 부하분산 효과 가능
- On-Premise나 호스팅 등의 EC2 이외의 서버를 오리진 서버로 함으로써 기존 서버를 사용하면서 패턴 적용 가능
- 오리진 서버로는 S3를 직접 오리진으로 사용할 수 있다.
- 기본적으로 캐시 서버는 배포 장소인 마스터 서버 캐시 타임아웃 설정에 따라 캐싱을 함
- 그 때문에 캐시 타임아웃 전에 마스터 서버의 파일을 변경해도 캐시 서버는 변경되지 않는 경우가 발생
- 콘텐츠의 특성을 고려하여 캐시 타임아웃 설정을 해야 하며 Rename Distribution 패턴 이용도 검토 필요
'AWS Design Pattern > 정적 콘텐츠 처리 패턴' 카테고리의 다른 글
Private Cache Distribution - CDN을 이용한 프라이빗 배포 (0) | 2021.02.05 |
---|---|
Rename Distribution - 변경 지연 없는 배포 (0) | 2021.02.05 |
Private Distribution - 특정 사용자에게 데이터 배포 (0) | 2021.02.05 |
Direct Hosting - 인터넷 스토리지 직접 호스팅 (0) | 2021.02.05 |
WEB Storage 패턴 - 고가용성의 인터넷 스토리지 활용 (0) | 2021.02.05 |