본문 바로가기

& 프로그래밍/& API

AWS 연동한 가상환경 설정하기

머신러닝, 딥러닝 등 모델을 활용한 프로젝트를 만들고나서 AWS에 EC2와 streamlit를 활용해 외부에 배포하는 방법을 이전에 학습한 경험이 있다.

 

이번에 Object Detection 프로젝트를 하면서 이 프로젝트도 streamlit을 이용해 배포하기 위해 과거 학습을 복기해보려 한다.

 

1. AWS EC2를 생성한다

- EC2생성하는 방법은 워낙 많은 블로그 포스팅이 있기 때문에 패스한다

프리티어 EC2를 생성해놓은 모습

2. EC2 키페어를 내컴퓨터에 저장한다

- EC2를 정상적으로 작동하기 위해선 EC2생성과정에서 키페어를 생성토록 설정하게 되어있는데 이 키페어가 있어야지만 정상적으로 EC2를 가동시킬 수 있다. 생성 후 절대 잃어버리지 않도록 잘 관리한다.

나는 개인USB에 pem파일을 별도로 관리, 보관하고 있다

3. power shell을 이용해 anaconda 가상환경 만들기

- 나는 추후에 ubuntu를 활용한 라즈베리파이나 자율주행 시스템을 개발할 가능성이 높기 때문에 anaconda를 활용해서 ubuntu 가상환경을 만들것이다.

- AWS에서 생성한 EC2 인스턴스에서 퍼블릭키를 복사하여 가상환경을 생성한다

EC2 퍼블릭 주소를 복사한다

- 다음 power shell을 실행시켜서 pem 파일이 위치한 곳까지 이동시킨다. 나는 Documents파일에 넣었다.

그리고 다음 코드를 입력하여 실행한다.

ssh (퍼블릭 주소) -i .\pem파일이름.pem -l ubuntu

power shell에서 정상적으로 가상환경을 만들었다면 streamlit으로 전환해준다

conda activate streamlit

만약 streamlit 가상환경이 없다면 아래 코드를 입력해서 가상환경을 만들어준다

conda create -n streamlit python=3.7

4. 배포할 git파일을 clone 시켜준다

git clone #내가 추가시킬 git 파일 주소를 복붙한다.

git clone https://github.com/00000000/streamlit-object-detection.git

정상적으로 추가되었는지 확인해본다.

추가한 streamlit-object-detection이 제대로 들어갔다

5. 추가시킨 파일로 접속해서 정상적으로 작동이 되는지 run해본다

cd #추가한 git폴더로 이동
streamlit run app.py

그러면 아래처럼 퍼블릭 주소가 생성된다. 복사해서 열어보자

streamlit 가상환경만 생성했지 내부에 관련 라이브러리나 모듈을 하나도 설치하지 않아서 에러가 뜬다....

이제 하나하나 수정해나가야지 ㅠㅠ

 

하지만 가상환경으로 streamlit 생성하는 학습은 성공!