[AWS] AWS Lambda

남영민·2021년 11월 23일
0

AWS Lamda를 처음 사용해본 경험을 기록합니다.

Lambda는 서버리스하게 함수를 실행시킬 수 있는 서비스입니다.

  1. 람다 기본 설명
  • 람다는 event와 context 파라미터를 받으며 event는 함수(lambda_handler)에서 사용할 json 형식(다른 형식도 되나?)의 input 값입니다. context는?

  • cloud watch의 로그 스트림에서 디버깅 하는 방법이 가장 간편한 방법이며, Deploy를 할 때마다 새로운 로그 스트림이 생기고, Deploy 없이 실행만 할 경우엔 가장 마지막 로그 스트림에 로그가 추가됩니다.

  1. 람다와 api gateway 연결
  • api gateway 통합 대상에 lambda를 선택하여 api gateway와 lambda를 연결 할 수 있습니다. api gateway 경로에서 path parameter를 /user/{id}?filter=1와 같이 설정하면 lambda를 호출하면 lambda의 event의 event['pathParameteres']['id']로 path parameter의 값과 event['queryStringParameters']['filter']에서 쿼리 스티링의 값을 확인 할 수 있습니다.
  1. 람다 오류 해결

import 하는 모듈 관련하여 에러가 발생했는데 두 가지 방법으로 해결할 수 있었습니다.

  • 첫 번째로는, Layers에 ARN을 추가하는 방법이 있습니다.


    구글에 klayers를 검색하면, Lambda layers에 추가할 수 있는 arn을 제공하는 git hub이 있습니다.

  • 다음으로, import할 모듈 폴더를 프로젝트 폴더에 함께 넣어서 압축하여 AWS Lambda에 올리는 방법이 있습니다.

마지막으로, Lambda에 올린 함수가 Athena와 연결이 되지 않아 헤멨는데요, nat gateway가 연결되어 있는 프라이빗 서브넷을 연결해주니 Athena와 연결되었습니다.
네트워크를 유념할 필요가 있겠습니다..!

profile
성장하는 개발자

0개의 댓글