Google Cloud Platform (이하 GCP)을 사용해서 무료 PC를 생성하는 방법에 대해서 설명하도록 하겠습니다.
GCP는 구글에서 제공하는 클라우드 컴퓨팅 플랫폼으로 Amazon Web Services, Microsoft Azure와 함께 Cloud 시장에서 3위를 하고 있다고 합니다. GCP는 구글에서 제공하는 원격 컴퓨팅, Storage, 각종 서비스 (API)를 사용할 수 있습니다. GCP는 기본적으로 유료 서비스이지만, 각 계정에서 $300의 크렛딧과 제한된 조건에서는 '평생 무료' 사용할 수 있는 가상 머신 (Virtual Machine)을 제공합니다. Amazon, Microsoft, Google 중 평생 무료로 제공하는 것은 GCP와 Microsoft Azure이고, Amazon은 1년간 무료로 사용할 수 있습니다. (비교 기사)
회사에서는 Cloud를 검토하는 경우 사용 목적에 부합하는 Amazon, MicroSoft, Google의 Cloud 제공 기능과 비용을 검토해야 하지만, 본 포스팅은 개인 또는 교육 목적에서 GCP를 무료로 활용하는 방법을 소개하고자 합니다.
GCP는 아래와 같은 경우에 활용하면 좋을 것 같습니다.
- 다양한 OS을 사용해야 하는 경우: GPC는 리눅스(우분투, CentOS, Red Hat)와 Windows OS를 설치할 수 있습니다. 예를 들어, 집에서 리눅스를 쓰고 있다가 은행 거래용으로 Windows를 GCP에 설치해서 사용 가능합니다. 반대로 집에서 윈도우 OS를 사용하는 경우 GCP에 리눅스를 설치하고 교육용으로 활용도 가능합니다. (리눅스는 무료이고, 윈도우 OS는 비용 들어갑니다.)
- 리눅스 여러 버전을 사용해야 하는 경우: 제가 GCP를 사용하는 목적과 같습니다. 집과 회사에서는 우분투 20.04 LTS를 사용하고 있습니다. 개발한 SW를 우분투 하위 버전(14.04, 16.04 18.04 LTS)이나 다른 리눅스 배포판 (e.g. Red Hat, CentOS)에서 컴파일하고 동작을 확인하는 경우 GCP를 사용할 수 있습니다.
- 24시간 Power On 해야 하는 경우: 개인용 Web 서버를 구축하는 경우에 PC에서 전원이 들어와 있어야 합니다. 집에 있는 PC로도 가능하지만 전기세를 생각하면 GCP가 필요합니다. NAS와 토렌트 서버로 운영이 가능하지만, Storage 용량이 10GB 뿐이라 무료 사용은 어렵습니다. (
30GB/월 내용은 추가 확인 예정--> 30GB/원까지 무료입니다.) (링크) - 언제 어디서나 접속해야 하는 경우: 인터넷만 있으면 GCP 사용이 가능합니다. 장소에 구분 없이 사용해야 할 때 유용합니다.
- Command line Interface을 주로 사용하는 경우: GCP는 기본적으로 Web 기반의 관리 UI가 있습니다. 예를 들어 방화벽에서 특정 port를 허용, Network 구성과 같은 관리 툴을 Web UI로 지원합니다(링크).
하지만, VM에서는 Gnome과 같은 GUI App은 없고, SSH로 접속해서 Command line으로 사용해야 합니다.물론, 원격 데스크 탑 (RDP) 나 X-Server로 GUI App 설치와 실행은 가능하지만,그럴 필요가 많지는 않을 것 같습니다.무료 등급의 VM에서는 속도가 느립니다. (사용 방법) - 성능이 중요하지 않은 경우: GCP 제공하는 무료 VM은 CPU는 Single core, RAM은 614MB입니다. Web 서버나 간단한 프로그램 컴파일에는 성능상 문제가 없지만, 고성능이나, GPU가 필요한 경우 유료로 사용해야 합니다.
GCP에서 VM 생성하는 방법은 아래와 동영상을 참고해주세요.
GCP 항상 무료 등급 조건
GCP 무료 등록 사용에 대한 조건은 여기에 자세히 되어 있습니다. 평생 무료 조건은 f-micro 등급으로 미국 내 region에 만들어야 하고, 총 사용 시간이 744시간/월 까지는 무료입니다. 예를 들어, f1-micro 등급의 instance를 여러 개 만들어도 상관은 없지만 총 사용 시간 합이 '월 단위' 기준으로 744시간/월 까지는 무료입니다.
HDD는 30GB/월로 표시되어 있습니다. 30GB/월 의미가 영구 디스크를 크기를 의미하는 것인지 아니면 디스크의 입출력의 총합을 의미하는지 명확하지 않습니다. VM 생성 시 기본적으로 10GB 디스크는 생성되고, 추가로 20GB까지 무료로 사용 가능한지는 명확하지 않습니다. (20GB HDD를 추가하고 별도의 요금이 청구되는지 추가 업데이트하도록 하겠습니다. 30GB/월까지 사용 가능) 주의해야 하는 점은 VM을 삭제하더라도 영구 디스크는 계속 유지되고 다른 VM Instance에도 공유가 됩니다. 요금 또한 지속 청구될 수 있으니 HDD와 VM instance를 별도로 관리해야 합니다.
스냅샷 스토리지는 가상 PC를 백업하는 경우에 해당합니다. 상용 서비스는 주기적으로 백업용 스냅샷이 필요하지만, 개인이나 교육 용도는 백업용으로 스냅샷 이미지를 만들 필요는 없어 보입니다.
(8/6일 updated) 고정 IP는 20년 7월부터 유료 전환된 것으로 보입니다. 동일 Region 안에서의 내부 IP를 사용한 traffic 여부와 고정 IP 를 사용한 traffic 에 따라서 다른 가격 정책이 적용됩니다. 세부 내용은 링크를 참조해주세요.
GCP VM Instance 생성 방법
CGP 무료 등급 사이트 접속 아래 3가지 단계로 GCP에서 VM 생성할 수 있습니다. 앞서 항상 무료 조건에 맞는 VM Instance를 생성해야 합니다.
- 결제 계좌 등록
- Google Cloud Concole에서 Project 생성
- Google Cloud Console에서 VM (Virtual Machine) Instance 생성
첫 번째 결제 계좌 등록은 신용 카드 등록을 등록하고 본인 이름과 카드 번호 마지막 4자를 포함하도록 사진을 찍어서 구글에 제출해야 합니다. 이 과정은 일반적으로 인터넷 거래 사이트에서 신용카드 등록과 비슷하기 때문에 세부적인 절차 설명은 하지 않겠습니다.
두 번째 Google Cloud console에서는 Project 생성을 해야 하고, 결제 계좌에 연결을 해야 합니다. 이미 Project가 있다면 이 과정은 생략 가능합니다. Project 생성하는 방법은 이전 포스팅에서 자세히 설명되어 있습니다.
세 번째 단계는 가상 PC (Virutal Machine Instance)를 생성하는 단계입니다. VM의 Region을 지정하고, CPU 및 Memory 용량을 설정해야 합니다. 무료로 제공하는 VM은 옵션이 정해져 있기 때문에 아래 설명하는 내용으로 그대로 진행하시면 됩니다.
1) Goolge Cloud Console에서 Compute Engine 선택
2) VM 인스턴트 선택
3) 만들기 선택
'항상 무료' 조건을 만족하기 위해서는 아래와 같이 설정합니다.
1) Region
: 오리건 (us-west1), 아이오와(us-central1), 사우스캐롤라이나 (us-east1) 중 1개를 선택
2) 머신 설정
: 머신 설정은 f1-micro를 설정합니다. 다른 유형도 선택은 가능하지만 유료입니다.
3) OS 디스크 이미지
: 캐노리컬 그룹에서 배포하는 우분투의 디스크 이미지는 무료이지만, 특정 회사에서 배포하는 우분투의 OS 이미지나 윈도우 OS 이미지를 유료이기 때문에 선택에 주의해야 합니다. 우분투를 선택하는 경우 기본적으로 16.04~20.04 LTS 버전을 선택할 수 있고 디폴트 화면에서 표시되지 않은 경우에는 "제품 그룹"에서 검색해서 OS 이미지를 설정할 수 있습니다.
4) 서비스 계정
: 서비스 계정이 생성되며 액세스 범위를 부여할 수 있습니다. 서비스 계정의 활용은 기존 포스팅의 JWT에서 설명하였습니다. 서비스 계정의 권한은 '모든 Cloud 전체 액세스'로 부여합니다.
5) 방화벽 설정
: 웹 서버 설치 계획이 있는 경우 http와 https 포트를 설정합니다. 방화벽은 추후 변경 가능합니다.
GCP에서 VM Instance 생성하고 SSH 연결하여 아래와 같이 사용 가능합니다. 크롬에서 터미널로 연결할 수 있으며, 브라우저 인증을 상속받기 때문에 별도의 로그인이 필요 없습니다. sudo 권한도 부여되어 있어 PC에 우분투를 설치한 것과 동일하게 사용 가능합니다. 실행 속도 측면에서는 크게 불편함 없고, 회사 내 Cloud 또는 국내 원격 서버에 접속한 것과 비슷한 속도입니다. 가상 머신에서는 우분투 OS만 설치되어 있어 컴파일에 필요한 tool이나 각종 utility는 apt로 설치해야 합니다.
관련 글
[개발환경/Google Cloud Platform] - GCP (Google Cloud) 방화벽 설정: 프로토콜과 포트를 사용 허용 또는 거부하기
[개발환경/Google Cloud Platform] - GCP (Google Cloud) 하드 디스크 추가하기 (영구 디스크는 30GB까지 무료)
[개발환경] - 우분투 작업 스케줄러 Crontab 사용법, 디버깅, 주의 사항
[개발환경] - GitHub 아이디/패스워드 입력 없이 사용하는 방법
[모바일 SW 개발/REST API] - 우분투 20.04에서 Web 서버 설치 방법 (apache2, tomcat9)
[모바일 SW 개발/Android] - [실패 사례] WSL(Windows Subsystem for Linux) 에서 Android 빌드하기
[개발환경] - [Memo] 우분투에서 gmail활용하여 command line으로 email 전송
[개발환경] - WSL 2.0 Global configuration (.wslconfig) 을 통한 성능 향상
[개발환경] - 윈도우용 MobaXterm - SSH 및 X-Server 지원
[개발환경] - [Tips] Citrix Receiver for Chrome 설치 (우분투와 윈도우 동일)
[개발환경] - WSL 2.0 설치 방법 및 기능 확인
[개발환경] - Window 와 Ubuntu 파일 공유하기 (듀얼부팅)
댓글