AWS Lambda를 활용한 API 개발은 서버리스 아키텍처를 기반으로 하며, 클라이언트 요청 → API Gateway → Lambda 함수 → 데이터 처리 → 응답의 흐름으로 구성됩니다. 전체 구조와 핵심 단계를 세부적으로 분석해 보겠습니다.
[클라이언트]
│
▼ HTTPS 요청
[API Gateway]
│
▼ 이벤트 트리거
[AWS Lambda]
│
▼ 데이터 처리
[DynamoDB/S3/RDS 등]
1.1 API Gateway
/users → 사용자 관리 Lambda 함수) 1.2 AWS Lambda
1.3 데이터 계층
2.1 인프라 설계
| 메서드 | 경로 | Lambda 함수 |
|----------|----------------|------------------|
| GET | /items | getItems |
| POST | /items | createItem |
| GET | /items/{id} | getItemById |2.2 API Gateway 통합
2.3 배포 및 테스트
Scenario: 사용자 프로필 조회 API
1. 클라이언트 → GET /users/{userId} 요청.
2. API Gateway → getUserProfile Lambda 함수 호출.
3. Lambda → DynamoDB에서 userId로 데이터 조회.
4. 응답: JSON 형식의 사용자 정보 반환.
# Lambda 함수 예제 (Python)
import boto3
def lambda_handler(event, context):
user_id = event['pathParameters']['userId']
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('Users')
response = table.get_item(Key={'userId': user_id})
return {
'statusCode': 200,
'body': response['Item']
}
AWS Lambda 기반 API 개발은 API Gateway를 통한 라우팅 → Lambda에서 비즈니스 로직 처리 → 데이터 계층과 연동의 구조로 이루어집니다. 서버 관리 없이 확장성과 비용 효율성을 확보할 수 있지만, 콜드 스타트 및 실행 시간 제한 등 서버리스 특유의 제약을 이해하고 설계해야 합니다.