Api 개발/flask

API 소스코드 lambda에 배포하기

공부짱짱열심히하기 2023. 1. 10. 17:44

1cpu 1ram을 할당받는 ec2와 다른

서버리스(serverless) 방식 :  호출양만큼 금액만 낼경우 서버관련된 부분은 aws가 알아서 처리해줌( 유동사용자 만큼 자동으로 트래픽을 늘려줌)

대표적 : lambda , API GateWay, cloud watch(print문이나 error 출력됨)

 

1.로컬의 소스코드를 lambda에 배포( 수작업)

2. github를 이용한 ci/cd

 

 

1.로컬의 소스코드를 lambda에 배포( 수작업)

 

 

웹브라우저로 작업한 사람이아닌 프로그램으로 작업해서 올릴사람

 

그외 필요한 권한은 더 추가 하면

 

권한 요약

 

사라지지 않게 주의하기

 

https://nodejs.org/en/

 

Node.js

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

nodejs.org

 

설치 한후

cmd명령 프롬프트나, 아나콘다로

npm install -g serverless

 

 

https://www.serverless.com/

 

Serverless: Develop & Monitor Apps On AWS Lambda

Easily develop and monitor auto-scaling applications on AWS Lambda, API Gateway, DynamoDB, etc., with the Serverless Framework and Serverless Monitoring Dashboard.

www.serverless.com

local에 돌렸던 서버를 람다에 배포할수있음

 

로그인 해준후 화면

 

 

 

 

 

아까 권한 받은키

 

 

서버리스 툴에게 보내달라고 알려준거

 

 

create app을 실행한후

 

aws lambda 는 자바스크립트와 파이썬 지원

 

create하고나면 경로하나가 생성됨.

 

복사한 경로를 한줄로 만들어서(| w다 제거)

cmd로

내 github 경로로  이동해서

ex) cd Documents cd github

본인의 Github경로에다가 복사붙여넣기 해준다

 

no  하고

visual studio code로 생성된 폴더를 열어준후

인터프리터로 파이썬 3.9가 설치된 lambda용 환경을 세팅후

serverless deploy
sls deploy 로 해도됨

serverless deploy 해서 배포하기

 

 

endpoint로 나온 도메인을 postman에서 url에 입력후 send해보면 정상 작동중 

 

지금 이서버는 어디에 배포되어있는가

 

 

 

 

 

소스코드는 lmbda에 복사되어 있고

호출을 할경우gateway가 받아서 실행

 

 

함수 api gate를 클릭해보면

 

도메인주소가 나옴(http로)

 

요약

1.서버리스앱을 만든다

2.cmd를 실행하여 로컬에 템플릿 만든다

3.템플릿을 aws에배포(테스트용) sls deploy

4.포스트맨으로 테스트 해본다

5.aws배포용 레파지토리를 만든다

6.서버리스 템플릿 폴더에 있는 것들을 새로운 레파지토리로 모두이동

7.새로운 레파지토리를 비주얼 스튜디오 코드로 열고

8..gitignore 파일에, node_modules를 타이핑후 저장(# Pyre type checker)에다가

9.커밋하고 푸시

10.파이썬 인트프리터 가상환경을 맞게 설정

11.로컬에서 만든 레시피서버 소스코드를, 지금만든 레파짓토리리로 복사해서 넣는다(비주얼스튜디오 코드를 2개 열어서 작업하는게 편함)

12.새 레파지토리 소스코드를, 로컬에서 먼저 테스트(포스트맨에서)

13.requirements.py파일에, 우리가 로컬에서 설치한 파이썬 라이브러리 이름을 적어줘야 한다.

(AWS의 람다가, 우리가 설치한 라이브러리를 설치하도록)

'Api 개발 > flask' 카테고리의 다른 글

serverless 계층(layer) 설정  (0) 2023.01.11
serverless 서버 서울로 바꾸기  (0) 2023.01.11
영화추천 api 만들기 즐겨찾기 기능  (0) 2023.01.10
영화추천 모듈화 개발  (0) 2023.01.10
MySQL에서 admin 계정만들기  (0) 2023.01.04