Lambda @Edge 함수를 트리거하는 데 사용할 CloudFront 이벤트를 결정하는 방법 - 아마존 CloudFront

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

Lambda @Edge 함수를 트리거하는 데 사용할 CloudFront 이벤트를 결정하는 방법

Lambda 함수를 트리거하는 데 사용할 CloudFront 이벤트를 결정할 때는 다음 사항을 고려하십시오.

Lambda 함수로 변경된 객체를 캐싱하시겠습니까 CloudFront ?

Lambda 함수로 수정된 객체를 캐싱하여 다음 요청 시 엣지 로케이션에서 객체를 제공할 수 CloudFront 있도록 하려면 원본 요청 또는 원본 응답 이벤트를 사용하십시오. CloudFront 그러면 오리진에 대한 로드가 감소하고, 이후 요청의 지연 시간이 단축되며, 이후 요청에서 Lambda@Edge를 호출하는 비용이 절감됩니다.

예를 들어 오리진에서 반환된 객체의 헤더를 추가, 제거 또는 변경하고 결과를 CloudFront 캐싱하려는 경우 원본 응답 이벤트를 사용하십시오.

모든 요청에 대해 함수를 실행할지 여부

배포를 위해 CloudFront 수신되는 모든 요청에 대해 함수를 실행하려면 시청자 요청 또는 시청자 응답 이벤트를 사용하십시오. 오리진 요청 및 오리진 응답 이벤트는 요청된 객체가 엣지 로케이션에 캐시되지 않고 오리진에 요청을 CloudFront 전달하는 경우에만 발생합니다.

함수가 캐시 키를 변경하는지 여부

함수가 캐싱의 기준으로 사용되는 값을 변경하게 하려는 경우 최종 사용자 요청 이벤트를 사용합니다. 예를 들어, 함수가 URL을 변경하여 경로에 언어 약자를 포함시키는 경우(예를 들어, 사용자가 드롭다운 목록에서 언어를 선택했기 때문) 최종 사용자 요청 이벤트를 사용합니다.

  • 뷰어 요청의 URL — https://example.com/en/index.html

  • 독일 IP 주소에서 요청한 경우의 URL — https://example.com/de/index.html

쿠키 또는 요청 헤더를 기준으로 캐싱하는 경우에도 최종 사용자 요청 이벤트를 사용합니다.

참고

함수가 쿠키 또는 헤더를 변경하는 경우 요청의 해당 부분을 오리진에 CloudFront 전달하도록 구성하십시오. 자세한 정보는 다음 주제를 참조하십시오.

함수가 오리진으로부터의 응답에 영향을 미치는지 여부

함수가 오리진으로부터의 응답에 영향을 미치는 방식으로 요청을 변경하게 하려는 경우 오리진 요청 이벤트를 사용합니다. 일반적으로 대부분의 최종 사용자 요청 이벤트는 오리진으로 전달되지 않습니다. CloudFront 는 이미 엣지 캐시에 저장된 객체를 사용하여 요청에 응답합니다. 함수가 오리진 요청 이벤트를 기반으로 요청을 변경하는 경우, 변경된 오리진 요청에 대한 응답을 CloudFront 캐시합니다.