CDN(Content Delivery Network )?
캐시 서버에 콘텐츠들을 저장해두었다가 사용자의 요청이 있을 때 사용자에게서 가장 가까운 서버에서 해당 콘텐츠를 전달하는 용도로 사용

CDN의 오리지널 서버는 본사, 사용자가 요청할 때 주는 곳은 체인점(=Edge) 이라고 생각하면 이해가 편함
장점
- 웹사이트 로딩 속도 개선: Origin 서버의 트래픽 부하 및 비용 ⬇️
- 인터넷 회선 비용 절감: 서버 비용 ⬇️
- 컨텐츠 제공의 안정성: 인터넷 서비스 제공자에 직접 연결되어 데이터를 전송하므로 빠른 속도로 컨텐츠 제공 가능
- 웹사이트 보안 개선: 대규모 분산 서버 장비로 공격 트래픽 ⬇️
단점
- 특정 국가나 지역만을 타깃으로 하는 경우 불필요한 연결 지점 ⬆️ → 웹사이트의 성능 저하
- 서비스 규모에 비해 서버 개수가 적다면 한 서버에 요청이 집중적으로 몰렸을 때 서버가 다운될 수 있음
동작원리
- 최초 요청은 서버로부터 컨텐츠를 가져와 고객에게 전송하며 동시에 CDN 캐싱 장비에 저장
- 두번째 이 후 모든 요청은 CDN 업체에서 지정하는 해당 컨텐츠 만료 시점까지 CDN 캐싱 장비에 저장된 컨텐츠를 전송
- 자주 사용하는 페이지에 한해서 CDN 장비에서 캐싱이 되며, 해당 컨텐츠 호출이 없을 경우 주기적으로 삭제
- 서버가 파일을 찾는 데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾아 엔드유저에게 응답을 전송
- 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 서버에 대한 요청을 프록시로 작동하여 향후 요청에 대해 응답할 수 있도록 새로운 콘텐츠를 저장
CloudFront?
CloudFront는 AWS에서 제공하는 CDN 서비스

구성
- Origin Server
- 원본 데이터를 가지고 있는 서버
- AWS에서는 S3, EC2 instance를 나타냄
- Edge Server
- AWS 에서 실질적으로 제공하는 전 세계에 퍼져있는 서버
- Edge Server에는 요청 받은 데이터에 대해서 빠르게 응답해주기 위해 캐싱 기능을 제공
동작원리
- 사용자로부터 요청이 발생
- 요청이 발생한 Edge Server는 요청이 발생한 데이터에 대하여 캐싱 여부를 확인
- 캐싱 데이터가 존재하면 사용자에 요청에 맞게 응답하고 존재하지 않으면 Origin Server로 요청
- 요청 받은 데이터에 대해 Origin Server로부터 전달 받은 Edge Server는 캐싱 데이터를 생성하고 사용자에게 응답
CloudFront와 S3 연동의 이점
- 콘텐츠 캐싱을 통한 S3 부하 감소
- Edge Location을 통한 응답속도 향상
- 콘텐츠 보안 유지

참고 자료 및 링크