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 |