
아마존웹서비스(AWS)가 12일(현지시간) 일반 HTTP 서버를 실행하는 ‘Lambda Web Functions’를 공개했다. AWS 공식 블로그에 따르면 Express, Hono, Fastify, Next.js 등으로 만든 Node.js 웹 애플리케이션을 기존 Lambda의 이벤트 핸들러 형태로 다시 작성하지 않고 배포할 수 있다.
Web Functions에서는 애플리케이션이 네트워크 포트에서 HTTP 요청을 직접 받는다. 별도의 이벤트 변환 어댑터는 필요하지 않지만, 서버가 AWS_LAMBDA_HTTP_ENDPOINT 환경변수에 지정된 호스트와 포트를 사용하도록 설정해야 한다. AWS CLI의 배포 명령으로 코드를 올리면 HTTPS 엔드포인트가 만들어지고, 트래픽에 따라 실행 환경이 자동으로 늘거나 줄어든다.
실행 환경 하나가 여러 요청을 동시에 처리한다는 점도 기존 이벤트 중심 Lambda와 다르다. 공식 확장 문서에서 환경당 동시 요청 상한은 최대 128개, 기본 설정값은 64개다. 실제 동시 처리 한도는 자원 사용량에 따라 Lambda가 동적으로 조정하므로, 상한을 높였다고 항상 그 수만큼 처리하는 것은 아니다.
과금은 요청 수, 실제 사용한 CPU 시간, 실행 환경의 수명 동안 사용한 메모리, 데이터 전송을 기준으로 이뤄진다. 데이터베이스나 외부 API 응답을 기다리는 요청은 대기 중 CPU를 적게 사용하므로, AWS는 입출력 비중이 높은 웹 작업에서 CPU 비용을 줄일 수 있다고 설명했다. 다만 요청 사이의 유휴 시간에도 실행 환경이 존재하면 메모리 과금은 계속된다.
여러 리전을 지정해 배포하면 Lambda가 코드를 해당 리전에 복제하고, 단일 글로벌 URL로 들어온 요청을 지연 시간이 낮은 리전으로 보내도록 구성한다. 서버에서 페이지를 만드는 서버사이드 렌더링(SSR), REST·GraphQL API, 대규모 언어모델 응답을 실시간으로 전송하는 스트리밍 서비스 등이 공식 문서에 제시된 활용 대상이다.
배포한 코드와 설정은 변경할 수 없는 리비전으로 관리한다. 엔드포인트에서 두 리비전 사이의 트래픽 비중을 조절해 새 버전에 요청 일부만 보내는 단계적 배포가 가능하다. CloudFront를 앞에 두면 정적 콘텐츠를 캐시하고 동적 요청은 Web Functions로 전달할 수 있으며, 원본 액세스 제어(OAC)로 엔드포인트 접근을 해당 배포로 제한할 수 있다.
초기 지원 런타임은 Arm64 기반 Node.js 24다. 제공 리전은 미국 버지니아 북부·오하이오·오리건, 일본 도쿄, 아일랜드 등 5곳으로, 서울 리전은 초기 목록에 포함되지 않았다. 가상사설클라우드(VPC) 안의 자원과 연결하는 기능도 지원한다.
Web Functions는 웹 개발자가 익숙한 서버 구조를 유지하면서 Lambda의 자동 확장을 활용하는 선택지다. 트래픽이 없으면 실행 환경을 모두 제거하지만, 이후 첫 요청은 새 환경이 시작될 때까지 기다릴 수 있다. 공식 문서는 큐 메시지나 파일 업로드 같은 이벤트 처리에는 기존 Lambda Event Functions를 사용하도록 안내한다.
출처: AWS 공식 블로그 https://aws.amazon.com/blogs/aws/announcing-aws-lambda-web-functions-for-fast-consistent-web-app-performance-anywhere/
AWS Lambda Web Functions 공식 문서 https://docs.aws.amazon.com/lambda/latest/dg/web-functions.html
AWS Lambda Web Functions 확장 동작 문서 https://docs.aws.amazon.com/lambda/latest/dg/web-functions-scaling.html
AWS Lambda Web Functions 런타임 문서 https://docs.aws.amazon.com/lambda/latest/dg/web-functions-runtimes.html









