[nodejs] AWS Lambda로 API 게이트웨이 통합하기

이번에는 AWS Lambda를 사용하여 API Gateway에서 만든 REST API와 통합하는 방법에 대해 알아보겠습니다. Lambda를 사용하면 서버리스 아키텍처를 구축하고 API 엔드포인트를 만들 수 있습니다.

AWS Lambda 소개

AWS Lambda는 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스로, 사용량에 따라 비용이 청구됩니다. 이를 사용하여 특정 이벤트가 발생했을 때 코드를 자동으로 실행하거나 API 호출에 대한 응답으로 사용할 수 있습니다.

API Gateway와의 통합

API Gateway를 사용하면 REST API를 빠르게 생성하고 배포할 수 있습니다. Lambda 함수를 사용하여 이 REST API와 통합할 수 있으며, 클라이언트 요청에 대한 응답으로 Lambda 함수가 실행됩니다.

아래는 API Gateway에서 Lambda 함수와의 통합을 설정하는 간단한 예제입니다.

{
  "swagger": "2.0",
  "info": {
    "version": "1.0",
    "title": "Sample API"
  },
  "basePath": "/v1",
  "schemes": [
    "https"
  ],
  "paths": {
    "/hello": {
      "get": {
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "x-amazon-apigateway-integration": {
          "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789012:function:HelloFunction/invocations",
          "httpMethod": "POST",
          "type": "aws_proxy"
        }
      }
    }
  }
}

Lambda 함수 작성

아래는 간단한 Node.js로 작성된 Lambda 함수의 예제입니다.

exports.handler = async (event) => {
  return {
    statusCode: 200,
    body: JSON.stringify('Hello from Lambda!'),
  };
};

결론

AWS Lambda를 사용하여 API Gateway와 통합하면 서버리스 아키텍처를 쉽게 구축할 수 있습니다. 이를 통해 비용을 절감하고 유연한 확장이 가능한 서버리스 솔루션을 제공할 수 있습니다.

이 통합은 Node.js를 비롯한 다양한 언어로 작성된 Lambda 함수를 통해 가능하며, REST API를 쉽게 구축하고 운영할 수 있습니다.

더 자세한 정보는 AWS 공식 문서를 참고하시기 바랍니다.