CloudFront & Lamda@Edge 찍먹

KimJinkYU·2022년 7월 15일
0

개발 기록

목록 보기
6/8
post-thumbnail

  • CloudFront가 최종 사용자의 요청을 수신한 후(최종 사용자 요청)
  • CloudFront가 오리진에 요청을 전달하기 전(오리진 요청)
  • CloudFront가 오리진으로부터 응답을 수신한 후(오리진 응답)
  • CloudFront가 최종 사용자에게 응답을 전달하기 전(최종 사용자 응답)

AWS CDN 서비스인 CloudFront와 Lambda@Edge를 이용하여 위의 4가지 상황에서 함수를 호출하여 데이터 처리가 가능하다.

Lambda@Edge를 사용하면 다음과 같은 다양한 솔루션을 구축할 수 있다.

  • 다양한 버전의 사이트에 URL을 다시 쓰기 위해 쿠키를 검사합니다(A/B 테스트용).
  • 요청을 제출한 디바이스에 대한 정보가 포함된 User-Agent 헤더를 기반으로 사용자에게 다른 객체를 전송합니다. 예를 들어 디바이스별로 사용자에게 서로 다른 해상도로 이미지를 보낼 수 있습니다.
  • 헤더 또는 허가된 토큰을 검사하여 요청을 오리진에 전달하기 전에 해당 헤더를 삽입하고 액세스 제어를 허용합니다.
  • 헤더를 추가, 삭제 및 수정하고 캐시의 다양한 객체로 사용자를 이동시키도록 URL 경로를 다시 씁니다.

현재 회사에서는 CloudFront와 Lambda@Edge를 이용하여 이미지 리사이징, 워터마크 추가, 인증마크 추가 등을 하고 있다.

Lambda@Edge에 대한 제한 사항

다음 제한 사항은 Lambda@Edge에만 적용됩니다.

Lambda 함수 버전

$LATEST 또는 별칭이 아니라 번호가 매겨진 Lambda 함수 버전을 사용해야 합니다.

Lambda 리전

Lambda 함수는 미국 동부(버지니아 북부) 리전에 있어야 합니다.

CloudFront 함수에 대한 제한

다음 제한은 CloudFront 함수에만 적용됩니다.

로그

CloudFront 함수의 함수 로그는 10KB로 잘립니다.

요청 본문

CloudFront 함수가 HTTP 요청의 본문에 액세스할 수 없습니다.

참고 자료

제한사항: https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/edge-functions-restrictions.html

lambda@Edge: https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/lambda-edge.html

profile
I'll do my best

0개의 댓글