카테고리 없음

Lamda

8나지 2024. 8. 17. 10:45

: 일회용 함수? 

 

보통 서버가 있고 프로젝트가 돌아가고 있음 => 서버만 돌릴 때 aws 비용으로 ec2 내고 있는데 ec2가 계속 실행되고,(컴퓨터가 일하고 있기 ; 사용하고 있기 때문) 

 

람다 : 서버리스 (serverless) 

진짜 서버리스 라면 서버가 없는데 프로그램이 돌아갈 수있나? 없음

공공재 컴퓨터 같은게 돌아간다면 함수만 작성해서 (코드) ; ui있음 aws에

 

코드 실행시 그때 만 일함 (이때비용만 냄) : 그래서 서버리스라고 함

 

Aws 계정 

 

// aws가 제공하는 서버리스

 

핸들러 에 있는 것을 실행 후 끝냄

 

: 함수 생성 : 새로 작성 -?

 

회색 부분에서 크롤링 , rds연결, 배치 등 

nestjs는 사용하지 않고 nodejs 

/// 목표는 주기적으로 실행하는 것이므로 클라우드 와치 -> 

모르겟음 클라우드 와치 스케줄러  검색

이벤트(맞는진 모르겠으나 amazon eventbridge) -> 규칙 -> 일정 -> 일정 생성

템플랙 형식의 대상 -> 람다 (invoke)-> 페이로드 : 파라미터 -> 선택 사항에서 none -> 람다 실패시 어떻게 할건지 암호화 등등 -> 

 

nodes serveless lambda framework : 검색 또는 

: nodes serveless lambda배포 (jay-ji.tistory.com/118

 

 

람다 기본 목표 : 

  1. 람다 1개 배포하기

(일정 세팅 안해도 됨)

람다 속 내용은 디비에서 (rds 에서 ) 플랫폼 목록 가져와서 리턴하기

 

Mysql 사용 하면 됨 

이것도 역시 노드js aws 람다 rds 검색해서 aws 공식 문서 확인해보기 

 

핸들러가 실행함수다 :)

 

정리 : 람다 생성 -> “서버리스 프레임 워크”로 배포해보기 -> (배포확인 후 그 코드 안에서) 코드로 rds 플랫폼 목록 가져오기

 

서버리스 프레임 워크 예시 많아서 많을


만약 잘 안될 경우 체크해 볼 것 : 1. index.mjs가 main.ts 와 같음 => 폴더 바깥에 있어야함. (env처럼) : 

기존 (_MACOSX은 압축시 맥에서 자동으로 생성되는 것)
바꾸고 난 후

2. 구성 - Vpc - 보안그룹 - 포트 3306 있는 그룹 체크

 


해결방법 : 파일위치 바꾸고 &&

 export const handler = async (event) => {

  const connection = await mysql.createConnection({

    host: process.env.DB_HOST,

    user: process.env.DB_USERNAME,

    password: process.env.DB_PASSWORD,

    database: process.env.DB_NAME,

  });


 

진서님 설명 : https://blog.naver.com/kalum241/223551191202

 

AWS Lambda 로 서버리스 개발하기

AWS RDS 설정 및 식별자 확인하기 우선 AWS RDS에 인스턴스가 생성되어 있다고 가정한다. 동일...

blog.naver.com

https://www.youtube.com/watch?v=7uEDep9DFJs&list=PLRx0vPvlEmdD_AdG6fEwcfVrq5Qb3q_Ja