본문 바로가기
AWS

AWS lambda에 python 라이브러리 올리기

by 앵남(Andy) 2021. 11. 24.

글 개요 

이번 포스팅은 aws -labmda 서비스에 특정 라이브러리를 올리는 방법을 알아보겠습니다.

글 본문

aws labmda service

가장 먼저해야할 일은 aws에서 람다함수를 만들어줘야 합니다. 저는 함수이름을 lambdatest python버전은 3.6으로 만들었습니다. 

 

현재 제가 만든 람다함수에는 pandas 라이브러리가 없는것을 확인할 수 있습니다. 

 

lambda 함수의 제한

하나의 lambda함수내에는 5개 layer를 올릴 수 있습니다. 

하나의 lambda함수와 layer의 합하여 250MB를 초과할 수 없습니다. 하지만 docker를 활용하여 배포한다면 자유롭게 배포할 수 있습니다. 추후에는 docker를 활용하여 배포하는 방법도 올려보겠습니다. 

 

 

pandas lambda layer 만들기 

일단 저는 lambda함수의 python 버전이 3.6이니 anaconda로 python 3.6으로 환경을 만든다음에 pandas 라이브러리를 설치하여 zip파일로 만든다음 lambda함수에 올려보겠습니다. 

mkdir aws_test_pandas

pandas 함수를 zip할 폴더를 하나 만듭니다. 모든작업은 aws_test_pandas에서 작업합니다. 

 

aws_test_pandas폴더을 이동 후 python폴더를 하나 더 만들어줍니다. 

 

mkdir python

aws_test_pandas라는 폴더에 pandas 라이브러리를 설치해줍니다. 

pip install pandas -t .

aws_test_pandas폴더에 만들어진 pandas 라이브러리들을 이전에 만들었던 python 폴더에 다 넣어줍니다. 

이제 aws_test_pandas폴더를 압축하고 layer에 올리면 끝입니다. 

 

압축이 끝났다면 다시 aws lambda로 돌아와서 왼쪽 bar에 계층을 클릭합니다.

 

aws lambda 계층

맨오른쪽 상단에 계층생성 버튼이 있습니다 계층생성 버튼을 클릭합니다. 

아까 압축했던 aws_test_pandas.zip파일을 업로드해주고 호환런타임을 python3.6으로 설정해줍니다.

 

람다 함수로 돌아와서 맨밑에 계층에 Add a layer를 클릭합니다.

사용자 지정 계층을 클릭하고 아까 만들었던 pandas를 클릭해주고 추가를 해줍니다. 

 

다시 deploy하고 test를 해주면 pandas 라이브러리가 제대로 오류없이 실행되는걸 볼 수 있습니다.

 

'AWS' 카테고리의 다른 글

AWS-IAM 이해하기-실습-3  (0) 2021.09.13
AWS- IAM 이해하기-실습-2  (0) 2021.09.09
AWS- IAM 이해하기-실습-1  (0) 2021.09.09
AWS - IAM 이해하기-2  (0) 2021.09.09
AWS - IAM 이해하기-1  (0) 2021.09.09

댓글