Infra/Cloud

AWS Lambda

baek-dev 2025. 4. 12. 13:35

AWS Lambda란 무엇인가

AWS Lambda는 서버를 직접 관리하지 않고 코드만 업로드하면 자동으로 실행되는 서버리스 컴퓨팅 서비스임.
AWS가 인프라를 대신 관리하며, 이벤트 기반으로 코드를 실행할 수 있음.
개발자는 서버 관리나 확장성 고민 없이 비즈니스 로직에 집중할 수 있음.


1. AWS Lambda의 주요 특징

  • 서버리스 (Serverless)
    • 서버를 프로비저닝하거나 관리하지 않아도 코드 실행이 가능함.
    • AWS가 자동으로 컴퓨팅 리소스를 관리해줌.
  • 이벤트 기반 실행
    • API Gateway, S3, DynamoDB, CloudWatch 등 다양한 AWS 서비스 이벤트를 트리거로 사용하여 자동 실행할 수 있음.
  • 자동 확장
    • 수요에 따라 Lambda 함수가 자동으로 확장되므로 동시 요청이 많아져도 별도의 설정 없이 처리 가능함.
  • 과금 방식
    • 사용한 만큼만 요금이 청구되며, 코드 실행 시간과 실행 횟수 기준으로 비용이 발생함.
  • 다양한 언어 지원
    • Java, Python, Node.js, Go 등 다양한 언어를 지원함.

2. AWS Lambda 동작 방식

AWS Lambda는 이벤트 기반으로 동작하며, 외부 이벤트가 발생하면 Lambda 함수가 실행됨.

흐름

이벤트 발생 → Lambda 실행 → 결과 반환

예를 들어, 사용자가 S3에 파일을 업로드하면 S3 이벤트가 발생하고 Lambda가 해당 이벤트를 받아서 파일을 처리하는 방식임.

트리거 예시

  • API Gateway → HTTP 요청 시 Lambda 실행
  • S3 → 파일 업로드 시 Lambda 실행
  • CloudWatch Events → 스케줄링 기반으로 Lambda 실행
  • DynamoDB Streams → 데이터베이스 변경 시 Lambda 실행

3. AWS Lambda 함수 구성 요소

 

구성 요소 설명
Handler Lambda 함수의 진입점으로, 이벤트가 발생하면 실행되는 코드 블록
Event Lambda 함수를 트리거하는 이벤트 데이터
Context 함수 실행에 대한 정보 (남은 실행 시간, 함수 이름 등)
Environment Variables Lambda 함수 실행에 사용되는 환경 변수

4. AWS Lambda 사용 방법

1) Lambda 함수 생성

AWS 콘솔 또는 CLI를 통해 생성할 수 있음.

2) 코드 업로드

  • AWS 콘솔에 코드 직접 작성
  • ZIP 파일로 업로드
  • S3를 통해 업로드
  • AWS SAM 또는 Serverless Framework를 사용한 배포

3) 트리거 설정

Lambda를 실행시킬 트리거를 선택함. (예: API Gateway, S3 이벤트)

4) 실행 및 모니터링

  • CloudWatch Logs로 로그 확인
  • CloudWatch Metrics로 메트릭 확인

5. AWS Lambda의 장단점

장점 단점
서버 관리 불필요, 인프라 자동 관리 짧은 실행 시간 제한 (기본 15분)
초 단위로 과금되어 비용 효율적 초기 Cold Start 발생 가능성 있음
자동 확장 지원 상태를 유지해야 하는 애플리케이션에는 부적합
AWS 서비스와 손쉬운 통합 실행 환경 제약 (지원 언어와 런타임 제한)

6. 실무 활용 사례

  • 이미지 변환 및 처리
    • S3에 이미지 업로드 시 Lambda를 통해 썸네일을 자동으로 생성함.
  • API 서버
    • API Gateway와 연동하여 서버리스 API 서버를 구축함.
  • 데이터 처리 및 ETL
    • DynamoDB Streams를 사용하여 데이터 변경 사항을 실시간으로 처리하거나, 데이터 변환 작업을 수행함.
  • 알림 시스템
    • CloudWatch Events를 기반으로 특정 이벤트 발생 시 알림을 전송하거나 후속 작업을 자동화함.
  • CI/CD 자동화
    • CodePipeline과 연동하여 배포 자동화 과정에서 Lambda를 활용함.

정리

AWS Lambda는 서버를 관리할 필요 없이 이벤트에 따라 자동으로 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스임.
API 요청, 파일 업로드, 데이터베이스 변경, 스케줄링 등 다양한 이벤트를 기반으로 Lambda를 실행할 수 있으며, 서버 관리를 AWS가 대신하기 때문에 개발자는 애플리케이션 로직에만 집중할 수 있음.
비용 효율성, 자동 확장성, 다양한 AWS 서비스 연동성 덕분에 마이크로서비스 아키텍처나 간단한 자동화 작업에 매우 유용하게 사용됨.

 

 

 

 

출처 : ChatGPT

'Infra > Cloud' 카테고리의 다른 글

ECR  (0) 2025.04.11
[AWS] AWS S3(Simple Storage Service)  (0) 2025.03.10