개요
AWS RDS
와 같은 DB
와 통신하는 Lambda
함수를 만들고 본 람다의 앞단에 API Gateway
를 붙여 REST API
호출이 가능한 serverless
백엔드를 구축해보자.
API Gateway 에서 API 구축
AWS Console
접속API Gateway
서비스 접속 후 API 생성- 작업 버튼에서 리소스 생성으로 경로 구축
- 이때 중괄호를 통해
path variables
정의 가능 - ex)
/{id}
- 이때 중괄호를 통해
- 작업 버튼에서 메서드 생성으로 메서드 정의
- 좌측 트리 구조에서 메서드(GET/POST etc.)를 클릭한 후 통합 요청 클릭
- 사용할 람다 함수 선택
- 필요 시 URL 경로 파라미터 및 쿼리 문자열 설정
- 매핑 명명 규칙:
method.request.{"path" | "querystring" | "header"}.{param_name}
- ex)
method.request.path.id
- 매핑 명명 규칙:
- 매핑 템플릿 -> 매핑 템플릿 추가 -> Content-Type =
application/json
-> 템플릿 생성 콤보 박스에서 매서드 요청 패스스루 선택 후 저장
Python에서 AWS RDS 연결
AWS Console
에서 새로운 RDS
를 생성한 뒤 아래와 같은 코드를 통해 RDS
에 연결해준다.
1 |
|
이때 pymysql
라이브러리가 필요하므로 람다의 layer
에 해당 라이브러리를 등록해준다. 그리고 람다에서 함수 -> 구성 -> 환경 변수에서 키-값
형태로 환경 변수를 등록하면 위 코드와 같이 os.environ['key']
형태로 호출할 수 있다.
Lambda에서 CRUD 코드 작성
1 |
|
API 테스트 후 배포
API Gateway
서비스 접속- 좌측 트리 구조에서 메서드 클릭 후 테스트 버튼을 통해 API 테스트
- 테스트 완료 후 작업 -> API 배포를 통해 API 배포
- 스테이지 명 입력 후 완료
- 일반적으로 API 버전 명을 입력
- ex)
v1
여기까지 완료하면 API
의 엔드포인트를 발급받고 REST
하게 호출할 수 있다.
- Post link: https://blog.yjyoon.dev/aws/2022/01/27/aws-02/
- Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.