1. AWS Lambda란?
AWS Lambda는 서버를 직접 관리하지 않고 코드만 실행할 수 있는 서버리스(Serverless) 컴퓨팅 서비스입니다.
이벤트에 따라 자동으로 코드를 실행하고, 실행된 시간과 요청 횟수만큼만 비용이 부과되므로 효율적이고 관리가 간편합니다.
👉 즉, 서버리스 애플리케이션의 핵심 서비스라 할 수 있습니다.
2. 주요 특징
- 서버 관리 불필요: 서버 인스턴스 생성/운영 없이 코드만 실행
- 이벤트 기반 실행: S3, DynamoDB, API Gateway, EventBridge 등과 연동 가능
- 자동 확장: 요청량에 따라 자동으로 확장 및 축소
- 다양한 언어 지원: Python, Node.js, Java, Go, .NET 등
- 합리적 과금: 요청 횟수와 실행 시간(밀리초 단위)에 따라 과금
3. Lambda 활용 사례
- 이미지 업로드 시 자동 썸네일 생성
- API Gateway와 연동하여 REST API 서버 구축
- DynamoDB 이벤트 처리 및 데이터 분석
- Kinesis 스트림을 활용한 실시간 로그 분석
- 정기 작업(백업, 리포트 생성 등) 자동화
4. 아키텍처 예시
예: S3 + Lambda + DynamoDB
- 사용자가 S3 버킷에 이미지를 업로드
- Lambda 함수가 실행되어 이미지 메타데이터 추출
- DynamoDB에 해당 데이터를 저장
- CloudWatch Logs를 통해 로그 모니터링
👉 서버가 필요 없는 데이터 파이프라인 완성!
5. 실습 예제: S3 업로드 감지 Lambda 함수
이번 실습에서는 S3 버킷에 파일이 업로드될 때 자동으로 실행되는 Lambda 함수를 만들어보겠습니다.
🛠 준비물
- AWS 계정
- IAM 권한 (Lambda, S3, CloudWatch Logs 접근 가능)
- S3 버킷 (예: my-lambda-demo-bucket)
📌 Lambda 함수 코드 (Python 3.x)
import json def lambda_handler(event, context): # S3 이벤트 로그에서 bucket 이름과 객체 정보 추출 for record in event['Records']: bucket = record['s3']['bucket']['name'] key = record['s3']['object']['key'] size = record['s3']['object']['size'] print("새로운 객체 업로드 감지!") print(f"버킷 이름: {bucket}") print(f"객체 키: {key}") print(f"객체 크기: {size} 바이트") return { 'statusCode': 200, 'body': json.dumps('Lambda 실행 완료!') }
📌 트리거 설정
- AWS Console → Lambda → 함수 생성(Create function)
- 런타임(Runtime) → Python 3.9 선택
- 함수 생성 후 → 트리거 추가 → S3 선택
- 이벤트 유형: PUT (객체 생성 시)
- 버킷: my-lambda-demo-bucket 선택
📌 테스트
- 로컬에서 파일 업로드 실행
aws s3 cp ./test-image.png s3://my-lambda-demo-bucket/
- CloudWatch Logs에서 Lambda 로그 확인
새로운 객체 업로드 감지! 버킷 이름: my-lambda-demo-bucket 객체 키: test-image.png 객체 크기: 24567 바이트
6. 결론
AWS Lambda는 서버리스 아키텍처의 핵심으로, 운영 부담을 줄이고 비용을 절감하면서도 빠른 개발과 확장성을 제공합니다.
실습 예제를 통해 직접 체험해보면, 서버리스 컴퓨팅의 장점을 명확히 이해할 수 있을 것입니다.
👉 이제 여러분도 Lambda로 자동화된 서버리스 애플리케이션을 구축해보세요!
'AWS > 서비스' 카테고리의 다른 글
🚀 Amazon EC2 서비스 소개 및 실습 예제 (0) | 2025.08.20 |
---|---|
Amazon API Gateway (0) | 2025.02.24 |
AWS WAF (Web Application Firewall) (0) | 2025.02.24 |
AWS IAM (Identity and Access Management) (0) | 2025.02.24 |
Amazon Route 53 (0) | 2025.02.24 |