람다를 더 잘 사용하기 위해서 udemy 강의를 듣던 중, serverless framework라는 것에 대해 알게 되었다.
serverless framework란 aws 람다를 사용하면서, 람다 뿐만 아니라 S3 버킷 생성, 람다 함수 생성 및 실행 등 서버리스 아키텍처 전체를 매니징할 수 있게 해주는 오픈소스 프레임워크이다.
서버리스 프레임워크의 홈페이지에서 설치방법과 유저 가이드, 튜토리얼 등을 확인할 수 있다.
본 게시글에서는 콘솔 창에서 serverless를 제어할 수 있는 명령어들을 정리해보려 한다.
(serverless framework의 공식 문서 중 CLI reference에서 해당 내용을 자세히 확인할 수 있다.)
본 게시글은 위에 언급한 udemy의 강의 내용을 정리하여 작성되었다.
0. 서버리스 프레임워크를 사용하기 위해서는, 미리 IAM에서 사용자를 생성해준 후, 콘솔 창에서 사용자 정보를 등록해주어야 한다.
serverless config credentials --provider aws --key xxx(access key id) --secret yyy(secret access key) -profile zzz(IAM 사용자 이름)
위 명령어를 콘솔 창에서 입력하여 실행해주자.
1. create
serverless create --template aws-python(사용할 언어 선택)--path helloworld(path 이름을 지정해주는 부분)
사용할 언어와 path를 생성해주는 명령어다.
path 생성을 완료한 후에는 cd 명령어를 사용하여 해당 path로 디렉토리를 이동하여야 한다.
(cd helloworld)
추후 서술할 모든 명령어는 여기서 생성한 디렉토리 안에서 이루어져야 한다.
2. deploy
serverless deploy -v
handler 파일을 통해 함수 내용을 수정하고, serverless.yml 파일에 필요한 정보들을 기입해준 후 배포하면, 해당 내용대로 aws에 배포(?)가 된다.
S3버킷이 생성되고, 람다 함수가 생성되고, IAM role에 권한이 추가된다.
3. invoke
serverless invoke -f hello(함수 이름) -l(로그 출력)
함수를 실행시켜보고, 로그를 콘솔창에서 받아볼 수 있도록 하는 명령어이다.
4. update
serverless deploy function(배포하려는 부분) -f hello(함수 이름)
2의 deploy는 관련된 모든 파일과 상태를 배포하는 명령어이다.
만약 함수만 수정해서 업데이트하고 싶다면 위의 코드를 사용하면 된다.
업데이트하고 싶은 부분만 골라서 배포할 수 있게 해주는 코드이다.
5. fetch
serverless -f hello(함수이름) -t
aws 홈페이지에서는 클라우드워치에서 볼 수 있는 로그를 콘솔창(CLI)에서 볼 수 있게 해주는 명령어다.
해당 명령어를 실행하면 콘솔창은 무한 대기상태가 되며, 함수가 실행될 때 실시간으로 로그를 콘솔창에 띄워준다.
6. remove
serverless remove
해당 path를 통해 생성된 람다 함수와 그와 관련된 모든것(IAM role, cloudwatch log group, S3 내부의 오브젝트 등)을 삭제해주는 명령어다.
이번 게시글에서는 serverless framework의 가장 기초적인 명령어들을 정리해보았다.
udemy aws lambda serverless 강의 세션 4에서 들은 내용을 정리한 것으로, 필요하다면 해당 강의를 결제하여 보거나, 서버리스 프레임워크 공식 사이트의 공식 문서를 참고하길 바란다.
'AWS' 카테고리의 다른 글
AWS Amplify) 안드로이드와 AWS S3 버켓 연결하기 (0) | 2021.10.20 |
---|---|
AWS Lambda 개발②) S3 버켓에 새로운 txt 파일 업로드하기 (0) | 2021.08.24 |
AWS Lambda 개발①) S3 트리거를 통한 S3 오브젝트 정보 가져오기 (+txt파일) (0) | 2021.08.19 |
댓글