Ch05 서버리스 어플리케이션 개발 (3)
19. API Gateway와 Lambda 싱크 (GET)
20. API Gateway와 Lambda 싱크1 (POST)
21. API Gateway와 Front-end 연동
22. 결과물 반영 및 확인
23. 요약정리 및 고찰
API gatewary - Get
새로운 rest api 를 작성한다.


리소스(URI)를 추가한다.


리소스를 추가하여 아래와 같은 구조를 만든다. user_id를 통해 사용자별 데이터를 조회 할 수 있는 구조를 생성하였다.

user_id에 메소드를 추가하여 lambda 함수를 연결한다.

user_id에 대한 정보를 json형식으로 변경하기 위해 통합요청을 클릭하여 설정한다.

통합 요청 하단에 매핑 탬플릿 영역으로 이동하여 설정한다.

json 설정후 테스트를 진행해본다. 테스트 결과가 정상으로 출력된다.


추가적으로 type에대한 파라미터 체크 기능을 설정 할 수 있다. api gateway에서 요청을 검사하여 lambda 호출 비용을 절감 할 수 있다.

API Gateway - Post
웹페이지에서 데이터를 전송받는 api를 설정한다. 웹페이지에서 전송되는 데이터가 곧 json형태이기에 json매핑 작업 필요없다

api 생성후 테스트를 진행한다. dynamo에 데이터가 추가되었는지 확인한다.


s3에도 참가증이 추가 되었다.

기능은 확인되었다. 이제 잘못된 데이타로 lambda가 실행되지 않도록 api 데이터를 검증하는 기능을 추가한다. 공식문서에서 예제를 확인한다.
docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/models-mappings.html
모델 및 매핑 템플릿 작업 - Amazon API Gateway
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com

메서드 요청에서 검사기 모델을 추가한다.

기본적인 api 구조는 생성되었다. cors 설정을 완료한다.

api 배포를 실행한다.

배포된 api 주소를 통해 데이터 조회가 가능하다.

이 api를 사용하여 프론트 페이지에서 화면을 구성하면 된다. jquery, vue, react 등을 사용하여 원하는 화면에서 사용하면 된다. 이로써 aws 서버리스 프로젝트 구현이 끝났다.
20일 차 마무리
aws 서버리스 프로젝트를 드디어 완강했다. lambda를 사용하여 데이터 저장 후 sns와 연동하여 상태값을 다른 lambda로 전달하고 이미지를 생성하는 간단한 프로젝트였다. 그러나 새로운 플랫폼에서 서비스를 사용하여 조립한다는 생각으로 프로젝트를 진행하다보니 lambda, sns, dynamo, s3 그리고 모든 서비스를 관리하는 iam의 기초적인 기능을 파악했다. 공부로만 그치지 않고 하루 빨리 다른프로젝트에 적용해야 겠다는 목표가 생겼다.
강의 마무리
업무 특성상 자주 접할 기회가 없었던 aws 서비스들을 20일이라는 동안 aws, docker, serverless에 관해 전반적인 내용을 공부했다.
aws/docker 파트에서는 bitbucket, confluenece, jira, jenkins를 사용한 협업툴 사용법과 빌드 자동화 그리고 ec2, docker를 사용하여 java 스프링 프로젝트를 완성하였다. 이 과정에서 linux기본 세팅과 docker 사용법을 익힐 수 있었다. 이 과정에서 build자동화를 적용하고 이를 jira와 bitbucket에 연동하여 업무 내용을 공유 할 수 있는 협업영역까지 다룰 수 있었다.
aws serverless 프로젝트를 통해 labmda, sns, dynamo, api gateway, s3를 사용하여 비지니스 로직만 작성하여 프로젝트를 완성하였다. aws 서비스 대부분을 모르고 있었지만 이번 프로젝트를 통해 기본 뼈대가 되는 서비스가 무엇이고 어떻게 설정해야 하며 상호 작용을 위해 어떤 작업이 선행되어야 하는지 학습하였다.
패스트캠퍼스 환급이벤트를 통해 처음으로 온라인강의를 완강 할 수 있었다. 이번 계기를 통해 강의를 듣고 실습하고 글쓰는것에 익숙해 지는 계기가 되었다. 강의 내용을 토이프로젝트에 적용하는 계획을 하루 빨리 정리해야겠다.
현재 수강 중인 강의는 아래와 같다
올인원 패키지 : AWS/Docker 클라우드 서버구축👉https://bit.ly/3bFlm0e