[TIL] 인공지능 Flask API 프로젝트 EC2 배포 & 프로젝트 연결

김시원·2023년 6월 20일
0

TIL

목록 보기
49/50

인공지능 모델을 사용한 응급도 예측: EC2 Server Scale Up

t2.micro (free tier)

🚫 Killed: 프로세스가 운영 체제에 의해 중단되었음을 나타냄
⇒ OS에 의해 pip install tensorflow가 Killed된 상황. AWS EC2 free tier 인스턴스의 메모리 부족으로 인해 중단되었음

t3.small

🚫 t2.micro와 마찬가지로 Killed되었음

t3.medium

pip install tensorflow로 tensorflow가 잘 설치되었음
해당 flask API의 경우, 모델 학습을 시키는 용도가 아닌, 이미 학습된 모델을 불러와서 응급도를 예측하는 API이므로 GPU가 필요하지 않아, CPU EC2를 사용함.

  • 추가로 EC2 인스턴스에 실행한 명령어 / 설치해준 모듈
    • sudo apt update
    • sudo apt install python3-pip
    • sudo apt-get install python3-venv
    • sudo apt-get install default-jdk ⇒ konlpy를 사용하기 위한 jdk 설치
    • sudo pip install konlpy
    • pip install intel-tensorflow==2.12.0 version 관련 에러
      • pip install -U keras_applications==1.0.6 --no-deps
        pip install -U keras_preprocessing==1.0.5 --no-deps

EC2 Server 인스턴스 연결

  1. Port forwarding

    sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000

    …바보 같다…… t3.medium IP 주소가 아니라 t3.small로 계속 들어갔으면서 … 삽질함 트러블슈팅도 아님

  2. Background로 flask server 구동

    nohup python -u [app.py](http://app.py) & ⇒ background 실행

    tail -f nohup.out ⇒ 로그 확인

    lsof -i :5000 ⇒ pid 확인

    sudo kill -9 [PID] ⇒ 구동중인 프로세스 종료

    Flask - nohup으로 백그라운드 실행하기

0개의 댓글