CDN

katrina·2021년 10월 27일
0

CDN(Contents Delivery Network)

콘텐츠 제공자와 사용자 간 지리적으로 떨어져 있는 환경에서 콘텐츠를 빠르게 제공하기 위한 기술
CDN 서버에 콘텐츠를 분산시키고 유저의 네트워크 경로 상 가장 가까운 곳의 서버로부터 콘텐츠를 전송받도록 하여 트래픽이 특정 서버에 집중되지 않도록 각 지역 서버로 분산되도록 하는 기술.
CDN을 통해 온라인 상의 대용량 콘텐츠를 저렴한 비용으로 빠르게 전송 가능.

CDN 캐싱 방식

캐싱이란 오리진 서버에 저장된 콘텐츠를 지역적으로 분산된 캐시 서버로 저장하는 행위
캐시 서버에 콘텐츠를 갖고 있으면 "Cache hit", 그렇지 않으면 "Cache Miss"

정적 캐싱(Static Caching)
이미지 파일, js, css 등과 같이 변경되지 않는 정적인 콘텐츠 캐싱.

동적 캐싱(Dynamic Caching)
사용자의 요청이나 데이터 정보를 기반으로 즉석에서 생성되는 동적 콘텐츠의 경우 캐싱하더라도 cache hit율이 낮아 캐싱의 이점을 갖긴 어려우나 TTL을 설정하여 오리진 서버 간의 빠른 통신 가능.

TTL(Time to Live)?
콘텐츠를 캐싱하여 유지하는 기간. 동적 캐싱은 실제 콘텐츠를 캐싱하지 않기 때문에 TTL=0으로 설정

Cloud Front

AWS에서 제공하는 오리진 대상의 콘텐츠를 캐싱하여 짧은 지연 시간과 빠른 전송 속도로 전 세계 사용자에게 콘텐츠를 전송하는 CDN 서비스

cloudFront architecture

  • Origin : AWS 서비스중 EC2, ELB, S3가 오리진 대상이 될 수 있음.
  • Distribution : 오리진과 edge location중간에 콘텐츠를 배포하는 역할을 수행하는 CF의 독립적인 단위. http(s) 전용의 Web Distribution과 동영상 콘텐츠 전용의 RTMP Distribution으로 나눠짐.
  • Edge Location : Origin에서 Distribute을 통해 배포되는 콘텐츠를 캐싱하는 장치. 큰단위로 리전별 edge Cache가 있고 하위에 edge Location이 구성되어 콘텐츠를 캐싱.
  • 보안장치 : OSI 3/4계층 Ddos를 완화하는 AWS shield 및 OSI 7계층을 보호하는 AWS WAF와 원활하게 통합하여 보안 강화
  • 도메인 구성 : Distribution을 생성하면 xxxx.cloudfront.net이라는 도메인 이름이 생성되며 사용자는 해당 도메인 이름으로 접근이 가능. 이때 route 53과 연결하여 사용자가 원하는 도메인 이름으로 별칭 부여 가능.

Reference
CloudFront

0개의 댓글