☁ 뭉게뭉게 클라우드/🙀 rlch가 되기 위한 기초

[AWS] Lambda

우주수첩 2022. 8. 4. 00:42
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