[2023 기능대회 준비] 6. CloudFront

Yohan_05·2023년 3월 20일
0
post-thumbnail

클라우드 프론트에 대한 실습이 부족했던지라 개념에 대해서 좀 더 정리해보려고한다.

CloudFront

클라우드프론트는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크 서비스임.

CloudFront는 CDN 서비스 이외에도 기본 보안 기능을 제공함.

CloudFront 동작방식

cloudfront는 aws 백본 네트워크를 통해 콘텐츠를 가장 효과적으로 서비스할 수 있는 엣지로 각 사용자 요청을 라우팅하여 콘텐츠 배포 속도를 높임. 일반적으로 CloudFront 엣지가 최종 사용자에게 가장 빨리 제공함.

쉽게 말하면 가장 가까운 캐시서버로 접속을 하여서 빠른 속도로 서비스를 제공하는 것이다.

CloudFront 데이터 전달 과정

  1. 클라이언트로부터 Edge Server로의 요청이 발생
  2. Edge Server는 요청이 발생한 데이터에 대하여 캐싱 여부를 확인
  3. 사용자의 근거리에 위치한 Edge Server 중 캐싱 데이터가 존재한다면 사용자의 요청에 맞는 데이터를 응답. 사용자의 요청에 적합한 데이터가 캐싱되어있지 않은 경우 Origin Server로 요청이 포워딩
  4. 요청받은 데이터에 대해 Origin Server에서 획득한 후 Edge Server에 캐싱 데이터를 생성하고, 클라이언트로 응답이 발생.

정적&동적 컨텐츠 분별 제공

정적 컨텐츠

  • 서버를 거치지 않고 클라이언트에서 직접 보여주는 내용
  • 캐싱으로 접근 속도 최적화

동적 컨텐츠

  • 서버 계산, DB조회 등이 필요한 내용
  • 네트워크 최적화, 연결 유지, Gzip압축등을 사용
  • 서버랑 통신을 할 때 전처리 작업이 있는데, 주소가 어디로 전달되는지, TCP Connection, Time to First byte 등을 CloudFront에서 네트워크를 최적화함.
  • 실제로 내용을 최적화해서 보내는 것이 아니라, 통신을 최적화 해서 속도를 최적화 시키는 것.

경로 패턴으로 URL에 따라 정적/동적 컨텐츠 분기 처리 가능.

HTTS 지원

Origin에서 https 를 지원하지 않더라도 클라우드 프론트내에서 https 통신을 지원할 수 있도록 구성 가능.

지리적 제한 설정

특정 지역의 컨텐츠 접근을 제한 가능하다. 뭐.. 대한민국에서 트위치 다시보기 안되는 느낌처럼 말이다.

profile
안녕하세요 DevOps 엔지니어로 현업에서 활동중인 요한이라고 합니다.

0개의 댓글