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