Open 9033 opened 1 year ago
nodejs의 expressjs 로 구현된 라우터를 aws lambda를 이용해서 구현하는 방법은 다음과 같습니다.
'use strict' const express = require('express') const app = express()
app.get('/', (req, res) => res.send('Hello world!'))
module.exports = app
2. aws-serverless-express 모듈을 설치합니다. 이 모듈은 expressjs 앱을 AWS Lambda에서 실행할 수 있도록 도와줍니다. npm install aws-serverless-express --save 3. lambda.js 파일을 생성하고 다음과 같은 코드를 작성합니다. 이 파일은 AWS Lambda 함수의 핸들러로 사용됩니다. ```js 'use strict' const awsServerlessExpress = require('aws-serverless-express') const app = require('./app') const server = awsServerlessExpress.createServer(app) exports.handler = (event, context) => { console.log('Received event:', JSON.stringify(event)) awsServerlessExpress.proxy(server, event, context) }
이름 - express-lambda 런타임 - Node.js 18.x 역할 - 기존 역할 선택 기존 역할 - lambda-role
함수 코드 섹션에서 코드 입력 유형을 .zip 파일 업로드로 변경하고 app.js, lambda.js 및 node_modules 폴더가 포함된 .zip 파일을 업로드합니다.
기본 설정 섹션에서 핸들러를 lambda.handler로 변경합니다.
API Gateway 트리거를 추가하여 함수에 대한 HTTP 엔드포인트를 생성합니다. 다음과 같은 설정을 사용합니다.
API 유형 - REST API API 이름 - express-api 배포 스테이지 - prod 보안 - 열기
배포 버튼을 클릭하여 함수와 API를 배포합니다.
API Gateway 콘솔에서 생성된 API의 엔드포인트 URL을 확인하고 브라우저에서 방문합니다. "Hello world!" 메시지를 볼 수 있습니다.
nodejs의 expressjs 로 구현된 라우터를 aws lambda를 이용해서 구현하는 방법은 다음과 같습니다.
app.get('/', (req, res) => res.send('Hello world!'))
module.exports = app
이름 - express-lambda 런타임 - Node.js 18.x 역할 - 기존 역할 선택 기존 역할 - lambda-role
함수 코드 섹션에서 코드 입력 유형을 .zip 파일 업로드로 변경하고 app.js, lambda.js 및 node_modules 폴더가 포함된 .zip 파일을 업로드합니다.
기본 설정 섹션에서 핸들러를 lambda.handler로 변경합니다.
API Gateway 트리거를 추가하여 함수에 대한 HTTP 엔드포인트를 생성합니다. 다음과 같은 설정을 사용합니다.
API 유형 - REST API API 이름 - express-api 배포 스테이지 - prod 보안 - 열기
배포 버튼을 클릭하여 함수와 API를 배포합니다.
API Gateway 콘솔에서 생성된 API의 엔드포인트 URL을 확인하고 브라우저에서 방문합니다. "Hello world!" 메시지를 볼 수 있습니다.