플라스크(Flask)는 파이썬으로 웹 애플리케이션을 개발하기 위한 경량 프레임워크입니다. 개발한 앱을 호스팅하기 위해서는 실제 서버 환경이 필요합니다. 이 글에서는 헤로쿠(Heroku)와 아마존 웹 서비스(AWS)를 사용하여 Flask 앱을 호스팅하는 방법에 대해 알아보겠습니다.
헤로쿠(Heroku)를 사용한 Flask 앱 호스팅
헤로쿠는 개발자가 간편하게 애플리케이션을 배포할 수 있는 플랫폼으로, Flask 앱을 호스팅하기에 매우 유용합니다. 다음은 Flask 앱을 헤로쿠에 호스팅하는 간단한 절차입니다:
- 헤로쿠 계정 생성 및 로그인: 헤로쿠 웹 사이트로 이동하여 계정을 생성하고 로그인합니다.
- 헤로쿠 CLI 설치: 로컬 컴퓨터에 헤로쿠 CLI(Command Line Interface)를 설치합니다.
- Flask 앱 작성: Flask로 앱을 개발하고, 앱을 실행하는지 로컬에서 테스트합니다.
-
헤로쿠 앱 생성: 헤로쿠에 앱을 생성합니다. 헤로쿠 CLI를 사용하여
heroku create
명령을 실행합니다.$ heroku create
-
Git 리포지토리 설정: 헤로쿠에 앱을 배포하기 위해 Git 리포지토리를 설정합니다.
heroku git:remote
명령을 사용하여 로컬 Git 프로젝트와 헤로쿠 앱을 연결합니다.$ heroku git:remote -a your-heroku-app-name
- 필요한 패키지와 의존성 설치:
requirements.txt
파일에 필요한 패키지와 의존성을 명시합니다. 이후pip install -r requirements.txt
명령으로 패키지를 설치합니다. -
앱 커밋 및 배포: Git을 사용하여 앱을 커밋하고,
git push heroku master
명령으로 헤로쿠에 앱을 배포합니다.$ git add . $ git commit -m "Initial commit" $ git push heroku master
-
앱 실행 및 확인:
heroku open
명령으로 앱을 실행하고, 헤로쿠에서 제공하는 URL로 접속하여 앱이 제대로 동작하는지 확인합니다.$ heroku open
아마존 웹 서비스(AWS)를 사용한 Flask 앱 호스팅
아마존 웹 서비스(AWS)는 클라우드 플랫폼으로서 다양한 호스팅 옵션을 제공합니다. Flask 앱을 호스팅하기 위해 EC2 인스턴스를 사용할 수 있습니다. 다음은 Flask 앱을 AWS EC2 인스턴스에 호스팅하는 절차입니다:
- AWS 계정 생성 및 로그인: AWS 웹 사이트로 이동하여 계정을 생성하고 로그인합니다.
- EC2 인스턴스 생성: AWS 콘솔에서 EC2 인스턴스를 생성합니다. 인스턴스 유형, 용도에 맞는 운영 체제(예: Ubuntu)를 선택합니다.
- 인스턴스 연결 및 설정: 생성한 인스턴스에 연결하여 SSH로 로그인합니다. 필요한 패키지와 의존성을 설치하고 Flask 앱을 배포할 준비를 합니다.
- Flask 앱 업로드: SCP나 SFTP를 사용하여 로컬의 Flask 앱을 EC2 인스턴스로 업로드합니다.
- 앱 실행 및 확인: SSH로 EC2 인스턴스에 접속하여 Flask 앱을 실행하고, 인스턴스의 공개 IP 주소 또는 도메인으로 앱에 접속하여 동작을 확인합니다.
마무리 및 참고 자료
이렇게 여러분은 간단한 Flask 앱을 헤로쿠나 AWS에 호스팅할 수 있습니다. 호스팅하는 플랫폼에 따라 설정이 다소 복잡할 수 있으니, 각 플랫폼의 공식 문서를 참고하시기 바랍니다.
- 헤로쿠(Heroku) 공식 문서: https://devcenter.heroku.com/categories/python-support
- 아마존 웹 서비스(AWS) 공식 문서: https://aws.amazon.com/getting-started/hands-on/deploy-python-application/
행운을 빕니다!