본문 바로가기

serverless4

[Lambda] Lambda의 Layer(레이어, 계층) Lambda는 50MB의 작은 용량을 가지고있다. 작은 용량의 한계를 해결하기 위해 AWS는 Layer (계층)를 제공한다. # 라이브러리를 layer로 만들고 라이브러리를 실행시킬때 layer를 추가하는 방식을 사용한다. # 이는 레이어를 활용하여 라이브러리를 재사용하기 용이하다는 것이다. 넘파이와 판다스 라이브러리가 들어있는 레이어를 만들어보자. 먼저 AWS EC2 인스턴스를 확인하고 없으면 생성한다. 참고: https://startcod.tistory.com/68 [Linux] EC2를 활용한 AWS 배포, 리눅스에 파이썬 다운로드, 깃 클론 이때까지는 로컬과 깃에서 스트림릿을 푸시하고 풀해줬다면 이것을 AWS의 EC2를 활용해서 배포해야 한다. 깃에서 AWS로 Streamlit을 배포하려면: 소스.. 2022. 6. 29.
[Lambda] serverless app을 github에 연동 깃허브에 연동하기위래 깃허브에서 새 레파지토리를 생성한다. # readme와 gitignore은 serverless 만들때 이미 만들어졌기때문에 생성하지 않는다. 그럼 빈 레파지토리가 만들어진다. # 이 화면 그대로 놔둔다. 위의 화면이 나오면 비쥬얼 코드 터미널로 가서 깃을 시작한다. git init gitignore 맨 아래에 vscode와 node_modules를 추가한다. .vscode/ node_modules/ 이제 깃에 add한다. git add . # 한칸 뛰고 온점 ' . '을 찍는것에 유의한다. 깃허브 사이트에서 받은 주소를 사용해서 코드와 깃을 연결한다. git remote add origin https://github.com/eyoo95/aws-memo-server.git # 깃주소 .. 2022. 6. 29.
[Lambda] serverless에 app 적용, Service Unavailable 에러 전에 만들었던 레시피 프로젝트의 app.py, util.py, config.py, mysql_connection.py, .gitignore 파일과 resources 폴더를 복사하여 붙여넣는다. 그 후 레시피 프로젝트에서 사용했던 라이브러리를 requirements.txt에 입력한다. mysql-connector-python flask-restful psycopg2-binary passlib email-validator Flask-JWT-Extended requests 이제 deploy 한다. sls deploy 포스트맨으로 endpoint를 활용해서 API를 작동시키자. # 잘 작동된다. 디버깅할때는 cloud watch에서 로그의 로그그룹으로 들어가서 /aws/lambda 로 시작하는 로그를 찾는다. .. 2022. 6. 28.
[Lambda] AWS 배포를 위한 serverless 프레임워크, Lambda 페이스북이나 인스타그램처럼 폭발적으로 증가하는 데이터를 저장하고 처리하기 위해 NoSQL을 사용한다. NoSQL은 관계형 데이터베이스(RDBMS)에 비해 안정성은 떨어지나 높은 확장성을 보여준다. # Shard기법으로 확장한다. # 대표적인 NoSQL으로는 Dynamo, MongoDB, Casandra등이 있다. 대부분의 기업은 중요한 정보들을 처리할땐 RDBMS을 사용하고 댓글과 포스팅같은 데이터에는 NoSQL를 사용한다. 또한 프로필 수정과 같은 기능은 빠른 응답을 위해 Cache 서버를 사용하며, 사진을 업로드 하고 사진에 대한 부가적인 작업을 하기위해 Message queue를 사용한다. 이에 많은 회사들은 각기 다른 많은 서버와 자원들을 관리하기 위해 serverless를 활용한다. # serv.. 2022. 6. 28.