반응형
AWS를 사용하다 보면 Lambda Layer를 사용하게 된다.
AWS Lambda Layer를 Serverless로 배포해보자.
예시는 npm_modules를 Lambda Layer로 배포하는 것을 기준으로 했다.
1. Amazon S3 Bucket 만들기
해당 S3 Bucket은 Lambda Layer가 배포할 때 사용할 deploymentBucket이다.
Lambda Layer의 버전을 관리하고 싶다면 버전 관리를 활성화로 변경한다.
2. serverless.yml 만들기
serverless.yml은 아래와 같이 작성해서 만들어준다.
# 서비스명
service: lambda-layer
# 제공자
provider:
name: aws
runtime: nodejs12.x
stage: dev
region: ap-northeast-2
deploymentBucket:
name: deploy-source
serverSideEncryption: AES256
deploymentPrefix: serverless
layers:
node-modules:
path: ./
name: lambda-layer-node-modules-dev
description: lambda-layer-node-modules
compatibleRuntimes:
- nodejs12.x
# 패키지
package:
exclude:
- .gitmodules
- .git/**
- .idea/**
- deploy.js
- package-lock.json
- package.json
stage명은 배포할 때 입력받기 위해 위와 같이 작성했다.
그 외의 정보는 본인이 배포하는 AWS 환경 및 개발한 내용에 맞게 수정한다.
3. 배포할 node_modules 세팅
package.json을 생성하고, 내용을 작성한다.
{
"name": "test",
"version": "1.0.0",
"description": "",
"dependencies": {
"aws-sdk": "^2.799.0"
},
"devDependencies": {},
"author": "test <test@test.com>",
"license": "ISC"
}
package.json을 생성했다면, node_modules를 install한다.
$ npm i
4. serverless로 배포하기
모든 준비가 끝났다면 serverless로 배포하자.
$ sls deploy -s dev -v
배포가 성공적으로 되었다면 Lambda Layer를 활용해서 AWS Lambda를 사용하면 된다.
반응형
'개발 환경 > AWS' 카테고리의 다른 글
[AWS] Amazon RDS, CloudWatch로 모니터링하기 (0) | 2021.04.28 |
---|---|
[AWS] AWS API Gateway 모니터링하기 (0) | 2021.04.26 |
[AWS] Google drive에 있는 파일을 Amazon S3 Bucket에 업로드하기 (0) | 2021.04.21 |
[AWS] mac에서 AWS EC2 인스턴스 접속 및 파일 전송 방법 (0) | 2021.04.14 |
[AWS] AWS CodePipeline을 활용한 빌드/배포 자동화 (0) | 2019.12.03 |
댓글