CloudFront Functions | Lambda@Edge | |
---|---|---|
실행 위치 | CloudFront 엣지 로케이션에서 실행 | CloudFront 엣지 로케이션에서 실행 및 리전 간 확장 |
실행 시간 (최대) | 1밀리초 (ms) 이하 | 5초 (최대 실행 시간) |
언어 지원 | JavaScript (V8 엔진 기반) | Node.js, Python |
제한사항 | 단순한 HTTP 요청/응답 조작에 적합 | 복잡한 로직과 외부 서비스 통합 가능 |
비용 | 매우 저렴 (요청 수 기반 과금) | 상대적으로 비싸며 실행 시간 기준 과금 |
콜드 스타트 | 거의 없음 | 가끔 콜드 스타트로 지연 발생 가능 |
유스케이스 | - HTTP 헤더 조작 | - 복잡한 데이터 처리 및 변환 |
- URL 재작성 및 리다이렉션 | - 외부 API 호출 및 사용자 인증 | |
- 캐시 키 수정 | - 동적 콘텐츠 생성 | |
배포 시간 | 거의 실시간 | 몇 분 소요될 수 있음 |
메모리 할당 | 고정 (제한적) | 최대 3GB까지 설정 가능 |
제어 권한 | 제한적 (간단한 로직 실행에 초점) | 세밀한 제어와 복잡한 프로그래밍 가능 |
트리거 이벤트 | Viewer Request/Response만 지원 | Viewer 및 Origin Request/Response 모두 지원 |
- CloudFront Functions: 초경량 및 저지연 작업에 적합하며, 단순한 HTTP 헤더 조작이나 URL 리다이렉션에 사용됨.
- Lambda@Edge: 복잡한 작업이나 외부 API 호출이 필요한 상황에 적합하며, 더 다양한 프로그래밍 언어와 유연한 기능을 제공함.
둘 다 CloudFront 엣지 로케이션에서 실행되지만,
CloudFront Functions는 성능과 비용 효율성을 강조하고, Lambda@Edge는 기능 확장성과 복잡한 로직 처리를 지원하는 서비스.
PS
Java 같은 언어를 지원하지 않는 이유는 실행 환경 초기화 시간이 상대적으로 길기 때문에 위 서비스들의 설계 목표와 부합하지 않기 때문.
728x90
'AWS' 카테고리의 다른 글
[AWS] CloudWatch Insights (1) | 2024.12.15 |
---|---|
[AWS] RDS Event Notifications (0) | 2024.12.13 |
[AWS] App2Container (0) | 2024.12.13 |
[AWS] Kinesis Data Firehose (0) | 2024.12.12 |
[AWS] Kinesis Data Streams (0) | 2024.12.12 |
댓글