[AWS] CloudFront Functions와 Lambda@Edge의 차이점!!
CloudFront Functions와 Lambda@Edge는 모두 CloudFront 이벤트에 대한 응답으로 코드를 실행하는 방법을 제공합니다.
CloudFront Functions는 다음과 같은 사용 사례에 적합한 가볍고 단기 실행 함수에 적합합니다.
캐시 키 정규화 – HTTP 요청 속성(헤더, 쿼리 문자열, 쿠키, URL 경로까지)을 변환하여 최적의 캐시 키를 생성함으로써 캐시 적중률을 개선할 수 있습니다.
헤더 조작 – 요청이나 응답에 HTTP 헤더를 삽입, 수정 또는 삭제합니다. 예를 들어,
True-Client-IP
모든 요청에 헤더를 추가할 수 있습니다.URL 리디렉션 또는 재작성 – 요청에 포함된 정보에 따라 시청자를 다른 페이지로 리디렉션하거나 모든 요청을 한 경로에서 다른 경로로 재작성합니다.
요청 권한 부여 – 권한 부여 헤더나 기타 요청 메타데이터를 검사하여 JSON 웹 토큰(JWT)과 같은 해시된 권한 부여 토큰을 검증합니다.
CloudFront Functions를 시작하려면 CloudFront Functions를 사용하여 에지에서 사용자 지정을 참조하세요 .
Lambda@Edge는 다음과 같은 사용 사례에 적합합니다.
완료하는 데 몇 밀리초 이상이 걸리는 기능
조정 가능한 CPU 또는 메모리가 필요한 기능
AWS SDK(다른 AWS 서비스와 통합하기 위한)를 포함한 타사 라이브러리에 의존하는 기능
외부 서비스를 사용하여 처리하기 위해 네트워크 액세스가 필요한 기능
파일 시스템 액세스 또는 HTTP 요청 본문 액세스가 필요한 기능
Lambda@Edge를 시작하려면 Lambda@Edge로 에지에서 사용자 지정을 참조하세요 .
사용 사례에 맞는 옵션을 선택하는 데 도움이 되도록 다음 표를 사용하여 CloudFront Functions와 Lambda@Edge의 차이점을 파악하세요.
CloudFront 기능 | 람다@엣지 | |
---|---|---|
프로그래밍 언어 | JavaScript(ECMAScript 5.1 호환) | Node.js와 Python |
이벤트 소스 |
|
|
예 CloudFront KeyValueStore는 JavaScript 런타임 2.0 만 지원합니다. | 아니요 | |
규모 | 초당 10,000,000개 이상의 요청 | 지역당 초당 최대 10,000개의 요청 |
함수 지속 시간 | 서브밀리초 | 최대 5초(시청자 요청 및 시청자 응답) 최대 30초(원본 요청 및 원본 응답) |
최대 함수 메모리 크기 | 2MB | 128MB(시청자 요청 및 시청자 응답) 10,240MB(10GB)(원본 요청 및 원본 응답) 자세한 내용은 Lambda@Edge의 할당량을 참조하세요 . |
함수 코드와 포함된 라이브러리의 최대 크기 | 10KB | 50MB(시청자 요청 및 시청자 응답) 50MB(원본 요청 및 원본 응답) |
네트워크 접속 | 아니요 | 예 |
파일 시스템 접근 | 아니요 | 예 |
요청 본문에 접근 | 아니요 | 예 |
지리적 위치 및 장치 데이터에 대한 액세스 | 예 | 아니요(시청자 요청 및 시청자 응답) 예(원본 요청 및 원본 응답) |
CloudFront 내에서 완전히 빌드하고 테스트할 수 있습니다. | 예 | 아니요 |
기능 로깅 및 메트릭 | 예 | 예 |
가격 | 무료 계층 제공, 요청당 요금 청구 | 무료 계층 없음; 요청 및 기능 기간당 요금 청구 |
댓글
댓글 쓰기