AWS

CloudFront 주요 기능 정리

sendkite 2022. 7. 15. 00:49

CloudFront 정의

AWS에서 제공하는 CDN 서비스이다.

컨텐츠를 최적화 하여 보다 빠르게 유저에게 제공할 수 있다.

CloudFront 주요 기능

1) HTTPS 통신 지원

  • HTTP 통신도 유저와 통신할때 HTTPS 변경 서비스 지원

 

2) 정적/동적 컨텐츠 모두 최적화

  • 정적 컨텐츠
    • 이미지, CSS 등 서버가 필요없는 클라이언트 데이터 캐싱
    • 캐싱으로 접근 속도 최적화
  • 동적 컨텐츠 (다른 CDN과 다르게 동적 컨텐츠 최적화를 돕는다)
    • 로그인, 게시판 등 서버 계산, DB 조회가 필요한 내용등을 최적화
    • 네트워크 최적화, 연결 유지, Gzip 압축등을 사용하여 최적화 함
      • DNS Lookup, TCP Connection, Time to First Byte 등을 최적화
      • 즉, CloudFront는 통신를 최적화하는 기능을 제공한다.
     

3) 지리적 제한

  • 특정 지역, 국가에서 컨텐츠 접근 제한할 수 있다.

 

4) AWS 서비스 연계

  • AWS WAF - AWS 제공 보안 서비스
  • Lambda@Edge - Edge 로케이션에서 사용하는 AWS 서버리스 서비스
    • Origin 서버 대신 인증 수행
    • 쿠키를 검사해서 A/B 테스팅
    • Locale에 따른 국제화 메시징

 

  • CloudFront Function
    • Lambda@edge 1/6의 비용으로 경량 javascript (milisecond 단위의 간단한 작업) 실행. JS만 사용할 수 있다.
    • 캐싱, 헤더 조작
    • 경량의 javascript 만 사용할 수 있어서 잘 안쓰임

5) Reporting 기능

  • 캐싱 상태 : cache bit, cache miss, Errors 빈도
  • 가장 많이 요청 받은 컨텐츠
  • Top Referrer : 어떤 곳에서 타고 들어와서 우리의 web을 보는지

6) 정책 설정 (캐시)

AWS 관리형 캐시 정책 (기본 제공)

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html

  1. Cache Control : 캐싱 방법 및 압축
    • CloudFront의 캐싱 방법 결정
    • TTL 및 Cache Key 정책
  2. Origin Request
    • Origin 으로 어떤 내용을 보낼 것인지 결정
      • 디바이스 타입
      • IP Address
      • Country, 도시, 위도, 경도, 타임존
    • Origin에 쿠키, 헤더, 쿼리스트링 중 어떤것을 보낼 것인지 결정
  3. Viewer에게 보낼 HTTP Header
    • CloudFront Viewer에게 응답과 같이 실어 보낼 HTTP Header 정의

7) 보안 기능

  • Signed URL
    • 동영상 스트림 같은 경우 돈을 지불한 유저에게만 공개하도록 제어 가능
    • 하나의 파일, 하나의 컨텐츠에 대해서 제한
  • Signed Cookie
    • 다수의 컨텐츠의 제공 방식을 제어하고 싶을 때 사용
    • 다수의 파일 및 스트리밍 접근 허용 가능
  • Origin Access Identity (클라우드 프론트 → S3 접근일때만 사용 가능)
    • S3의 컨텐츠를 CloudFront를 사용해서만 볼 수 있도록 제한
    • S3 Bucket Policy로 CloudFront 접근 허용
  • Field Level Encryption
    • CloudFront와 Origin 사이의 통일을 암호화
    • 최대 10개의 필드
    • 공개키 방식임. (RSA)
  •  
반응형