AWS FSI General Immersion Day for AIML
윈도우 PC에서 핸즈온 과정 중 EC2 SSH 연동을 위해 사용합니다.
- downloadlink https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- bin 64-bit x86:: https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe
Amazon Linux 2 인스턴스를 시작하고, 분류 모델 API를 생성해봅니다.
-
모델은 DeepLearning Tenserflow Bert Model로 구현되어있습니다. API는 모델을 Load한 뒤 Client Request를 호출하면 Predict 함수를 call합니다.
-
다소 무거운 모델 API입니다. t2.xlarge(4CPU / 16G) 또는 GPU EC2를 권장합니다.
-
보안그룹에서 test할 API 의 TCP port를 바인딩 합니다. 8080 포트를 사용하며, 소스는 '내 IP'를 선택하여 client PC에서만 접속 가능하도록 선택합니다.
ssh -i "AWS-ImmersionDay.pem" ec2-user@{퍼블릭 IPv4 주소}
- 계정을 root로 변경합니다.
sudo -i
- 모델 실행 스크립트를 다운 받기 위해 EC2에 git을 설치합니다.
sudo yum install git -y
- GID 저장소를 clone합니다.
git clone https://github.com/hyeonsangjeon/FSI-Gameday-General-Immersion-Day.git
cd ./FSI-Gameday-General-Immersion-Day/
chmod u+x ./*.sh
- Model API는 Tensorflow FLask 컨테이너로 이미 생성되어 있습니다.
- EC2에 docker를 설치합니다.
./install_back.sh
- 모두 설치되었다면 ec2-user 계정에 docker 실행 권한이 변경되어 기존 터미널 세션을 닫고, 다시 터미널에 진입합니다.
- Model API 기동 스크립트를 실행합니다.
./get_ready.sh
- Tensorflow에 Transformer Bet모델을 로드한 다음, Flask Rest API서버가 기동됩니다. 로그를 확인한 뒤 APU를 브라우저에서 호출해봅니다.
http://{퍼블릭 IPv4 주소}:8080/
# example:
http://3.34.140.0:8080/