함수를 사용하여 엣지에서 사용자 지정
Amazon CloudFront를 사용하면 자체 코드를 작성하여 CloudFront 배포에서 HTTP 요청 및 응답을 처리하는 방법을 사용자 지정할 수 있습니다. 코드는 최종 사용자(사용자) 가까이에서 실행되어 지연 시간을 최소화하고 서버나 기타 인프라를 관리할 필요가 없습니다. 코드를 작성하여 CloudFront를 통해 흐르는 요청 및 응답을 조작하고, 기본 인증 및 권한 부여를 수행하고, 엣지에서 HTTP 응답을 생성하는 등의 작업을 수행할 수 있습니다.
CloudFront 배포에 작성하고 연결하는 코드를 엣지 함수라고 합니다. CloudFront는 엣지 함수를 작성하고 관리하는 두 가지 방법을 제공합니다.
- CloudFront 함수
-
지연 시간에 민감한 대규모 CDN 사용자 지정을 위해 JavaScript로 경량 함수를 작성할 수 있습니다. CloudFront 함수 런타임 환경은 밀리초 미만의 시작 시간을 제공하고 초당 수백만 건의 요청을 처리할 수 있도록 즉시 확장되며 매우 안전합니다. CloudFront 함수는 CloudFront의 기본 기능입니다. 즉, CloudFront 내에서 완전히 코드를 빌드, 테스트 및 배포할 수 있습니다.
- Lambda@Edge
-
Lambda@Edge는 더 가까운 전체 애플리케이션 로직 및 복잡한 함수에 대한 강력하면서도 유연한 서버리스 컴퓨팅을 뷰어에게 제공하는 AWS Lambda
의 확장으로, 매우 안전합니다. Lambda@Edge 함수는 Node.js 또는 Python 런타임 환경에서 실행됩니다. 단일 AWS 리전에 함수를 게시하고, 함수를 CloudFront 배포에 연결하면 Lambda@Edge에서 자동으로 전 세계에 코드를 복제합니다.
CloudFront에서 AWS WAF를 실행하는 경우, CloudFront 함수 및 Lambda@Edge 모두에 AWS WAF 삽입 헤더를 사용할 수 있습니다. 이는 최종 사용자 및 오리진 요청과 응답에 사용할 수 있습니다.