✍️ 인스턴스를 생성하고 github에 올려놓은 코드까지 clone 해서 실행시켜봅시다.
🖥️ 1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
왼쪽 메뉴바에 보면 Compute Engine 이라는 메뉴가 있고, 그 안에 vm 인스턴스라는 메뉴를 찾을 수 있습니다.

🖥️ 2. 프로젝트를 선택합니다.
자신이 수행하고자 하는 프로젝트를 선택합니다.
🖥️ 3. 인스턴스 만들기를 클릭합니다.
인스턴스를 만들어 봅시다.

🖥️ 4. VM의 인스턴스 이름 및 머신 구성을 선택합니다.
이름, 리전(지역), 영역, 머신계열 등을 선택하여 vm 인스턴스를 설정합니다.
여기서 사용할 GPU 구성을 선택해주세요! (옵션)
저는 GPU 를 사용하는 인스턴스가 필요해서 GPU로 설정해주었습니다. 여기에 할당받은 GPU를 적용하였습니다.

🖥️ 5. 부팅 디스크 섹션에서 원하는 대로 커스텀 해서 설정합니다.

저는 처음에 디스크 크기를 기본으로 썼더니 용량이 부족해서 라이브러리 설치가 중단되는 문제가 있었습니다!
하여 디스크 용량을 늘리는 등 번거로운 설정이 필요했으니 처음부터 넉넉하게 크기를 설정하기를 추천합니다. 저는 약 100GB 정도로 설정하여 넉넉하게 사용하였습니다.
✅ 만약 부팅 디스크 용량 늘리기가 필요하시다면 아래와 같이 시도하시면 됩니다.
1. 사용하고 있는 부팅 디스크 백업
- compute engine 메뉴 -> 스냅샷 메뉴 클릭
- 스냅샷 만들기
- 소스 디스크에서 현재 사용중인 인스턴스 디스크 선택
- 유형 = 스냅샷으로 선택
- 위치 = 인스턴스와 동일한 지역 선택
2. 새로운 부팅 디스크 생성
- compute engine 메뉴 -> 디스크 -> 디스크 만들기 선택
- 디스크 소스 유형 = 스냅샷 선택
3. 사용하고 있는 인스턴스 중지하기
4. 인스턴스 수정 버튼을 누르고 부팅 디스크 분리 클릭
5. 부팅 디스크 구성 -> 새로 만든 부팅 디스크 선택
6. 인스턴스 재개
7. sudo df -h 명령어를 통해 디스크 용량 확인
🖥️ 6. 방화벽 규칙을 설정합니다.
자신이 사용하고자 하는 port 를 설정하고 허용하는 단계입니다.
Compute Engine에서 VM에 네트워크 태그를 추가합니다.
방화벽 규칙과 VM이 연결됩니다.
그런 다음 Compute Engine은 tcp:80(HTTP) 또는 tcp:443(HTTPS)에서 들어오는 모든 트래픽을 허용하는 인그레스 방화벽 규칙을 만듭니다.

🖥️ 7. 만들기를 클릭하여 인스턴스를 만들고, 시작합니다.
인스턴스가 다 만들어졌다면

위 사진의 SSH 연결 버튼을 눌러 연결합니다.
SSH 연결 후 아래와 같은 터미널 화면에서

편리한 사용을 위해 가상환경을 구축합니다.
python -m venv myvenv
사용할 가상환경 활성화를 위해
source ~/myvenv/bin/activate
코드를 입력하여 활성화를 합니다.
이제 원하는 github 코드를 clone 하기 위해 아래와 같은 코드를 입력합니다.
sudo apt-get install git
git clone https://github.com/원하는주소
저는 저의 비공개 레포지토리를 clone하려 해서 토큰이 필요했습니다.
만약 자신의 비공개 레포지토리를 클론하려고 할 때, 비공개 레포지토리라는 이유로 비밀번호를 입력하라는 내용이 나오면 비밀번호 대신 github 토큰을 입력하면 됩니다.
✅ 토큰을 발급 받는 방법은 아래와 같습니다.
- github settings 에서 Developer settings 메뉴 클릭
- personal access tokens 클릭
- 항목 선택 -> 토큰 생성 완료 !
이때 토큰을 복사해서 간직하도록 합시다
그리고 다시 터미널로 돌아옵니다.
아래 코드를 이용해서 원하는 코드를 실행시키면 됩니다 !
python3 main.py
혹은 백그라운드에서도 실행하고 싶을 시에는 아래와 같이 진행합니다
nohup python3 main.py &
가상환경을 비활성화 하려면
deactivate
위와 같이 입력하면 됩니다.
그 후 인스턴스 정보에 있는 퍼블릭 IP 로 접근해보면 원하는 서버 화면이 뜨게됩니다.
저는 위와 같은 방법으로

이러한 화면을 만들어서 배포해보았습니다. :)