정지용
기술스택 목록
인프라

AWS Lambda

프로젝트 2에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.

이 기술은 무엇인가요?

서버 관리 없이 이벤트에 반응해 코드만 실행하는 서버리스 컴퓨팅 서비스

AWS Lambda는 서버를 직접 프로비저닝하거나 관리하지 않고 코드를 업로드해 실행할 수 있게 해주는 서버리스 컴퓨팅 서비스이다. S3 업로드, SQS 메시지, HTTP 요청 등 다양한 이벤트가 발생할 때 함수가 자동으로 트리거되어 실행되고, 실행이 끝나면 자원이 해제된다. 상시 대기 중인 서버를 두지 않아도 되므로 트래픽이 간헐적이거나 예측하기 어려운 작업에 적합하며, 인프라 운영 부담을 크게 줄이는 것을 목표로 만들어졌다.

이럴 때 사용합니다

  • 이벤트 발생 시에만 짧게 실행되는 작업을 상시 서버 없이 처리하고 싶을 때
  • 트래픽 변동이 커서 자동으로 확장·축소되는 컴퓨트가 필요할 때
  • S3, SQS, API Gateway 등 다른 AWS 서비스와 이벤트 기반으로 연동하고 싶을 때
  • 인프라 운영보다 비즈니스 로직 구현에 집중하고 싶을 때

핵심 개념

Event Source
Lambda 함수를 실행시키는 트리거로, S3 버킷 업로드나 SQS 큐 메시지 등 다양한 AWS 서비스 이벤트가 될 수 있다.
Handler
이벤트가 발생했을 때 실제로 호출되는 함수의 진입점으로, 이벤트 데이터와 실행 컨텍스트를 인자로 받는다.
Cold Start
일정 시간 호출이 없던 함수가 다시 실행될 때 새로운 실행 환경을 초기화하면서 발생하는 지연을 말한다.
Concurrency
동시에 실행될 수 있는 함수 인스턴스의 수로, 트래픽이 몰릴 때 자동으로 늘어나거나 제한을 둘 수 있다.
IAM Execution Role
함수가 다른 AWS 서비스에 접근할 때 사용하는 권한 집합으로, 함수마다 필요한 최소 권한만 부여하는 것이 일반적이다.

간단한 Lambda 핸들러 예시

이벤트를 받아 로그로 출력하고 처리 결과를 반환하는 가장 기본적인 Lambda 함수 형태이다.

JavaScript
exports.handler = async (event) => {
  // event 객체에 트리거된 이벤트 정보가 담겨 있다
  const message = event.Records
    ? event.Records[0].body
    : JSON.stringify(event);

  console.log('received:', message);

  return {
    statusCode: 200,
    body: JSON.stringify({ processed: true }),
  };
};

처음 쓸 때 흔한 함정

  • 함수 실행 시간과 메모리에는 제한이 있어 무거운 배치 작업에는 적합하지 않을 수 있다
  • 콜드 스타트로 인해 첫 호출 지연이 발생할 수 있음을 고려해야 한다
  • IAM 권한을 지나치게 넓게 부여해 보안 위험을 키우기 쉽다

위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.

프로젝트별 활용 방식

위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.

  1. 02인프라
    2026년 7월

    S3 이미지 자동 썸네일 생성기

    S3에 업로드된 이미지를 감지해 Lambda가 자동으로 썸네일을 생성하는 서버리스 파이프라인

    이 프로젝트에서의 AWS Lambda 활용

    이미지 업로드 이벤트에 반응해 썸네일을 생성하는 서버리스 함수 실행

    lambda-thumbnail-generator-docs프로젝트 자세히 보기 →

함께 사용한 기술

위 프로젝트들에서 같이 쓰인 다른 기술입니다.