Lambda@Edge
- Lambda@Edge is an extension of AWS Lambda, a compute service that lets you execute functions that customize the content that CloudFront delivers. 
- You can author Node.js or Python functions in one Region, US-East-1 (N. Virginia), and then execute them in AWS locations globally that are closer to the viewer, without provisioning or managing servers. 
- Lambda@Edge scales automatically, from a few requests per day to thousands per second. 
- Processing requests at AWS locations closer to the viewer instead of on origin servers significantly reduces latency and improves the user experience. 
- When you associate a CloudFront distribution with a Lambda@Edge function, CloudFront intercepts requests and responses at CloudFront edge locations. 
- You can execute Lambda functions when the following CloudFront events occur: - When CloudFront receives a request from a viewer (viewer request) 
- Before CloudFront forwards a request to the origin (origin request) 
- When CloudFront receives a response from the origin (origin response) 
- Before CloudFront returns the response to the viewer (viewer response) 
 

Use Cases
- A Lambda function can inspect cookies and rewrite URLs so that users see different versions of a site for A/B testing. 
- CloudFront can return different objects to viewers based on the device they're using by checking the - User-Agentheader, which includes information about the devices.- For example, CloudFront can return different images based on the screen size of their device. 
 
- For example, on a retail website that sells clothing, if you use cookies to indicate which colour a user chose for a jacket, a Lambda function can change the request so that CloudFront returns the image of a jacket in the selected colour. 
Last updated
Was this helpful?