API 개발/AWS Lambda API 배포

AWS Lambda : (4) 배포 전 수정 사항 & 한국 서버로 배포 방법

신강희 2024. 5. 27. 11:59
728x90

< (4) 배포 전 수정 사항 & 한국 서버로 배포 방법 >

 

# Serverless로 생성한 폴더를 VSCode로 실행하여 app.py 화면에서 이전 생성한 가상환경으로 맞춰준다.

 

# 현재 날짜 기준으로 바로 서버배포를 진행하면 오류가 발생된다!

- 2가지 오류가 계속 발생되어 해당 부분 수정

### 이전 게시글에 따라서 3.38.0 버전으로 깔았으면 오류가 발생되지 않는다!

### 오류가 없다면 그냥 그대로 진행하면 된다!

 

1. plugins를 계속 인식하지 못하는 오류 수정 > VSCode CMD를 실행시켜 플러그인 설치

npm install serverless-wsgi --save-dev

 

2. nodejs 폴더 개수가 많아 인식이 실패한다는 오류 수정 > serverless.yml 파일을 열어 제일 하단에 해당 구문 입력후 저장

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

 

# 한국 서버로 배포하기 위해서 같은 파일에서 몇가지더 수정해 주자!

- serverless.yml 파일에서 provider >  runtime에 배포할 버전을 3.10 (가상환경과 동일한 버전)으로 수정해주고 region 추가!

- 아예 최상단 부분을 하단과 동일하게 수정해 주자!

# "service" is the name of this project. This will also be added to your AWS resource names.
service: aws-memo-server

frameworkVersion: '3'

custom:
  wsgi:
    app: app.app

provider:
  name: aws
  runtime: python3.10
  region : ap-northeast-2

 

# requirements.txt 파일을 들어가서 개발할때 사용하였던 라이브러리들 기재해 주어야함!

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

 

# 완료후 cmd 창에 서버 실행 명령어 입력 (축약어로 sls deploy 로 입력해도됨)

serverless deploy

ㄴ 배포가 완료되면 url이 생성된다!

 

다음 게시글로 계속~!

 

반응형