AWS Lambda/CDK - Docker - Fastapi를 통해 서버리스 백앤드 배포하기(3)

Joey Kim·2023년 6월 3일
0

지난 포스트

에서는 Dockerfile을 통해 도커를 빌드하고, CDK를 통해 코드로 람다를 배포하는 것까지 진행 했습니다.
이번 포스트에서는 생성된 람다 함수를 API Gateway를 통해 API주소를 생성하고 연결하여, 호출해보는 과정을 진행 해 보겠습니다.

Part4: API Gateway

AWS 홈페이지에서 API Gateway 페이지에 들어가줍니다.

우리는 REST API용 게이트웨이를 생성 할 겁니다. REST API영역에서 구축 버튼을 클릭 해 줍니다.

API 이름을 대강 지어 준 후 API 생성 버튼을 클릭 해 줍니다.

상단 작업 버튼을 누르면 메뉴가 나오는데 메서드 생성을 눌러주고 Dropdown클릭 하면 API 메서드인 GET, POST, PUT, PATCH ... 등등의 CRUD 옵션이 나오는데, 우리는 모든 매서드를 하나에 담을 것이기 때문에 전체 메서드인 ANY를 선택 해 줍니다.

체크 버튼을 누르면 다음과 같은 화면이 나옵니다.

생성한 함수를 읽을 수 있도록 생성한 함수 스택을 입력 해 줍니다. 그리고 Lambda Proxy로 불러지도록 Lambda 프록시 통합 사용 버튼을 필수적으로 체크 해 줍니다.

저장 후 확인 버튼을 눌러줍니다.

잘 적용된 모습입니다.

이번엔 FastAPI로 만든 모든 Router를 호출 할 수 있도록 API Gateway가 새로운 엔드포인트를 요청했을 때 Lambda함수로 요청 할 수 있도록 리소스를 생성 해 줍시다.

다시 작업 버튼을 눌러 리소스 생성 버튼을 눌러줍니다.

프록시 리소스로 구성 체크박스를 클릭하고 리소스 생성 버튼을 클릭 해 줍니다.

똑같이 이전에 생성한 Lambda함수를 넣어주고 저장 > 확인 해 줍니다.

잘 생성 된 모습입니다. 이제 API를 배포 해 봅시다.

작업 클릭 후 API배포를 클릭 해 줍니다.

변경사항을 저장 해 주면 아래와 같이 URL이 생성됩니다.

URL을 복사 해 주고 뒤에 우리가 지정한 /test 태그만 붙여주면 다음과 같이 호출이 잘 된 모습을 볼 수 있습니다.

docs 페이지도 들어 가 봅시다.
https://.../v1/docs


잘 나오는 모습을 볼 수 있습니다. 모든 API들을 호출 해 줬는데, 잘 작동 하는 모습이네요.

지금까지 Fastapi코드를 AWS Lambda 및 CDK IaaS를 통해 배포하고 API Gateway로 API를 생성하여 연결하는 것 까지 진행 했습니다.

궁금하신점들은 댓글을 통해 질문 주시면 답변드리겠습니다.

profile
Software Engineer

1개의 댓글

comment-user-thumbnail
2024년 1월 6일

안녕하세요. 글 잘 읽었습니다. Api Gateway는 CDK로 배포하지 않으신 이유가 있을까요?

답글 달기