Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS CloudFront란?

seongduck 2023. 1. 11. 19:06

AWS CloudFront란?


  • 컨텐츠 전송 네트워크 서비스 (CDN, Contents Delivery Network)
  • Edge Location의 콘텐츠 캐싱을 이용해 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 서비스
    • 직접 오리진으로 접근하지 않음
  • 전세계에 배포된 200개 이상의 Edge Location을 이용하여 콘텐츠 전송
  • Edge Location은 데이터를 임시 저장할 수 있는 캐싱 기능이 있다.

 

출처 : aws 자격증 어소시에이트

 

CloudFront 특징

  • 사용자에게 가장 가까운 곳의 엣디 로케이션으로 데이터를 전송한다. (글로벌 배포 포함)
  • 콘텐츠 지연 시간을 최소화 하면서 제공하므로 비디오 콘텐츠 등의 실시간 스트리밍 배포에 적합
  • 웹사이트 속도 또한 높으며 EC2 등의 오리진 서버로 접근하지 않아 부하를 줄일 수 있음
  • 오리진에서 CloudFront로 전송되는 비용은 부과되지 않으므로 비용 절감 효과
  • 사용자의 요청 헤더 값(디바이스, 최종 사용자 위치, 사용하는 언어)등에 따라 서로 다른 버전의 컨텐츠를 캐싱하여 제공함
    • 영어를 쓰는 사람, 나라는 영어로 제공, 한국어를 쓰는 사람은 한국어로 제공 등등...

 

Price Classes 가격표

  • 비용 절감을 위해 가격등급에 따라 배포하는 엣지 로케이션 수를 줄일 수 있다.
  • 3가지 가격등급이 존재한다.
    • 전체 가격 등급 (Price Class All) : 모든 리전에 배포
    • 가격 등급 200 (Price Class 200) : 대부분의 리전에 배포
    • 가격 등급 100 (Price Class 100) : 일부 리전에 배포하며 가장 낮은 비용

 

Origin Group

  • CloudFront에 대한 고가용성
  • 오리진 장애 조치를 사용하여 이를 설정
  • 기본 오리진과 보조 오리진이 포함된 오리진 그룹을 생성
  • 기본 오리진을 사용할 수 없거나 실패를 나타내는 특정 HTTP 응답 상태 코드를 반환하는 경우 CloudFront는 자동으로 보조 오리진으로 전환

  • Origin Group ( Origin A + Origin B)
  • 에러 발생 시 (실패시) 보조 오리진으로 자동 연결

 

Lambda@Edge

  • CloudFront를 통해 전달되는 콘텐츠를 사용자 지정하는 함수를 실행할 수 있게 해주는 서비스
  • python, Node.js를 작성한 후 사용자와 가장 가짜운 엣지 로케이션에 해당 함수를 실행
  • 다음과 같은 CloudFront 이벤트가 발생할 때 Lambda 함수를 실행
    • 최종 사용자의 요청을 수신할 때(최종 사용자 요청)
    • 오리진에 요청을 전달하기 전(오리진 요청)
    • 오리진의 응답을 수신할 때(오리진 응답)
    • 최종 사용자에게 응답을 반환하기 전(최종 사용자 응답)
  • Lambda@Edge 사용 에
    • A/B테스트를 위해 사이트의 다양한 버전을 볼 수 있도록 쿠키를 검사하고 URL을 다시 작성
    • User-Agent 헤더를 확인하여 사용중인 디바이스를 기반으로 디바이스의 화면 크게이 따라 다른 이미지를 반환
    • 최종 사용자 요청 또는 오리진 요청 이벤트가 발생할때 HTTP 응답을 생성
    • 데이터 전송 비용을 줄이기 위해 사용자에게 전송되는 파일을 압축

 

'Cloud Infra Architecture (AWS) > AWS SAA-C03' 카테고리의 다른 글

AWS CloudFront 배포해보기  (0) 2023.01.11
AWS 스토리지 서비스 비교  (0) 2023.01.11
AWS BackUp이란?  (0) 2023.01.11
AWS Data Sync란?  (0) 2023.01.11
AWS Snow Family란?  (0) 2023.01.11