ClaudiaJS를 사용하여 기존 NodeJS Express 애플리케이션을 AWS Lambda 함수로 배포하는 방법

4673 단어 nodetutorialawslambda
ClaudiaJS를 사용하여 기존 NodeJS ExpressJS 애플리케이션을 AWS Lambda 함수로 배포하는 간단한 5단계가 있습니다.

1 단계



서버를 시작하지 말고 내보내십시오.

// app.listen(port, () => {
//     console.log(`listening On PORT -> ${port} `);
// });

// Export your Express configuration so that it can be consumed by the Lambda handler
module.exports = app


2 단계



람다 핸들러 생성을 위한 lambda.js 파일 생성



3단계



람다 핸들러 생성에 aws-serverless-express 사용

// lambda.js
'use strict'
const awsServerlessExpress = require('aws-serverless-express')
const app = require('./app')
const server = awsServerlessExpress.createServer(app)

exports.handler = (event, context) => awsServerlessExpress.proxy(server, event, context)



4단계



설치aws-cli . 설치에 대한 자세한 설명을 보려면 링크를 따르십시오.

MacOS(명령줄 설치 프로그램)
1) curl 명령어를 사용하여 파일을 다운로드 합니다. -o 옵션은 다운로드한 패키지가 기록되는 파일 이름을 지정합니다. 이 예에서 파일은 현재 폴더의 AWSCLIV2.pkg에 기록됩니다.

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"


2) 다운로드한installer 파일을 소스로 지정하여 표준 macOS.pkg 프로그램을 실행합니다. -pkg 매개변수를 사용하여 설치할 패키지의 이름을 지정하고 -target / 매개변수를 사용하여 패키지를 설치할 드라이브를 지정하십시오. 파일은 /usr/local/aws-cli 에 설치되고 symlink는 /usr/local/bin 에 자동으로 생성됩니다. 해당 폴더에 쓰기 권한을 부여하려면 명령에 sudo를 포함해야 합니다.

$ sudo installer -pkg ./AWSCLIV2.pkg -target /


설치가 완료되면 디버그 로그가 /var/log/install.log 에 기록됩니다.

3) 쉘이 aws 에서 $PATH 명령을 찾아 실행할 수 있는지 확인하려면 다음 명령을 사용하십시오.

$ which aws
/usr/local/bin/aws 
$ aws --version
aws-cli/2.4.5 Python/3.8.8 Darwin/18.7.0 botocore/2.4.5

aws 명령을 찾을 수 없으면 터미널을 다시 시작하거나 Adding the AWS CLI to your path 의 지침을 따라야 할 수 있습니다.

4) Configure aws-cli
다음 예는 샘플 값을 보여줍니다. 다음 섹션에 설명된 대로 값을 고유한 값으로 바꿉니다.

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json


5단계



ClaudiaJS 을 사용하여 애플리케이션을 배포합니다.

1) 클라우디아즈 설치

   npm install claudia -g


2) 다음 명령을 실행하여 Claudia가 올바르게 설치되었습니다.

   claudia --version


3) 다음 명령은 액세스할 람다 함수 및 API 게이트웨이 애플리케이션을 생성합니다.

   claudia create --deploy-proxy-api --region <region_name 
eg. us-east-1> --handler lambda.handler --name <name_of_the_function>


  • --deploy-proxy-api : 지정된 경우 API Gateway의 Lambda 함수에 대해 프록시 API가 생성되고 모든 요청을 함수로 전달합니다. 이것은 --api-module 에 웹 API를 생성하는 대체 방법입니다.
  • --region : 람다를 생성할 AWS 리전입니다. 지원되는 값은 https://docs.aws.amazon.com/general/latest/gr/rande.html#lambda_region(예: us-east-1
  • )을 참조하십시오.
  • --handler : Lambda가 module.function와 같이 실행할 기본 함수입니다. 예를 들어 main.js 파일에 있고 라우터로 내보내는 경우 main.router가 됩니다.
  • --name : Lambda 함수 이름 예: Awesome-microservice 기본값: package.json의 프로젝트 이름



  • 람다 함수 업데이트 명령

    claudia update
    

    좋은 웹페이지 즐겨찾기