CDN 및 AWS CloudFront 개념

황인찬·2025년 2월 7일
1

CDN(Content Delivery Network )?

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

CDN의 오리지널 서버는 본사, 사용자가 요청할 때 주는 곳은 체인점(=Edge) 이라고 생각하면 이해가 편함

장점

  1. 웹사이트 로딩 속도 개선: Origin 서버의 트래픽 부하 및 비용 ⬇️
  2. 인터넷 회선 비용 절감: 서버 비용 ⬇️
  3. 컨텐츠 제공의 안정성: 인터넷 서비스 제공자에 직접 연결되어 데이터를 전송하므로 빠른 속도로 컨텐츠 제공 가능
  4. 웹사이트 보안 개선: 대규모 분산 서버 장비로 공격 트래픽 ⬇️

단점

  1. 특정 국가나 지역만을 타깃으로 하는 경우 불필요한 연결 지점 ⬆️ → 웹사이트의 성능 저하
  2. 서비스 규모에 비해 서버 개수가 적다면 한 서버에 요청이 집중적으로 몰렸을 때 서버가 다운될 수 있음

동작원리

  1. 최초 요청은 서버로부터 컨텐츠를 가져와 고객에게 전송하며 동시에 CDN 캐싱 장비에 저장
  2. 두번째 이 후 모든 요청은 CDN 업체에서 지정하는 해당 컨텐츠 만료 시점까지 CDN 캐싱 장비에 저장된 컨텐츠를 전송
  3. 자주 사용하는 페이지에 한해서 CDN 장비에서 캐싱이 되며, 해당 컨텐츠 호출이 없을 경우 주기적으로 삭제
  4. 서버가 파일을 찾는 데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾아 엔드유저에게 응답을 전송
  5. 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 서버에 대한 요청을 프록시로 작동하여 향후 요청에 대해 응답할 수 있도록 새로운 콘텐츠를 저장

CloudFront?

CloudFront는 AWS에서 제공하는 CDN 서비스

cloudfront

구성

  • Origin Server
    • 원본 데이터를 가지고 있는 서버
    • AWS에서는 S3, EC2 instance를 나타냄
  • Edge Server
    • AWS 에서 실질적으로 제공하는 전 세계에 퍼져있는 서버
    • Edge Server에는 요청 받은 데이터에 대해서 빠르게 응답해주기 위해 캐싱 기능을 제공

동작원리

  1. 사용자로부터 요청이 발생
  2. 요청이 발생한 Edge Server는 요청이 발생한 데이터에 대하여 캐싱 여부를 확인
  3. 캐싱 데이터가 존재하면 사용자에 요청에 맞게 응답하고 존재하지 않으면 Origin Server로 요청
  4. 요청 받은 데이터에 대해 Origin Server로부터 전달 받은 Edge Server는 캐싱 데이터를 생성하고 사용자에게 응답

CloudFront와 S3 연동의 이점

  1. 콘텐츠 캐싱을 통한 S3 부하 감소
  2. Edge Location을 통한 응답속도 향상
  3. 콘텐츠 보안 유지
    cloudfront-s3

참고 자료 및 링크

profile
찬이's 개발로그

0개의 댓글