본문 바로가기

RestfulAPI

AWS Serverless Framework 설치 방법

먼저 AWS 에 들어가 IAM 을 검색한다. 들어가고 사용자 클릭후 사용자 생성을 눌러준다.

그다음 사용자 이름을 적어주고 다음을 눌러준다.

직접 정책 연결을 눌러주고 .권한을 설정해준다

그렇게 권한 설정 후 만들고 나면 사용자에 아래와 같은 모습으로 생성된다.

사용자->액세스 키 만들기를 클릭해준다.

저거 하나만 체크하고 다음을 눌러준다.

그럼이제 액세스 키가 생성되고 하단 우측을 보시면 완료 버튼 옆에 .csv 파일 다운로드 버튼이 있는데

반드시 다운로드 해주시면 된다. 이 화면에서만 액세스 키를 다운받을 수 있고 키를 분실하였을 경우엔

새 액세스 키를 만들어야 하기 때문이다.

액세스 키를 다운받고 그 엑셀 파일을 일단 켜농길 바란다.

 

그다음 노드js를 다운 받아야 한다.

https://nodejs.org/en

 

Node.js — Run JavaScript Everywhere

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

 

다음으로는 cmd(명령 프롬프트)를 연 후 위와 같이 명령어를 입력하여 serverless 프레임워크를 설치해주자.

serverless 는 API를 배포해주는 프레임워크이다.

설치 다한 후 serverless를 cmd 창에서 쳐주자

그리고 AWS/Python/Flask API를 선택한 후

이름 명을 지어주면 되는데, 이렇게 지어줘 되고,다르게 해도 상관없다.

그다음 Create A New APP 선택

Name Your New App 명을 이런식으로 지어주자.

Save AWS Credentials in a Local Profile 선택

아까 엑셀로 다운받은 것을 각각 잘 넣어줘야 하는데,csv 파일 보면 앞에 거의 대문자만 있는게 Key ID 고 그 / 뒤에 있는 부분이 Access Key 아이디라고 생각 하면 된다.

다 다운 받아지면 이러한 화면이 뜨는데, 배포할 준비가 되었다는 뜻이다.

이제 aws-recipe-server 폴더가 Github 폴더 다음 경로에 생겼을 것이다. 

확인해 보면 잘 있다.

그 다음 VSC 코드를 키고 file - 오픈폴더 해서 이 파일을 열어준다.

가상환경 진입 ㄱㄱ해준다.

그 다음으로 serverless.yml 파일에 하단 문구를 붙여넣어준다.

package:
  individually: true
  exclude:
    - node_modules/**  # node_modules 폴더와 그 하위 모든 파일 및 디렉토리 제외
    - .git/**  # .git 폴더와 그 하위 모든 파일 및 디렉토리 제외
    - tests/**  # tests 폴더와 그 하위 모든 파일 및 디렉토리 제외
  include:
    - src/**  # src 폴더와 그 하위 모든 파일 및 디렉토리 포함
    - handler.py  # 루트 디렉토리의 handler.py 파일 포함
    - config/**  # config 폴더와 그 하위 모든 파일 및 디렉토리 포함

이거 가져다가 붙이면 된다.

VScode 에서 Ctrl + shift + ` 로 cmd창을 열어준 다음  npm install serverless-wsgi --save-dev

문구를 입력해서 설치해준다.

최종적으로 sls deploy 하면 배포 끝이다.

이렇게 떠야 동작 잘된다는 뜻이다.

이제 저 주소를 복사해서 포스트맨에서 확인해보자.

주소 넣고 send 햇을 때 성공 메시지가 나오면 제대로 된게 맞다.

이제 내가 개발한 로그인,회원가입 등등의 파일을 이사 시켜주자

파일을 옮기는중..

파일 다 옮기고 나서 위에 화면처럼 requirements.txt 파일에 코드를 추가해줘야 한다.

flask-restful
mysql-connector-python
psycopg-binary
passlib
flask-jwt-extended
email-validator

serverless.yml 에 runtilme: python3.10으로 바꿔주고

region: ap-northeast-2 

추가해준다.

그리고 마지막으로 sls deploy 확인해본다.

로그인해서 access 키를 받은뒤

확인해보면 잘 작동되는 것을 볼수 있다...(여기까지 왔으면 다들 정말 고생 하셨습니다!!)