1cpu 1ram을 할당받는 ec2와 다른
서버리스(serverless) 방식 : 호출양만큼 금액만 낼경우 서버관련된 부분은 aws가 알아서 처리해줌( 유동사용자 만큼 자동으로 트래픽을 늘려줌)
대표적 : lambda , API GateWay, cloud watch(print문이나 error 출력됨)
1.로컬의 소스코드를 lambda에 배포( 수작업)
2. github를 이용한 ci/cd
1.로컬의 소스코드를 lambda에 배포( 수작업)
웹브라우저로 작업한 사람이아닌 프로그램으로 작업해서 올릴사람
그외 필요한 권한은 더 추가 하면
권한 요약
사라지지 않게 주의하기
설치 한후
cmd명령 프롬프트나, 아나콘다로
npm install -g serverless
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 |