API 개발/API 개발 Project

API Project : 전체 개발 과정 정리

신강희 2024. 5. 29. 15:01
728x90

< 전체 개발 과정 정리 >

 

# 본격적인 Project 진행 전에 전체 개발과정을 한번 정리!

1) API 서버 개발을 위해, 파이썬 환경 설정

- 먼저 파이썬 3.10 으로 가상환경 생성 (아나콘다 프롬포트)

conda creat -n lambda_app python=3.10

 

- pip을 이용해서 필요한 라이브러리 설치 (flask 용)

pip install flask flask-restful mysql-connector-python psycopg2-binary passlib flask-jwt-extended email-validator flask-uploads uuid numpy pandas scikit-learn==0.23.2

 

2) AWS에 배포하기 위한, Serverless framwork 설치

- npm 설치(https://nodejs.org/en/)

- serverless.com 에 회원가입 (로그인)

- Serverless Framework 설치 : Windows cmd에서 실행 (버전은 3.38.0 으로 설치)

npn install -g serverless@3.38.0

 

3) AWS IAM 에서 유저 생성 (하나씩 권한 설정)

- 참고 : https://sorktjrrb.tistory.com/152

 

AWS Lambda : (2) AWS 이용을 위한, credentials 만들기 (IAM 설정)

credentials 만들기 (IAM 설정) > # 이제 로컬에서만 서버를 돌리는것이 아니라 배포를 하기위해서 사전 준비가 필요!- 우선 AWS 에서 배포를 하기 위해 AWS 계정에 대한 인증 정보를 설정해야 한다

sorktjrrb.tistory.com

 

4) Windows CMD 에서 Github 폴더 경로로 이동후 serverless 실행하여, 배포 폴더 생성

- 참고 : https://sorktjrrb.tistory.com/139

 

AWS Lambda : (3) Node.js & Serverless 설치하기

> # AWS 배포를 위해 Serverless framework 설치가 필요!# serverless가 바뀐부분이있어서 조금 복잡하다 수정이 필요할 경우 계속 업데이트 필요..! 1) npm 설치! (Nodejs OS 맞게 설치)https://nodejs.org/en/ Node.js

sorktjrrb.tistory.com

 

※ 혹시 이전에 연동한 서버키값을 까먹어서 새로 생성하였거나, 문제가 발생되어서 수정해야 한다면 아래처럼 수동으로 설정하면 된다.

# Windows CMD 창에서 아래처럼 설정
# () 안에 수정할 내용을 넣고 () 소가로는 삭제하고 맨 마지막에 -o도 같이 입력해서 실행

serverless config credentials --provider aws --key (수정할 키값) --secret (수정할 secret값) -o

 

5) 서버리스가 생성할 폴더를 Visual Studio Code 로 폴더 열기 한다.

 

6) 배포를 해보고, 웹브라우저나 Postman으로 테스트 해본다.

- 배포 방법은 VSCode에서 터미널을 열고 sls deploy하여 배포

- 로컬 환경에서 테스트해보고 싶을땐 flask run

 

7) 중요!) Github.com에 AWS 배포용 레파지토리를 만들고 연동한다.

- .gitignore 작성해야 하는 부분 주의할것!

- 참고 : https://sorktjrrb.tistory.com/153

 

AWS Lambda : (6) Github repositoried 연동 (Personal Access Token)

# 개발중인 코드의 유지보수 및 관리를 위하여 Github와 연동하기 위해 새로운 repositoried를 생성한다.- 실무적인 방법으로 연동하기 위해 Private로 생성한다.- readme와 gitignore는 설정하지 않는다. # P

sorktjrrb.tistory.com

 

8) 연동까지 확인되었으면, 개발한 프로젝트를 전부 복사 붙여넣기 해주거나, 해당 화면에서 개발 프로젝트 진행!

- VSC에서 파이썬 인터프리터 가상환경 맞게 설정! (처음에 생성한 가상환경)

- 개발중에는 로컬 환경에서 테스트 flask run

- 테스트는 Postman과 DB 연동사항이 있다면 MySQL Workbench에서 적용되는지도 테스트

- AWS에서 테스트해보면 에러난다. 클라우드 와치에서 확인!

 

9) 개발과 테스트까지 모두 끝났다면, requirements.txt 파일에 우리가 로컬에서 설치한 파이썬 라이브러리 이름을 적어줘야 한다.

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

 

10) 용량이 크다면 Docker를 이용해서 도커 설정까지 추가

- 참고 : https://sorktjrrb.tistory.com/154

 

Docker : (1) 설치 방법 및 AWS ECR 설정

# API 서버 자동 배포 시 용량 문제로 서버가 돌아가지 않을때 Docker를 사용- 람다로 서버 배포시 라이브러리의 용량이 50MB까지밖에 제공되지 않음 # 도커 설치 필요 & 도커란?? - Docker는 소프트웨

sorktjrrb.tistory.com

 

 

11) VSC 터미널 cmd를 열고 sls deploy 해서 서버 배포!

- 배포가 문제가 없다면 Git Actions를 이용해서 CI/CD 자동 배포화도 실행

- 참고 : https://sorktjrrb.tistory.com/156

 

Docker : (3) CI/CD(서버 자동 배포)를 위한 Git Actions 설정

# 이제 로컬 환경에선 테스트가 끝났고 서버에 자동 배포를 진행해 보자- 방식은 이전에 Lambda 자동배포와 거의 동일함 Access Key 생성도 필요- 참고 : https://sorktjrrb.tistory.com/151 # 이전장까지 하여

sorktjrrb.tistory.com

 

다음 게시글로 계속~!

 

반응형