DevOps/AWS

AWS Lambda - Numpy,Pandas 라이브러리를 Lambda 레이어로 만드는 방법

왕현성 2023. 1. 11. 16:45
728x90

1. putty로 ec2 접속


2. 파이썬이 없으면 먼저 아나콘다 설치


3. 람다의 환경이 파이썬 3.9이므로 가상환경을 만든다.

$conda create -n lambda39 python=3.9


4. 가상환경으로 이동 

$conda activate lambda39


5. 디렉토리를 하나 만든다. 이름은 python으로 

$mkdir python


6. 위에서 만든 디렉토리로 이동한다

$cd python


7. 아마존 리눅스에 설치할 넘파이와 판다스 파일을 https://pypi.org 에서찾는다


8. numpy , pandas, pytz를 찾아서 ec2에 다운로드한다.

$wget 파일url


9. 위의 3개 파일을 각각 압축을 풀어준다.

$unzip 파일.whl


10 . 필요없는 원본파일(.whl)은 삭제해준다.

$rm -rf 파일명(폴더명)
참고 : 파일명에 특정 단어가 포함된 파일들을 모두 처리하고싶을 때
$rm -rf *.whl



11. 상위경로로 이동한다 (python 폴더가 보이는 경로)

$cd ..


12. python 폴더를 압축한다.

$zip -r 압축파일명 압축할 디렉토리명



13. FileZila를 이용해서 위의 파일을 로컬로 다운로드한다. ( FTP )

 

14. Lambda Layer 생성을 위해 aws 콘솔에 접속한다.

 

15. 위에서 만든 파일을 S3 업로드하기위해 먼저 버킷을 생성한다.


16. aws 콘솔의 람다 항목으로 이동해서 계층 (layer) 추가 항목 선택하여 계층을 추가한다.

 

( S3 URL , X86_64, Python3.9 

 

17. 우리 앱의 lambda로 이동하여 계층을 추가한다.

 

18. VisualStudioCode에서 requirements.txt에 적은 numpy와 pandas는 이미 레이어에서 설치해서 제공하니 삭제해준다.

 

 

이후 포스트맨 테스트 결과 정상 작동되는 것을 확인할 수 있다.