: 일회용 함수?
보통 서버가 있고 프로젝트가 돌아가고 있음 => 서버만 돌릴 때 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개 배포하기
(일정 세팅 안해도 됨)
람다 속 내용은 디비에서 (rds 에서 ) 플랫폼 목록 가져와서 리턴하기
Mysql 사용 하면 됨
이것도 역시 노드js aws 람다 rds 검색해서 aws 공식 문서 확인해보기
핸들러가 실행함수다 :)
정리 : 람다 생성 -> “서버리스 프레임 워크”로 배포해보기 -> (배포확인 후 그 코드 안에서) 코드로 rds 플랫폼 목록 가져오기
서버리스 프레임 워크 예시 많아서 볼 것 많을 듯
만약 잘 안될 경우 체크해 볼 것 : 1. index.mjs가 main.ts 와 같음 => 폴더 바깥에 있어야함. (env처럼) :
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
https://www.youtube.com/watch?v=7uEDep9DFJs&list=PLRx0vPvlEmdD_AdG6fEwcfVrq5Qb3q_Ja