컴퓨터과학과
서버 없는 서버, AWS Lambda
공부하는노년
2025. 5. 18. 14:49
반응형
서버 없는 서버, AWS Lambda
1. Lambda란 무엇인가?
AWS Lambda는 개발자가 애플리케이션을 구성할 때, 서버를 직접 설정하거나 유지보수하지 않고 필요한 순간에만 코드를 실행할 수 있게 해주는 완전관리형 서버리스 컴퓨팅 서비스입니다.
전통적인 서버 기반 환경에서는 EC2 같은 인스턴스를 실행하고, 그 위에 웹서버를 설치하고, 백그라운드에서 코드를 지속적으로 실행해야 했습니다. 그러나 Lambda는 서버 자체를 신경 쓸 필요가 없습니다.
- 개발자는 함수(Function)만 작성하면 됨
- AWS가 서버 실행, 리소스 할당, 코드 실행, 종료까지 모두 관리
- 이벤트 기반 구조로 필요할 때만 실행됨
2. 주요 특징
■ 서버리스 (Serverless)
- 사용자는 인프라를 구축하지 않음
- 코드만 업로드하면 자동 실행
■ 이벤트 기반 실행
- 파일 업로드(S3), HTTP 요청(API Gateway), DB 변화(DynamoDB), 스케줄(CloudWatch Event) 등 다양한 이벤트로 실행 가능
■ 초 단위 과금
- 코드 실행 시간(밀리초 단위)과 리소스 사용량에 따라 과금
- 미사용 시 비용 없음
- 프리 티어: 월 100만 회 호출 및 40만 GB-초 제공
■ 다양한 언어 지원
- Python, Node.js, Java, Go, C#, Ruby 등
■ 확장성과 고가용성
- 자동 확장: 요청이 많아지면 동시에 수백~수천 건도 처리 가능
- 멀티 AZ에서 자동 배포되어 장애에도 안정적
3. 동작 원리
Lambda는 다음과 같은 구조로 작동합니다.
[이벤트 발생] → [Lambda 함수 실행] → [결과 처리]
예를 들어:
- 사용자가 이미지 파일을 S3 버킷에 업로드하면
- Lambda 함수가 자동으로 트리거 되어
- 해당 이미지를 리사이징 하거나 썸네일 생성 작업을 수행함
■ 트리거 예시
이벤트 | 소스 설명 |
Amazon S3 | 파일 업로드/삭제 시 자동 실행 |
API Gateway | HTTP 요청 처리 |
DynamoDB | 테이블 변경 감지 |
CloudWatch Events | 정해진 스케줄(크론처럼) 실행 |
SNS, SQS | 메시지 수신 시 실행 |
4. Lambda와 EC2 비교
항목 | AWS Lambda | Amazon EC2 |
서버 관리 | 불필요 | 직접 관리 필요 |
비용 | 사용한 만큼 과금 | 시간 단위 과금 |
실행 방식 | 이벤트 기반 함수 실행 | 지속적으로 동작하는 서버 |
확장성 | 자동 확장 | 수동 확장 또는 Auto Scaling 설정 |
시작 시간 | 수 밀리초 (단, 콜드 스타트 존재) | 수 분 이상 소요될 수 있음 |
용도 | 짧고 가벼운 작업 | 장시간 복잡한 작업 |
5. 활용 사례
✅ 웹 백엔드 처리
- API Gateway와 연결하여 REST API 구성
- DB 연동, 사용자 인증 처리
✅ 실시간 파일 처리
- 이미지 업로드 후 자동 압축/리사이징
- 로그 파일 분석 및 전송
✅ 자동화/스케줄링 작업
- 매일 새벽 2시 백업 실행
- 주간 이메일 리포트 자동 발송
✅ 머신러닝 전처리
- 실시간 데이터 필터링, 라벨링
- 모델 추론(소규모)
6. Lambda와 잘 어울리는 서비스
서비스 | 연동 이유 |
Amazon S3 | 파일 업로드 트리거 |
API Gateway | 웹 API 호출 트리거 |
DynamoDB | DB 변경 감지 |
CloudWatch Logs | 로그 분석 및 모니터링 |
SNS, SQS | 메시지 기반 비동기 처리 |
7. 마무리
AWS Lambda는 “서버 없이도 서버처럼” 작동하는 혁신적인 컴퓨팅 서비스입니다. 단순한 자동화부터, 대규모 분산 처리, API 백엔드, 실시간 이벤트 처리까지 매우 폭넓게 활용될 수 있습니다.
서버를 설정하고 유지하는 수고를 줄이고 싶다면, Lambda는 매우 강력한 선택지입니다.
클라우드 시대에 어울리는 개발 방식이자, 효율과 비용을 동시에 잡을 수 있는 기술입니다.