[AWS] EC2 환경에서 Streamlit 실행 및 접속하기

원준·2023년 6월 10일

AWS

목록 보기
5/10

1. EC2 환경에서 Streamlit 실행

  • 이전 포스터에서 Github에서 Clone해서 다운 받은 폴더에 들어가 아래의 명령어만 입력하면 완료!

    streamlit run app.py

2. 실행한 Streamlit 접속

  • 접속하기 위해서는 화면에 나타난 포트 번호가 필요하다.
  • 포트 번호를 확인했다면, 화면에 보이는 IP를 복사해서 접속해도 되고, AWS 화면의 IP를 확인해서 접속해도 된다.
    • 포트를 따로 설정하지 않고 실행했다면, 보통 8501 번호로 열린다.

      http://52.78.84.125:8501
      같은 방법으로 접속 가능

3. EC2 방화벽 설정

  • 실행 잘 했고, IP와 포트가 잘 맞는데 접속이 안될텐데 이는 EC2의 방화벽이 설정이 안되어 있어서 그렇다.
  • 방화벽은 쉽게 생각하면 서로간의 길을 열어주는 역할로 생각하면 쉽다.

1) EC2 인스턴스의 보안 탭

  • 우선 방화벽 설정을 위해 인스턴스의 보안탭에 들어간다.

2) 인바인드 규칙 생성

  • 방화벽 관련해서 인바인드 규칙을 생성해야한다. 인바인드 규칙 편집에 들어가도록하자.

    인바운드 규칙이란?
    클라이언트에서 서버에 접속하게 포트를 열어주는 역할
    쉽게 생각하면 밖에서 EC2로 하나의 길을 열어주는 것이다.
    하나의 예로 Putty로 EC2에 접속하게 하는 SSH(22 Port)가 열려 있기에 접속 가능한것.

  • 들어 갔다면 아래의 사진처럼 생성하면 된다.
    • 만약 다른 포트로 생성이 되었다면 포트만 다르게 하면 접속이 될것이다.

4. 백그라운드 Streamlit 실행

  • 위의 방법대로 하면 접속한 Putty를 종료한다면 열린 포트가 다시 닫히게 된다.

    • 이를 위해 백그라운드로 실행하여, 접속해제를 하여도 계속 실행되도록 설정하자.

      nohup streamlit run app.py &

      • nuhup : 터미널 종료 후에도 동작하라.
      • & : 백그라운드 에서 동작하라.
  • 명령어를 입력했다면 실행 했다고는 하는데 뜨는 것은 없을 것이다.

  • 이를 위해 한번 확인을 해야하는데, 따로 명령어가 있다.

    프로세스 동작 확인 명령어

    ps -ef | grep streamlit

    • 프로세스의 동작 여부를 확인하는 명령어, Windows의 작업 관리자라고 생각하면 편하다.
    • grep은 뒤의 streamlit만 묶어서 보여달라는 뜻으로, 정상적으로 실행이 되어있다면, streamlit가 있을 것이다.
profile
공부해보자

0개의 댓글