Lambda@Edge는 Amazon CloudFront의 기능 중 하나로서 애플리케이션의 사용자에게 더 가까운 위치에서 코드를 실행하여 성능을 개선하고 지연 시간을 단축할 수 있게 해 줍니다. Lambda@Edge를 사용하면 전 세계 여러 위치에 있는 인프라를 프로비저닝하거나 관리하지 않아도 됩니다. 사용한 컴퓨팅 시간만큼만 비용을 지불하고, 코드가 실행되지 않을 때는 요금이 부과되지 않습니다.
Lambda@Edge는 서버 관리 부담 없이 웹 애플리케이션을 전 세계로 배포하고 성능을 개선하여 효과를 향상해 줍니다. Lambda@Edge는 Amazon CloudFront 콘텐츠 전송 네트워크(CDN)에 의해 생성된 이벤트에 대한 응답으로 코드를 실행합니다. 코드를 업로드하기만 하면 AWS Lambda가 최종 사용자와 가장 가까운 AWS 로케이션에서 뛰어난 가용성으로 코드를 실행하고 확장하는 데 필요한 모든 작업을 처리합니다.
이점
보다 응답성이 우수한 애플리케이션 구축
Lambda@Edge는 전 세계적으로 사용자에게 가까운 AWS 로케이션에서 코드를 실행하므로 지연 시간이 짧고 성능이 뛰어난 전체 기능의 맞춤화된 콘텐츠를 제공할 수 있습니다.
서버 관리 불필요
여러 위치에서 오리진 서버를 프로비저닝, 확장 또는 관리하거나 로드 밸런싱 또는 DNS(Domain Name System) 라우팅 서비스를 설정할 필요 없이 전 세계의 AWS 로케이션에서 코드를 자동으로 확장 및 실행할 수 있습니다. 고객은 오리진에서 실행 중인 기존 애플리케이션을 변경하지 않고 새로운 기능을 추가할 수 있습니다. 마지막으로, Lambda@Edge와 Amazon CloudFront를 사용하면 기존 CDN보다 관리할 오리진 인프라가 더 적어집니다.
콘텐츠 전송 사용자 지정
Lambda@Edge를 사용하면 Amazon CloudFront CDN을 통해 전송되는 콘텐츠를 사용자 지정할 수 있으며, 애플리케이션의 성능 요구 사항을 기반으로 컴퓨팅 리소스 및 실행 시간을 사용자 지정할 수 있습니다.
작동 방식
사용 사례
오리진 인프라의 간소화 및 축소
Lambda@Edge를 오리진을 확장 또는 대체하는 기능으로 사용할 수 있습니다. 이를 통해 엣지에서 수행되는 단순 HTTP 요청 및 응답 처리에서 웹 사이트 보안, 실시간 이미지 변환, 지능형 봇 활동 완화, 검색 엔진 최적화 등 다양한 고급 기능에 이르는 모슨 기능을 수행할 수 있습니다.
웹 사이트 보안 및 프라이버시
오리진의 애플리케이션 코드를 수정하지 않고 모든 오리진 응답에 HTTP 보안 헤더를 추가하도록 Lambda 함수를 트리거할 수 있습니다. 이렇게 하면 사용자와 콘텐츠 공급자에 대한 보안 및 프라이버시가 개선되는 동시에 CloudFront를 사용하여 짧은 지연 시간으로 콘텐츠를 전송할 수 있습니다.
블로그 읽기 >>
엣지의 동적 웹 애플리케이션
Lambda@Edge를 다른 AWS 서비스와 결합하면 개발자가 자동 조정, 백업 또는 데이터 센터 이중화에 필요한 오리진 인프라 및 관리 작업 없이도 자동으로 확대 또는 축소되는 강력한 웹 애플리케이션을 엣지에 구축할 수 있습니다.
검색 엔진 최적화(SEO)
Lambda@Edge를 사용하여 웹 사이트의 검색 엔진 최적화(SEO)를 개선할 수 있습니다. 예를 들어, 사용자 에이전트가 Googlebot 또는 Bingbot과 같은 검색 엔진 봇인 경우 사전 렌더링되어 Amazon S3에 저장되어 있는 HTML 페이지를 전송하도록 Lambda 함수를 트리거할 수 있습니다.
블로그 읽기 >>
오리진 및 데이터 센터에 대한 지능적 경로
Lambda@Edge를 사용하여 서로 다른 사용자 특성을 기반으로 서로 다른 오리진에 동적으로 요청을 라우팅하면 오리진의 로드를 밸런싱하는 동시에 사용자에게 제공되는 성능을 개선할 수 있습니다. 예를 들어, 사용자의 위치에 기반하여 홈 리전 내의 오리진으로 요청을 라우팅할 수 있습니다.
블로그 읽기 >>
엣지에서의 봇 활동 완화
Lambda@Edge는 원하지 않는 봇을 엣지에서 차단하고 승인된 트래픽만 통과시키는 데 도움이 됩니다. 이러한 자동화된 프로세스를 지능적으로 완화함으로써 무익한 웹 크롤러 및 봇으로부터 오리진 인프라를 보호하는 동시에 실제 사용자에게 제공되는 성능을 개선할 수 있습니다.
사용자 경험 개선
Lambda@Edge를 사용하면 콘텐츠를 사용자 지정하여 성능 저하 없이 전 세계의 웹 사이트와 웹 애플리케이션에 대한 웹 사용자 경험을 개선할 수 있습니다.
실시간 이미지 변환
사용자의 특성을 기반으로 즉석에서 이미지를 변환하여 사용자 경험을 맞춤화할 수 있습니다. 예를 들어, 모바일, 데스크톱, 태블릿 등의 사용자 디바이스 유형을 기반으로 이미지 크기를 조정할 수 있습니다. 또한 변환된 이미지를 CloudFront 엣지 로케이션에 캐싱하여 이미지 전송 시 성능을 추가적으로 개선할 수 있습니다.
블로그 읽기 >>
A/B 테스트
웹 사이트의 다양한 버전을 테스트하고 브라우저 URL의 리디렉션 또는 변경 없이 사용자에게 제공할 수 있습니다. 이렇게 하면 웹 사이트에 대한 원활한 릴리스 업데이트가 가능하므로 사용자에 대한 응답성을 유지하면서 웹 사이트의 전반적인 경험을 개선할 수 있습니다.
사용자 인증 및 권한 부여
Lambda@Edge를 사용하여 웹 사이트의 유료 콘텐츠에 대하여 사용자를 인증 및 승인하고 미승인 요청을 오리진 인프라에 도달하기 전에 필터링할 수 있습니다. 예를 들어, Amazon Cognito와 같은 인증 및 사용자 관리 서비스를 호출하여 각 사용자 요청을 승인하도록 함수를 트리거할 수 있습니다.
블로그 읽기 >>
사용자 우선순위 지정
Lambda@Edge를 사용하면 사용자를 서로 다른 페이지 및 환경으로 라우팅하여 웹 사이트에 대한 액세스를 제어하고 우선순위를 지정할 수 있습니다. 예를 들어, 쇼핑 판매 중 트래픽이 급증하는 경우 프리미엄 및 유료 사용자에게 해당 전자상거래 사이트에 대한 우선순위를 지정하는 코드를 실행하도록 Lambda 함수를 트리거할 수 있습니다. 또한 다른 쇼핑 고객을 임시의 "대기실"(메인 소매 사이트에 대한 액세스 차례를 기다리는 동안 브랜딩 및 마케팅 할인 행사 정보를 표시하는 대체 사이트)로 리디렉션할 수 있습니다.
블로그 읽기 >>
사용자 추적 및 분석
Lambda@Edge와 Kinesis를 함께 사용하면 실시간 스트리밍 데이터를 처리하여 전 세계에 분산된 사용자들이 고객의 웹 사이트 및 모바일 애플리케이션에 수행하는 활동에 대해 클릭 스트림 분석을 비롯한 추적 및 분석을 할 수 있습니다.
블로그 읽기 >>