본문 바로가기
IT

Colab에서 외부로 IP 노출하여 웹 서비스하기

by 조병희 2023. 3. 12.

Colaboratory (Colab)은 구글에서 제공하는 클라우드 기반의 Jupyter Notebook 환경입니다. Colab을 이용하면 브라우저에서 Python 코드를 작성하고 실행할 수 있습니다. 이번 가이드에서는 Colab을 이용하여 웹 서비스를 구축하고 외부에서 접근할 수 있도록 IP를 노출하는 방법을 알아보겠습니다.

1. Colab에서 Flask 웹 어플리케이션 작성하기

Flask는 Python으로 웹 어플리케이션을 작성하기 위한 마이크로 웹 프레임워크입니다. 먼저 Colab에서 Flask를 설치한 후 웹 어플리케이션을 작성해보겠습니다.

!pip install flask

위 명령어를 실행하여 Flask를 설치합니다. 이제 아래 코드를 실행하여 간단한 웹 어플리케이션을 작성해보겠습니다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

위 코드는 Flask로 작성한 간단한 웹 어플리케이션입니다. 루트 경로('/')로 접근하면 'Hello, World!'라는 메시지가 출력됩니다.

2. Colab에서 ngrok을 이용하여 IP 노출하기

ngrok은 로컬(localhost) 서버를 외부에서 접근할 수 있도록 해주는 툴입니다. Colab에서 ngrok을 이용하면 간단하게 로컬 서버를 외부에서 접근할 수 있습니다.

먼저 ngrok을 다운로드합니다.

!wget <https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip>
!unzip ngrok-stable-linux-amd64.zip

다음으로 ngrok을 실행합니다.

get_ipython().system_raw('./ngrok http 5000 &')

위 명령어는 5000번 포트를 ngrok에서 제공하는 무료 도메인으로 포워딩합니다.

마지막으로 아래 코드를 실행하여 ngrok의 도메인을 확인합니다.

!curl -s <http://localhost:4040/api/tunnels> | python3 -c \\\\
    "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

위 명령어를 실행하면 ngrok에서 제공하는 도메인을 확인할 수 있습니다. 해당 도메인을 브라우저에서 접속하면 Flask로 작성한 웹 어플리케이션에 접근할 수 있습니다.

마무리

이번 가이드에서는 Colab을 이용하여 Flask로 간단한 웹 어플리케이션을 작성하고 ngrok을 이용하여 외부에서 접근할 수 있도록 IP를 노출하는 방법을 알아보았습니다. Colab과 ngrok을 이용하면 무료로 웹 서비스를 구축할 수 있으며, 이를 이용하여 다양한 프로젝트를 진행해보시기 바랍니다.

예제

 
Public URL: http://3887-34-143-212-138.ngrok.io

'IT' 카테고리의 다른 글

클라우드 컴퓨팅 표준 개발 현황  (0) 2013.02.13

댓글