Serverless Framework - AWS에 배포하기 (설치, apps생성, 배포)

반응형

서버리스 프레임워크

  • 클라우드 컴퓨팅 실행 모델
  • AWS에 자동으로 배포해주는 배포 전용 프레임워크

서버리스 프레임워크 사용을 위한 nodejs 설치

 

  • nodejs 다운로드 후 설치


서버리스 프레임워크 설치

  • 커맨드 프롬프트 혹은 아나콘다 프롬프트에서 아래의 코드 실행
npm install -g serverless

배포 APP 생성

  • 서버리스 홈페이지 접속

https://www.serverless.com/

 

  • 로그인

 

  • create app

 

  • 자신이 배포할 app 유형 선택 - python flask API

 

  • 배포할 어플리케이션 이름 입력 -> 'create'

 

  • 생성된 코드 복사

 

  • 서버리스 템플릿 폴더를 생성할 경로에서 코드 실행
  • 주의 : 명령 프롬프트에서는 다줄인식이 안되므로 한줄로 바꿔서 실행

 

  • 테스트용이므로 Skip

 

  • 실행한 디렉토리에 해당 app 폴더 생성 확인


파일 구조 확인하기

serverless.yml

  • 어플리케이션의 정보가 담겨있는 파일
org: eunbyeol
app: aws-eb-recipe-server
service: aws-eb-recipe-server

frameworkVersion: '3'

custom:
  wsgi:
    app: app.app

provider:
  name: aws
  runtime: python3.8

functions:
  api:
    handler: wsgi_handler.handler
    events:
      - httpApi: '*'

plugins:
  - serverless-wsgi
  - serverless-python-requirements

requirements.txt

  • 어플리케이션에서 사용되는 라이브러리를 정의해두는 파일
  • 필요한 라이브러리와 버전 입력하면 AWS에서 자동 설치
    • 버전을 모를 경우 공백, 자동으로 버전을 감지
Flask==1.1.4
Werkzeug==1.0.1
markupsafe==2.0.1
mysql-connector-python
flask-restful

로컬 테스트

  • 로컬 테스트를 위한 app.py에 소스 코드 추가
# app.py 맨 밑에 아래의 소스 코드 추가
# 로컬에서 작동 테스트
if __name__ == '__main__' :
    app.run()

 

  • 실행 확인
python app.py

 

  • POSTMAN에서 정상 작동 확인


배포를 위한 AWS 키 설정하는 방법

  • 서버리스 홈페이지 로그인 -> org -> add

 

  • next

 

  • 자신의 AWS 이름과 키 입력

 

  • 설정 확인


배포하기

  • 배포할 어플리케이션 디렉토리 위치에서 아래의 코드 실행
serverless deploy

 

  • 앱 작동 확인

 

  • 배포 주소로 배포되있는지 확인

반응형