[nodejs] AWS Lambda로 GraphQL API 개발하기

AWS Lambda는 서버리스 컴퓨팅 플랫폼으로, 코드를 실행하기 위한 서버를 관리할 필요가 없어 더 효율적으로 애플리케이션을 구축하고 실행할 수 있습니다. 이 기술을 이용하여 GraphQL API를 개발하는 방법에 대해 알아보겠습니다.

1. AWS Lambda 및 API Gateway 설정

먼저, AWS 콘솔에서 AWS Lambda 및 API Gateway를 설정합니다. AWS Lambda 함수를 생성하고, 해당 함수를 API Gateway 엔드포인트와 연결합니다.

2. GraphQL 스키마 및 리졸버 작성

GraphQL 쿼리와 뮤테이션을 처리할 스키마 및 리졸버 함수를 작성합니다. 예를 들어, 다음은 간단한 GraphQL 스키마의 예시입니다.

type Query {
  hello: String
}

type Mutation {
  addPost(title: String!, content: String!): String
}

3. AWS Lambda 함수 작성

GraphQL 스키마와 리졸버 함수를 사용하여 AWS Lambda 함수를 작성합니다. 이 함수는 API Gateway를 통해 들어온 GraphQL 요청을 해석하고 처리합니다.

const { graphql } = require('graphql');
const schema = require('./schema'); // 작성한 GraphQL 스키마 및 리졸버

exports.handler = async (event) => {
  const { query, variables } = JSON.parse(event.body);
  const result = await graphql(schema, query, null, null, variables);
  return {
    statusCode: 200,
    body: JSON.stringify(result),
  };
};

4. 배포 및 테스트

작성한 AWS Lambda 함수를 배포하고 API Gateway 엔드포인트를 사용하여 GraphQL API를 테스트합니다.

결론

AWS Lambda를 사용하여 GraphQL API를 개발하는 것은 효율적이고 확장 가능한 방법입니다. 서버리스 아키텍처를 활용하여 백엔드 작업을 간편하게 처리할 수 있습니다. AWS의 다양한 기능과 통합을 통해 안정적인 GraphQL API를 구축할 수 있습니다.

참고문헌: