
AWS Lambda는 이벤트에 대한 응답으로 코드를 실행하고 컴퓨팅 리소스를 자동으로 관리하는 컴퓨팅 서비스로, 아이디어를 최신 프로덕션 서버리스 애플리케이션으로 전환하는 가장 빠른 방법입니다. - AWS Lamda 공식 홈페이지
https://aws.amazon.com/ko/lambda/
클라우드 컴퓨팅 PaaS | Amazon Web Services
AWS Lambda를 사용하여 1만 8,000개 이상의 vCPU로 즉시 스케일 아웃하여 리소스 집약적이고 예측할 수 없는 수요를 충족하세요. 기타 서버리스 제품 및 서비스와 이벤트 트리거 모음을 사용하여 처리
aws.amazon.com
AWS Lambda는 Amazon Web Services(AWS)에서 제공하는 서버리스(Serverless) 컴퓨팅 서비스이다. 즉, 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있는 환경을 제공한다. 사용자는 코드만 업로드하면 되고, AWS가 자동으로 인프라를 관리해준다.
AWS Lamda의 핵심 개념
1. 서버리스(Serverless) 아키텍쳐
- 서버 관리, 스케일링, 패치 등을 신경 쓸 필요없이 실행에 집중할 수 있다.
- "서버리스"라고 하지만, 실제로 서버가 없는 것이 아니라 AWS 서버를 자동으로 관리해준다는 의미다.
2. 이벤트 기반(Event-driven) 구조
Lamda는 특정 이벤트가 발생할 때 자동으로 실행됩니다.
예시
- S3에 파일 업로드 -> Lamda 트리거로 실행
- DynamoDB에 데이터 변경 -> Lamda가 데이터 처리
- API Gateway를 통한 HTTP 요청 -> Lamda가 요청 처리
3. 짧은 실행 시간
- 한 번의 Lamda 함수 실행은 기본적으로 최대 15분까지만 지속된다.
- 장기적인 작업보다는 빠르고 간단한 작업에 최적화되어 있다.
AWS Lamda의 동작 방식
1. 트리거(Trigger)
Lamda 함수를 실행시키는 이벤트 소스이다.
S3: 파일 업로드 이벤트
API Gateway: HTTP 요청
DynamoDB: 데이터 변경
CloudWatch: 스케줄링 이벤트 (크론 작업처럼)
2. 핸들러(Handler)
이벤트를 처리하는 함수의 진입점이다.
def lambda_handler(event, context):
print("이벤트 데이터:", event)
return {"statusCode": 200, "body": "Hello, Lambda!"}
3. 실행환경(Excution Environment)
AWS가 자동으로 생성한 컨테이너에서 코드가 실행된다.
Python, Node.js, Java, Go, C#, Ruby 등의 언어 지원
4. 종료 및 청구(Billing)
코드가 실행된 시간(밀리초 단위)과 소비한 리소스(메모리 기준)에 따라 과금됩니다.
100만 건의 요청과 매달 400,000 GB-초 사용량은 무료로 제공
AWS Lamda 장점
확장성(Scalability)
- 자동으로 수평 확장, 수천 개의 요청도 문제 없이 처리 가능
- 부하가 증가하면 Lamda 인스턴스를 자동으로 더 생성
비용 효율성(Cost Efficiency)
- 사용한 만큼만 과금(초 단위로 과금)
- 서버를 상시 가동하지 않아도 되므로 비용 절감 가능
빠른 배포 및 관리 용이성
- 코드만 업로드하면 바로 실행 가능
- 인프라 관리 부담이 없음
다양한 AWS 서비스와의 통합
- API Gateway, DynamoDB, S3, SNS, CloudWatch 등과 쉽게 연동 가능
AWS Lamda의 한계점
15분 실행 제한
- 장기 실행 작업에는 적합하지 않음
- 복합한 배치 처리에는 Step Functions 같은 서비스와 함께 사용
콜드 스타트(Cold Start)
- 일정 시간 동안 사용되지 않으면 Lamda 인스턴스가 종료됨
- 재시작 시 초기 로딩 시간 발생 (특히 VPC 내에 배포된 경우 더 느림)
디버깅 어려움
- 로컬 개발 및 디버깅이 어려움
- CloudWatch 로그를 통해 문제를 추적해야 함
AWS Lamda 활용 사례
- 이미지/동여상 처리: S3에 업로드 된 파일 자동 변환
- 실시간 데이터 처리: IoT 데이터 수집 및 분석
- API 백엔드: API Gateway와 함께 서버리스 API 구축
- 자동화 스크립트: 정기적인 데이터 백업 또는 리포트 생성
- 알림 시스템: SNS와 연동하여 알림 자동화
'AWS' 카테고리의 다른 글
Signed URL (0) | 2025.03.27 |
---|---|
EC2 nano .env를 통한 환경변수 설정 (1) | 2024.11.05 |
AWS 미숙한 조작으로 인한 과금이 생길땐 (1) | 2024.11.03 |