AWS/서비스

🚀 AWS Lambda 서비스 소개 및 실습 예제

techlancer 2025. 8. 20. 21:32

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

  1. 사용자가 S3 버킷에 이미지를 업로드
  2. Lambda 함수가 실행되어 이미지 메타데이터 추출
  3. DynamoDB에 해당 데이터를 저장
  4. 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 실행 완료!') }

📌 트리거 설정

  1. AWS Console → Lambda → 함수 생성(Create function)
  2. 런타임(Runtime) → Python 3.9 선택
  3. 함수 생성 후 → 트리거 추가 → S3 선택
  4. 이벤트 유형: PUT (객체 생성 시)
  5. 버킷: my-lambda-demo-bucket 선택

📌 테스트

  1. 로컬에서 파일 업로드 실행
 
aws s3 cp ./test-image.png s3://my-lambda-demo-bucket/
  1. 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