AWS Lambda 기반 서버리스 아키텍처 구성 흐름
1. Lambda란 무엇인가?
Lambda는 AWS에서 제공하는 서버리스 컴퓨팅 서비스로, 별도의 서버를 운영하지 않고도 코드를 실행할 수 있는 환경을 제공합니다. 사용자는 서버를 직접 관리할 필요 없이, 이벤트 기반으로 동작하는 코드를 빠르게 배포하고 확장할 수 있습니다.
2. Lambda를 사용하는 이유
- 서버 관리 불필요: 인프라 없이 코드 실행
- 비용 효율적: 코드 실행 시간만큼 과금
- 확장성 우수: 자동으로 확장/축소
- 다양한 트리거: API Gateway, S3, CloudWatch 등 다양한 이벤트로 실행 가능
3. Lambda 기반 서버리스 구성 절차
Lambda와 API Gateway, RDS, S3를 연동하여 서버리스 웹 애플리케이션을 구성하는 전체 흐름은 다음과 같습니다.
1) Lambda 함수 생성 및 설정
- Lambda 콘솔에서 함수 생성 (예: Python 런타임)
- 핵심 코드 파일을 ZIP으로 업로드
- 이벤트 생성 (API Gateway 연동을 위한 트리거)
- 환경변수 편집으로 DB 정보 등 설정값 등록

lambda_function.py 파일 작성

패키지 설치 및 ZIP 배포 파일 생성



2) VPC 및 IAM 연결
- RDS 접근을 위해 Lambda 함수에 VPC 연결 설정
- IAM 역할에
AWSLambdaVPCAccessExecutionRole정책 부여

3) 데이터베이스(RDS) 연동
- Lambda와 동일한 VPC 및 서브넷에 RDS 인스턴스 구성
- RDS 보안 그룹 인바운드 규칙에 Lambda 접근 허용


4) API Gateway 설정
- REST API 생성 후 리소스 (예:
/movies) 추가 - HTTP 메서드 (GET, POST 등) 생성 및 Lambda 연결
- API 배포 후 엔드포인트 URL 확보


5) React 프론트엔드 연동
- React 코드에서
axios로 API Gateway 주소 호출 - API 주소 반영 후
npm run build - 빌드 결과물을 S3 버킷에 업로드
- S3 정적 웹 호스팅 활성화
6) CORS 설정 및 오류 해결
- 웹 브라우저에서 API 호출 시 발생하는 CORS 오류 해결
- API Gateway에서 CORS 활성화 및
OPTIONS메서드 설정 - S3 웹 호스팅 설정에서 API 호출 출처 등록
웹 브라우저 요청 시 CORS 오류 발생

API Gateway에 CORS 설정 → S3 엔드포인트 등록



API 배포 후 웹 브라우저 요청 확인

7) 전체 요청/응답 흐름 요약
- 사용자는 S3 정적 웹사이트 주소를 통해 React 앱에 접속
- React 앱에서 API Gateway 주소로 HTTP 요청
- 요청 흐름: API Gateway → Lambda → RDS → Lambda → API Gateway → React
- 응답은 React 화면에 표시되며, 결과적으로 S3 페이지를 통해 전달
'AWS' 카테고리의 다른 글
| AWS 3-Tier 웹 애플리케이션 배포(S3 + EC2 + RDS) (1) | 2025.06.06 |
|---|---|
| AWS - 인프라 자동화 CLI를 이용한 네트워크 리소스 생성 및 연결 (0) | 2025.06.04 |
| AWS - 인프라 자동화 CloudFormation을 이용한 네트워크 리소스 생성 및 연결 (1) | 2025.06.04 |
| AWS - 환경 구성 실습 - React + FastAPI 프로젝트 배포 (0) | 2025.06.03 |
| AWS - 웹서비스 환경 구성#3 (0) | 2025.06.02 |
| AWS - 웹서비스 환경 구성#2 (0) | 2025.06.02 |