GraphQL이 무엇인지는 구글에서 쉽게 찾을 수 있으니 생략하겠습니다.
이번 포스트에서는 AWS 람다를 사용해서 GraphQL 백앤드를 구축하는 방법에 대해 알아보겠습니다.
노마드 코더님의 인스타그램 클론코딩 강의에서는 GraphQL 서버를 만들기 위해서 graphql-yoga 모듈을 사용했습니다.
graphql-yoga는 Node.js에서 GraphQL 서버를 쉽게 설정할 수 있도록 도와주는 Node.js 모듈입니다. 하지만 graphql-yoga 모듈은 항상 동작하고 있는 서버에서만 사용할 수 있습니다.
평소에는 유휴(Cold) 상태로 있다가 사용자 요청이 입력되면 활성화(Warm)되는 AWS 람다 서버에서는 작동하지 않습니다.
AWS 람다 서버에서 GraphQP API를 처리하려면 apollo-server-lambda 모듈을 사용해야 합니다.
AWS 람다 함수는 Serverless 프레임워크를 통해 배포할 것입니다.
그리고 AWS 람다 함수에서 prisma2 모듈을 사용하여 GraphQL resolvers를 구현할 것입니다.
사실 graphql-yoga는 express 모듈에 apollo-server 모듈을 미들웨어로 추가한 모듈입니다. 실질적인 GraphQL API 처리는 apollo-server가 담당하고 있습니다. apollo-server 모듈을 AWS 람다에서 사용가능하게 만든 모듈이 apollo-server-lambda 모듈입니다.
'백엔드 > Serverless' 카테고리의 다른 글
[인스타그램 클론코딩] 사용자 인증 & GraphQL Context 활용 (0) | 2020.05.22 |
---|---|
서버리스 GraphQL 백앤드 구축 (2) | 2020.05.22 |
서버리스 프레임워크 초기화 및 AWS에 연결 (4) | 2020.05.13 |
서버리스 프레임워크란? (0) | 2020.05.13 |