현재 프로젝트에서 AWS Lambda를 사용하게 됐다.
접속 때마다 브라우저로 접속해서 코드 수정하고 CloudWatch로 log 확인하는 것이 번거로울 것으로 예상한 리더님께서 로컬 환경 구축에 대한 가이드를 주셨다. Mac을 사용하고 계시기 때문에 내 노트북에는 맞지 않아 따로 정리해두려고 한다.
따라서 요점! 오늘은 윈도우 기반으로 AWS Lambda 로컬 환경을 구축해보려고 한다.
Mac 기반 환경설정 참고는 다른 블로그에 있다! (리더님께서 참고하신 게시글)
https://daddyprogrammer.org/post/9131/aws-lambda-setup-develop-environment/
Node.js 설치
https://sober-developer.tistory.com/9
AWS CLI 설치
aws가 서비스하는 컴퓨팅 리소스들을 터미널에서 명령줄 인터페이스로 관리할 수 있도록 도와주는 awscli 설치!
https://sober-developer.tistory.com/10
AWS 인증설정
개발 PC에서 AWS의 리소스에 접근하려면 액세스 키를 발급받아 세팅해야 한다.
발급 받는 유저가 AdministratorAccess 권한이 부여되어 있으면 따로 권한 작업은 필요 없으나, 권한이 제한된 계정의 경우 추가로 권한 부여 작업이 필요하다.
- AWSLambdaFullAccess: 람다 함수 생성 시 사용
- IAMFullaccess: 생성할 람다 함수의 IAM 역할(role) 생성 시 사용
권한 부여 방법을 모르겠다면 여기!
권한 설정이 마무리되면 우측 상단에 있는 [본인의 아이디]를 클릭하면 [보안 자격 증명]에 들어갈 수 있다.
여기서 [액세스 키(액세스 키 ID 및 비밀 액세스 키)]를 열어 새 엑세스 키 만들기를 실행한다.
생성 후 발급되는 AWSSecretKey는 한 번만 확인이 가능하므로 잘 보관한다.
발급 정보로 개발 PC에 AWS 프로필을 등록한다.
옵션을 주지 않고 실행 시 default 프로필로 생성되고, %USERPROFILE%\.aws\하위에 관련 파일이 생성된다.
// 확인하고 싶다면
type %USERPRIFILE%\.aws\credentials
특정 이름의 프로필로 생성하려면 다음과 같이 진행한다.
aws configure --profile <원하는 유저 이름>
awscli로 인증 설정이 잘 됐는지 확인한다. 인증 설정이 안 되어 있다면 아래 명령어 실행 시 결과를 얻지 못한다.
문제 없이 설정되었다면 json으로 결과가 출력된다.
// defualt profile
aws ec2 describe-instances
// 특정 프로파일 지정
aws ec2 --profile <특정 유저 이름> describe-instances
혹시 오류가 떴다면 이쪽 참고
Serverless Framework 설치
// curl
curl -o- -L https://slss.io/install | bash
// npm 이용
npm i -g serverless
// 설치 확인
sls --version
awslogs 설치
lambda 함수가 aws에 배포된 상태에서 실행 로그를 확인하려면 cloudwatch를 통해 확인해야 함. 매번 웹 콘솔을 열고 확인하기 불편하기도 하고 tail 로그는 웹 브라우저보다 터미널에서 확인하는 게 좋으므로 awslogs를 설치하여 원격에서 실행되는 lambda의 실행로그를 로컬 pc의 터미널에서 실시간으로 확인하자.
https://github.com/jorgebastida/awslogs
- 설치 과정
- 먼저 설치에 이용할 python과 pip 설치 여부 확인 및 설치 (자세한 설명)
// 파이썬이 있는지 확인
python --version
// 없다면 명령 프롬프트에 python 입력하면 Microsoft Store에서 python 설치 화면으로 바로 이동하여 설치 진행
// python 있다면
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
//다운로드 완료 시 설치를 위해 명령어 한 번 더 입력
python get-pip.py
- pip 이용하여 awslogs 설치
pip install awslogs
이렇게 쭉 나오다가 마지막 쯔음
WARNING: The script awslogs.exe is installed in '<경로>' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
이런 경고가 뜨면 환경변수 path에 저 <경로> 부분을 복사해서 추가하면 된다. (환경변수 설정 자세히)
'AWS > AWS Lambda' 카테고리의 다른 글
[AWS Lambda] 로컬 환경 구축(node.js + serverless) - macOS (0) | 2022.09.19 |
---|