서버리스 Lambda Function 자료
Day 7 — Lambda + RDS 연동용 정적 웹·SQL·배포 패키지
목차
파일 구성
| 파일 | 설명 |
|---|---|
| index.html | 입력 폼·결과 표시 UI |
| default.css | 다크 톤 스타일 |
| default.js | API 호출·DOM 처리 |
| 배포용.sql | RDS 테이블 생성·샘플 INSERT |
02_Lambda RDS.pdf | 강의 자료 |
pymysql.zip | Lambda용 pymysql 패키지 예시 |
DB 스키마 요약
배포용.sql 기준:
TMEMBER
회원 마스터 (수업용 — PK 미설정 등 단순화).
| 컬럼 | 의미 |
|---|---|
| fid | 아이디 |
| fpass | 비밀번호 |
| fname | 이름 |
| femail / fphone | 연락처 |
| faddr1 / faddr2 | 주소 |
| fbirthday / fgender | 생년월일·성별 |
| fdate | 가입일 |
TTEST
성적 입력 테이블 (Lambda INSERT 대상).
| 컬럼 | 의미 |
|---|---|
| fidx | 자동 증가 PK |
| fid | 회원 아이디 |
| fkor / feng / fmat | 국어·영어·수학 |
| fdate | 입력 시각 |
실습 DB 호스트 예시는 SQL 주석에 RDS 엔드포인트가 적혀 있습니다. 실제 비밀번호·엔드포인트는 본인 계정 값으로 교체하세요.
정적 UI
index.html + default.js 로 점수/회원 데이터를 API에 보내고 결과를 JSON으로 표시합니다.
로컬 미리보기:
cd "python/day7-1120/서버리스 Lambda Function 자료"
# 브라우저에서 index.html 열기
# 또는 간단한 정적 서버
python3 -m http.server 8080
API URL은 default.js 안 엔드포인트를 본인 API Gateway 주소로 수정합니다.
배포 순서
- RDS —
배포용.sql실행 (TMEMBER,TTEST생성) - Lambda — 핸들러 +
pymysql(zip/레이어) - 환경 변수 —
MYSQL_HOST,MYSQL_USER,MYSQL_PASSWORD,MYSQL_DB - API Gateway — GET/POST 라우트 → Lambda
- 프론트 —
default.js의 base URL 교체 후 정적 호스팅(S3 등)
보안 주의
- 저장소·문서에 실비밀번호를 커밋하지 마세요
- 예시 SQL의 샘플 계정 비밀번호는 실습용입니다
- 프로덕션에서는 Secrets Manager / SSM 사용을 권장합니다