express-serverless 구축(2)

aws-express-serverless 를 통해 express 를 통해 구축한 간단한 api 서버를 API GatewayLmabda를 이용하여 배포해 보았다.

API Gateway를 통해 Lambda 함수를 실행하기 위해서는 API Gateway에서 생성된 URL로 요청을 보내야한다. 요청을 보내기 위한 URL은 aws 콘솔 - API Gateway - API - Stage 창에서 확인이 가능하다.

URL 정보.


url 구조는 https://{restapi_id}.execute-api.{region}.amazonaws.com/{stage}

https://{restapi_id}.execute-api.{region}.amazonaws.com/{stage}와 같이 구성된 url로 요청을 보내면 Lambda에 배포한 함수가 실행되며 응답을 해준다.

하지만 이렇게 길고 불편한 URL을 매번 기억하고 요청하기에는 어려움이 있다.

요청을 보내고 싶은 URL은 https://{domain}/api/v1/lambda/{proxy}의 구조를 가진 URL이다. API Gateway에서 생성해준 URL이 아닌 직접 지정한 도메인으로 요청을 보내기 위해서는 커스텀 도메인을 등록하는 작업이 필요하다.

해당 작업을 진행하기 위해서는

  1. AWS 계정 (Lambda에 함수를 배포했으니 계정은 당연히 존재한다고 가정..)
  2. API Gateway에 연결할 도메인

이렇게 두가지만 있으면 된다. 그럼 진행해보도록 하자!!!

자세히 보기

express serverless 구축(1)

Lambda Express API 서버 구축하기

람다와 express 를 이용하여 API 서버를 구축해보자.

- 프로젝트 생성

1
npm init

- 패키지 설치

1
2
npm install express aws-serverless-express
npm install serverless-offline -d

- 로컬에서도 express를 실행하며 테스트하고 배포는 람다로 하고싶다.

개발환경과 배포환경을 구분하여 개발을 진행해야한다. (나누어 진행하지 않는다면?? 매우 힘들다…)
serverless 는 serverless-offline 이라는 서비스를 지원하며 람다를 통해 배포한 환경과 동일한 환경에서 테스트를 로컬에서 실행이 가능하도록 해주는 패키지이다.

그래서 난 로컬환경에서 serverless-offline 을 통해 실행함과 더불어 일반적인 express 개발 환경처럼 직접 express 를 구동할 수 있도록 설정하기로 했다.

자세히 보기