일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 클린코드
- 객체지향의사실과오해
- futureself
- 스터디
- 북스터디
- nodejs
- BOOK
- validator
- AWS
- Object
- PRISMA
- 자청
- typescript
- serverless
- 부자아빠가난한아빠2
- 개발자
- OOP
- Validation
- Study
- 일상속귀한배움
- UNiQUE
- 퓨처셀프
- 역행자
- Nestjs
- 조영호
- 독후감
- googleapis
- nodemailer
- 오브젝트
- 세이노의가르침
- Today
- Total
우당탕탕 우리네 개발생활
[serverless+typescript+aws+googleapis] (1) aws 계정설정과 serverless framework 기본 설정하기 본문
[serverless+typescript+aws+googleapis] (1) aws 계정설정과 serverless framework 기본 설정하기
미스터카멜레온 2024. 8. 29. 09:47[번역]빠르게 배워보는 Node.js를 이용한 서버리스(Serverless)
*이 글은 Adnan Rahić의 A crash course on Serverless with Node.js를 번역한 글입니다. 모든 저작권과 권리는 Adnan에게 있습니다. 도움이 되셨다면 Adnan의 원글에 clap 한번씩 부탁드립니다 :)…
medium.com
Node.js (typescript) - Serverless 구현 1. 설치
프로젝트로 Node.js를 공부하던 중 AWS 배포에 대한 의견이 나와서, 대비하는 겸 Serverless 개념으로 구축을 해보았습니다. ( Serverless는 사이드 프로젝트일 때 비용을 낮출 수 있다 ) 환경은 Intellij + No
chamch-dev.tistory.com
위 블로그들이 너무 기본 설정에 대해 설명이 잘 나와있어서 참고하여 아래 목록들을 셋팅합니다.(위 블로그들에 좋아요 꼭 부탁드려요! 너무 좋은 글들이에요!!)
1. AWS IAM 통해서 lambda 접근 권한이 있는 계정을 생성합니다.
2. 앞서 만든 IAM 계정에 accesskey, secretkey 생성합니다.(secretkey는 생성 당시에만 확인이 가능하니 반드시 어딘가에 저장을 해둬야합니다!)
3. serverless framework 를 설치합니다.(serverless v4 부터는 유료이므로 v3 중 적당한 버전으로 진행하시면 무료로 이용하실 수 있습니다.)
npm install -g serverless@3.0.0
4. typescript template으로 프로젝트를 생성합니다.
sls create --template aws-nodejs-typescript
5. serverless config에 aws accesskey, secretkey 를 등록합니다.
serverless config credentials --provider aws --key xxxxxxxxxxxxxx --secret xxxxxxxxxxxxxx
6. serverless offline 을 설치합니다.
npm install serverless-offline --save-dev
7. serverless.ts 파일에 serverless-offline 플러그인을 설정합니다.
// serverless.ts
import type { AWS } from "@serverless/typescript";
import hello from "@functions/hello";
import spreadSheet from "@functions/spread-sheet";
const serverlessConfiguration: AWS = {
service: "spreadsheet-serverless",
frameworkVersion: "3",
// 여기에 serverless-offline 플러그인을 추가합니다.
// 특정 사례에 따라 plugin들의 순서가 중요해지니 염두에 두시기 바라겠습니다.
plugins: ["serverless-esbuild", "serverless-offline"],
provider: {
name: "aws",
runtime: "nodejs16.x",
region: "ap-northeast-2",
apiGateway: {
minimumCompressionSize: 1024,
shouldStartNameWithService: true,
},
environment: {
AWS_NODEJS_CONNECTION_REUSE_ENABLED: "1",
NODE_OPTIONS: "--enable-source-maps --stack-trace-limit=1000",
},
},
functions: { hello, spreadSheet },
package: {
individually: true,
patterns: [
"node_modules/.prisma/client/libquery_engine-rhel-openssl-1.0.x.so.node",
],
},
custom: {
esbuild: {
bundle: true,
minify: true,
sourcemap: true,
target: "node16",
platform: "node",
external: ["aws-sdk"],
define: { "require.resolve": undefined },
plugins: [],
},
},
};
module.exports = serverlessConfiguration;
8. serverless-offline 을 명령어로 실행해봅니다.
sls offline
9. function을 production으로 배포합니다.
sls deploy
'tech' 카테고리의 다른 글
[serverless+typescript+aws+googleapis] (3) google sheet api 연동하기 (0) | 2024.08.29 |
---|---|
[serverless+typescript+aws+googleapis] (2) prisma 로 aws rds 연결하기 (0) | 2024.08.29 |
[도메인 주도 설계의 사실과 오해 5기] 1일차 내용 정리 (0) | 2024.08.25 |
class-validator와 class-transformer 데코레이터들의 동작 순서 (0) | 2024.08.18 |
[study] <오브젝트> Chapter 2. 객체지향 프로그래밍 (0) | 2024.08.12 |