在技術分享的過程中,我發現很多人想要入門練習 VM、或是想要找一個免費的雲端主機來部署程式,但是卻不知道要去哪裡找這種資源。
而剛好我已經用 Google Cloud 的免費服務很久了,使用體感還滿不錯的!!所以這篇文章就來跟大家分享一下,要如何免費使用 Google Cloud 所提供的 VM 服務,免費部署你所寫的程式。
其實各大雲端服務廠商如 GCP(Google Cloud Platform)、AWS(Amazon Web Service)、阿里雲…等等,通常都會提供 12 個月的免費方案,目的是讓你在這一年期間試玩雲端上的服務,進一步轉化成他們的付費用戶。
不過我們今天要用的不是這個!而是真・永久免費方案,即是 Google Cloud 提供的 Free Tier 方案,其中就有一項是針對 Compute Engine 的規範,提供我們每個月可以使用:
所以簡單來說,只要我們在創建 VM 時,選擇最小的 e2-micro 來創建,並且乖乖的將 VM 創建在美國內部、而且不使用高速的 SSD 硬碟,這樣就可以永久免費享用那台 VM 的服務。
以我個人的使用經驗來說,我曾經用這台 VM 開發過 LINE Bot、Discord Bot 的程式,除了要連線進去 VM 會有一點卡頓感之外,在程式運作期間的 response time 其實都滿快的!!
所以如果是要做為 VM 的開發練習、部署 side project 的雲端主機、部署個人網站…等等,e2-micro 應該都還滿夠用,但如果要做更大型的開發可能就不太適合這樣(但想想也是啦,畢竟是很初階的 VM,能夠使用就要感謝了XD,如果要做大型的開發還是得乖乖付費)。
補充:經實測,現在要綁定信用卡才能使用 Compute Engine 的服務,如果大家要繼續往下操作的話,會需要先準備好一張信用卡 & 個人資訊,如果暫時不想提供的話,那就先看看這篇文章,了解一下流程就好~。
了解了 Google Cloud 所提供的免費資源額度之後,接下來我們就實際到 Google Cloud 中,來創建一個免費的 Compute Engine(即是 VM 服務)出來吧!
首先要先打開 https://console.cloud.google.com/ 進到 Google Cloud 的控制台,接著點擊左上角的「選取專案」,然後選擇「新增專案」。
接著專案名稱可以隨意填,好了之後就按下「建立」,這樣子就可以在 Google Cloud 中建立一個專案,後續就可以在裡面使用 Compute Engine 的服務創建 VM。
創建好專案之後,接著要再點擊一次上面的「選取專案」,然後選擇剛剛所創建出來的 Project。
接著展開左邊的標籤,然後選擇「Compute Engine」裡面的「VM 執行個體」。
此時會打開 Compute Engine API 的啟用畫面,就點擊「啟用」,然後等他跑一下。
補充:如果你是第一次使用 Google Cloud 的服務的話,這裡就會顯示「必須啟用計費功能」,然後會把你導去綁定信用卡 & 強制啟用 300 美元的試用….,我自己是已經有綁過信用卡 + 用過 300 美元的試用,所以現在不會再問我了,但第一次使用可能會需要填滿多資料 + 滿多步驟,這裡大家可以自由斟酌是否要填寫相關的資訊給 Google(不過如果不填寫的話後面也沒辦法做就是了😂)。
等他跑完之後,理論上大家就會被跳轉到下面這個「VM 執行個體」的頁面,如果沒有被跳轉過來的話,也可以跟前面的步驟一樣,先展開左邊的標籤,然後選擇「Compute Engine」裡面的「VM 執行個體」,就一樣可以進到這個畫面。
接著點擊上方的「建立執行個體」,就可以開始創建一個 VM。
然後重點來了!!!接下來的每個步驟都要小心選擇,如果沒有好好選的話,可能就會不小心選用到高價的服務,月底帳單就要哭了🥹。
首先 instance 的名稱可以隨意填,這就是到時候被創建出來的 VM 的名稱,區域只能選擇「us-west1、us-central1、us-east1」其中一個,建議選擇 us-west1 的地區,這在美國西岸,離台灣比較近,網路延遲會小一點。
接著往下拉一點,然後將「機型」調整為 e2-micro,這一步非常重要!!!VM 的機型可以說是影響價格最大的關鍵因素,所以一定要選 e2-micro(微型)才對!!
接著點擊左側的「OS 和儲存空間」,然後選擇「變更」,將我們要使用的硬碟類型變更一下。
這裡一定要把「開機硬碟類型」改成「標準永久磁碟」(其實就是俗稱的 HDD 傳統硬碟),另外大小雖然 Google Cloud 上限是提供到 30 GB,不過經個人實測其實填 20 GB 就很夠用了。
所以調整完硬碟之後的最終狀態會是下面這樣(累了嗎?還沒完😂,再努力一下XD)。
接著再點擊左側的「網路」,然後勾選「允許 HTTP 流量」和「允許 HTTPS 流量」,他會自動在下面的網路標記添加標籤,這部分不用特別動他,讓他自動添加即可。
接著往下拉一點,然後點擊「網路介面」中的「default」。
並且在「網路服務級別」的地方改成勾選「標準級(us-west1)」,改好之後記得按完成。
這樣子就全部設定好了!!所以就可以按下建立,創建出這個 VM 出來了!!(此時在右邊的預估每月費用中,費用會顯示 6.91 美元左右,這個不用怕,他到時在月底帳單會自己折抵,所以月底帳單收到的費用會是 0 元,如果後續有發現被超收的情況的話,一定要趕快找 Google 申訴!)
等他跑一段時間創建好 VM 之後,這時候就可以看到該 VM 的內部 IP、外部 IP,以及其他的相關資訊。
如果想要登入進那台 VM 玩耍的話,只要點擊右邊的 SSH,這時 Google Cloud 就會開啟一個新的視窗,創建一個新的 SSH 連線給我們。
因此只要在新視窗中點擊「Authorize」:
就可以直接透過此視窗開啟 SSH 連線,登入到 VM 內部了!因此後續大家就可以在這個 VM 裡面執行任何你想要練習的指令、或是運行你的程式了!(在此視窗中輸入指令時會有一個微妙的卡頓感,這是正常的現象,因為此 VM 建立在美國西岸,所以多多少少會有一點網路延遲)
雖然在這個 SSH 的視窗中有提供「上傳檔案」的功能,不過我通常都是會先把程式上傳到 GitHub(會順便將該 repo 設定成 private 不公開),接著在此 VM 中直接透過 Git 來下載,這樣子不僅所有改動都可以儲存在 GitHub 上,而且也不用去研究檔案傳輸的問題,個人覺得非常讚!
至於在運行程式時,可能會遇到某某套件不存在的情況,這就是要靠自己去 debug 以及安裝相關的環境了。
其實我還是滿推薦大家可以實際的創一台 VM 來玩的啦,只有當你真的靠自己去完成某些環境的設定之後,你才會發現原來可以這樣做,才會知道原來底層的 Linux 系統還有這麼多東西可以玩。
畢竟我們身為後端工程師,平常都只專注在寫程式上,其實很多時候對 Linux 系統的熟練度沒有那麼高,所以透過下班時間創建一個 VM 來玩,自己從中解決問題、練習尋找問題的解法,也是一個精進自己非常棒的方式!
所以總結上述的介紹,就可以成功的在 Google Cloud 中創建一個永久免費的 VM 出來了~讚!
如果大家後續想要重新起一台 VM 的話,就只要刪除舊有的 VM,然後照著一樣的步驟重新創建 VM 即可。不過要特別注意同時間只能有一台 e2-micro 的 VM,如果同時間有兩台的話,就超出 Google Cloud 的免費額度了!因此這部分在使用上也是要小心一下。
另外除了 Compute Engine 之外,Google Cloud 的 Free Tier 也有提供許多免費額度給其他服務,如 App Engine、Cloud Run…等等,如果大家有興趣的話,也可以再研究其他的服務~。
這篇文章我們先介紹了什麼是 Google Cloud 的終身免費方案,並且也實際到 Google Cloud 中創建一個免費的 VM,希望可以幫助大家熟悉創建 VM 的流程。
如果你對後端技術有興趣的話,也歡迎免費訂閱《古古的後端筆記》電子報,每週二為你送上一篇後端技術分享,那我們就下一篇文章見啦!
補充:我開設的 Spring Boot 零基礎入門、Spring Security 零基礎入門、GitHub 免費架站術 已在 Hahow 平台上架啦!輸入折扣碼「HH202506KU」即可享 85 折優惠。