Lambda@Edge를 사용하여 엣지에서 사용자 지정 - 아마존 CloudFront

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Lambda@Edge를 사용하여 엣지에서 사용자 지정

Lambda@Edge는 AWS Lambda의 확장된 컴퓨팅 서비스입니다. Lambda @Edge 는 제공하는 콘텐츠를 사용자 지정하는 함수를 실행할 수 있는 컴퓨팅 서비스입니다. CloudFront 서버를 프로비저닝하거나 관리하지 않고 한 리전 US-East-1(버지니아 북부)에서 Node.js 또는 Python 함수를 작성한 후 뷰어에게 가까운 전 세계 AWS 위치에서 해당 함수를 실행할 수 있습니다. Lambda@Edge는 하루 몇 번의 요청에서 초당 수천 개의 요청으로 자동 확장됩니다. 오리진 서버가 아니라 최종 사용자에게 가까운 AWS 위치에서 요청을 처리하므로 지연 시간이 크게 단축되고 사용자 경험이 상당히 개선됩니다.

CloudFront 배포를 Lambda @Edge 함수와 연결하면 엣지 로케이션에서 요청 CloudFront 및 응답을 인터셉트합니다. CloudFront 다음과 같은 이벤트가 발생할 때 Lambda 함수를 실행할 수 있습니다. CloudFront

  • 뷰어로부터 요청을 CloudFront 받는 경우 (뷰어 요청)

  • 요청을 오리진에 CloudFront 전달하기 전 (오리진 요청)

  • 오리진으로부터 응답을 CloudFront 받는 경우 (오리진 응답)

  • 시청자에게 응답을 CloudFront 반환하기 전에 (시청자 응답)

Lambda@Edge 처리는 여러 용도로 사용됩니다. 예:

  • Lambda 함수는 사용자가 A/B 테스트를 위해 사이트의 다양한 버전을 볼 수 있도록 쿠키를 검사하고 URL을 다시 작성합니다.

  • CloudFront 장치에 대한 정보가 포함된 User-Agent 헤더를 확인하여 시청자가 사용 중인 장치에 따라 시청자에게 다른 객체를 반환할 수 있습니다. 예를 들어, 디바이스의 화면 크기에 따라 다른 이미지를 CloudFront 반환할 수 있습니다. 마찬가지로 함수는 Referer 헤더의 값을 고려하여 사용 가능한 해상도가 가장 낮은 봇에 이미지를 CloudFront 반환하도록 할 수 있습니다.

  • 아니면 다른 기준으로 쿠키를 검사할 수 있습니다. 예를 들어 의류를 판매하는 소매 웹 사이트에서 쿠키를 사용하여 사용자가 재킷에 대해 선택한 색상을 표시하면 Lambda 함수가 요청을 변경하여 CloudFront 선택한 색상의 재킷 이미지를 반환할 수 있습니다.

  • Lambda 함수는 최종 사용자 요청 또는 원본 요청 이벤트가 발생할 CloudFront 때 HTTP 응답을 생성할 수 있습니다.

  • 함수는 요청을 오리진에 CloudFront 전달하기 전에 헤더 또는 인증 토큰을 검사하고 헤더를 삽입하여 콘텐츠에 대한 액세스를 제어할 수 있습니다.

  • 또한 Lambda 함수는 외부 리소스에 대한 네트워크 호출을 생성하여 사용자 자격 증명을 확인하거나 추가 콘텐츠를 가져와 응답을 사용자 지정할 수 있습니다.

샘플 코드 및 추가 예제는 Lambda@Edge 예제 함수 단원을 참조하십시오.