728x90
어우씨 AWS 리소스 바로 삭제 안하고 정지 안해서
프리티어 범위 초과됐어여...
눈물 콸콸 오션뷰...
마이 공차 블랙 펄 밀크티 값이 날라가써...
돈 없는 대학생은 웁니다 엉엉 광광....
여튼 고...
# AWS Lambda
이벤트에 대한 응답으로 코드를 실행하고
자동으로 기본 컴퓨팅 리소스를 관리하는 서버리스 컴퓨팅 서비스
AWS Lambda를 사용하면 사용자 지정 로직을 통해 다른 AWS 서비스를 확장하거나, AWS 규모, 성능 및 보안으로 작동하는 자체 백엔드 서비스를 만들 수 있습니다
Serverless의 주축을 담당
- serverless :
- 서버리스는 클라우드가 직접 서버를 생성하고 실행시키며 리소스를 서버의 사용량에 따라 직접 할당해줌을 의미한다. (사람의 간섭이 거의 없는 거라고 보면 됨)
- 기존에 서버를 만들고 실행하면서 다양한 문제가 발생하고 이를 해결하고자 할 때에는 개발자가 직접 해결해야 했다.
Events를 통하여 Lambda를 실행
- 이벤트 : AWS에서 발생하는 동작들을 의미
- ex) 업로드, 삭제 등
- ex) 전자 상거래 웹 사이트에서 사용자가 장바구니에 항목을 배치하는 것과 같은 상태 변경 또는 업데이트
NodeJS, Python, Java, GO등 다양한 언어 지원
- 개발자가 코드를 작성 , 실행 종료 후 Lambda에서 다른 서비스 호출 가능
- Lambda는 AWS 아키텍쳐를 구현할때 중간중간 대체되는 경우가 흔하다
Lambda Function
- 람다에서 작성한 코드
# 비용
- Lambda Function이 실행될때만 돈 지불
- 매달 1.000.000번의 함수 호출 무료 (그 후로는 유료)
# 기타
- 최대 300초(5분) 런타임 시간 허용
- 대용량 데이터 처리 시 타임아웃을 접할 수 있음. -> 람다 함수가 5분 이상 실행되는 것이 아닌지 파악
- AWS에 요청해도 5분이상으로 늘리는 거 안됨
- 512MB의 일시적인 디스크 공간 제공 (/tmp/)
- 람다 함수로 돌아오는 인풋을 임시적으로 저장할 때 코딩을 통해 임시 저장소에 저장 후 꺼내올 수 있다
- 주로 Data preprocessing 시에 사용
- usecase에 따라 사용되기도 아니기도 함
- 최대 50MB Deployment Package 허용
- 우리가 AWS 콘솔에서 직접 코드를 작성할 수 있지만 Local에서 다수의 파일을 하나의 압축 파일로 저장한 다음 AWS에 업로드 하여 deployent한 후 사용 가능.
- 50mb가 넘으면 업로드가 진행되지 않음 -> S3 버켓 사용 후 람다에서 지정 가능(대안책)
# 사용 용례
1. S3 bucket에 파일을 업로드하는 경우
< S3 -> Lambda -> DB >
S3 : 'Put object' 이벤트 발생 -> Lambda 함수 실행
Lambda : 데이터를 읽고 필요한 데이터를 변환하고 불필요한 데이터를 삭제
Lambda는 정리되어 필요한 데이터만 DB로 전송
2. IoT를 통해 실시간으로 데이터가 들어오는 경우
ex) 해외 운전자가 탑승한 차의 매 초 자동차 주행 데이터가 입력되는 경우
< Iot -> lambda -> Sns >
IoT : Topic을 통해 발생하는 다양한 이벤트를 다룬다.
예상치 못한 자동차의 과속으로 속도 데이터가 Topic으로 전송되어 이벤트가 발생.
-> Lambda 호출
Lambda : 형 변환 진행
국내 거리 기준이 Km이고 해외 거리 기준이 mile이라서 단위가 맞지 않을 경우 형변환이 필요
Sns 를 통해 사용자에게 경고 전달
오늘도 쪼은 하루!!!
오쫀하!!!
728x90
'☁ 뭉게뭉게 클라우드 > 🙀 rlch가 되기 위한 기초' 카테고리의 다른 글
[AWS] Cloudwatch EC2 리소스 사용 모니터링 (0) | 2022.07.27 |
---|---|
[AWS] CloudWatch_Alarm (0) | 2022.07.26 |
[AWS] CloudWatch (0) | 2022.07.23 |
[AWS] S3 Bucket 암호화, 파일 업로드 (1) | 2022.07.21 |
[AWS] S3 bucket 정책 편집 (0) | 2022.07.21 |