CloudeFront

CDN으로 제공해주는 서비스

CDN

  • Content Delivery Network

  • Content Distribution Network

  • 지리적 제약 없이 전 세계 사용자들에게 빠르게 컨텐츠를 전송하는 기술

    • 지역마다 캐시 서버를 설치

  • 정적인 파일에 대해서 캐시 역할을 해주는 서버

  • 유저에 편의를 위한 서비스 (로딩 속도, 트래픽 관리 등)

  • 대표 서비스 업체

    • cloudflare

    • aws, gcp, azure

장점

  • 자주 사용되는 파일의 병목 현상해결

  • 빠르고 안정적으로 전송

  • 로딩 속도 개선

  • 트래픽 절약

CloudFront

AWS에서 CDN을 제공해주는 서비스

  • 이미지 파일뿐만 아니라, html, css, js 같은 정적 및 동적 웹 컨텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스

  • 엣지 로케이션이라 불리는 데이터 센터의 전 세계 네트워크를 통해 컨텐츠를 제공

CloudFront + S3

  • Origin Server: S3

    • 초당 READ 요청 5,500회까지 가능

    • 그 이상 호출시 503 slow down 에러 발생

  • Cache Server: CloudFront

    • s3랑 비교도 안될정도로 빠름

    • 초당 250,000회가 기본

    • 기본 전송 속도 150Gbps

CloudFront 비용

  1. Amazon S3 버킷에서의 스토리지에 대한 요금

  2. 엣지 로케이션에서 객체 서비스에 대한 요금 (트래픽 비용, 가장 많은 비용을 담당)

  • CloudFront가 객체에 대한 요청에 응답할 때

  1. 오리진에 데이터 제출에 대한 요금 청구

  • 사용자가 DELETE/OPTIONS/PATCH/POST/PUT 요청을 포함하는 데이터를 오리진에 전송하는 경우

CloudFront와 S3 정적호스팅 차이점

S3 정적 웹 호스팅

  • S3에서 기본으로 제공해주는 정적 리소스 호스팅 기능

  • CloudFront와 같이 S3에 있는 파일을 전달

  • 요즘은 거의 안쓰는 기술

    • CloudFront에서 제공하는 기능이 더 많기 때문

  • 내부망 전용 웹사이트에 적합 (어드민, 모니터링 서비스 등)

CloudFront에서만 제공해주는 기능들

  • ACM

    • TLS(인증서, ex-https): HTTPS를 제공, 인증서 갱신 할당 등, S3 호스팅만으로는 https 제공 X

  • redirect http to https

  • caching: S3 호스팅에서는 헤더에 캐시 관련 설정을 해두면 캐싱기능은 가능하지만 기본적으로 제공하지 않음

  • multiple s3 bucket: S3 호스팅의 경우 하나의 버킷만 제공

  • labmda@edge: CDN 위치에서 실행되는 서버리스 함수

    • 클라이언트(요청), 서버(응답) 타이밍에 개입하여 로직 처리

    • URL 리다이렉트/리라이트, 국가별 컨텐츠 분기, 인증 체크, A/B 테스트, 헤더 조작, 캐싱 전략 제어 등

    • 서버를 거치지 않고 CDN에서 처리하므로, 서버 부하 감소 이점 있음

  • WAF: 방화벽

Last updated