認識VPS(Virtual Private Server)與GCP(Google Cloud Platform)

學習如何創建一台虛擬主機(Virtual Machine,簡稱 VM)並在主機上部署專案。為此我們會租用一台虛擬主機,設定虛擬主機上專案部署的環境,這樣做在開發上會有更大的彈性和自由,相對而言要掌握的技術也更多。

由於第一步是「註冊一個雲端服務的帳號」,本篇將介紹提供 VM 的兩種雲端服務——Virtual Private Server(VPS)和 Cloud Computing。

Virtual Private Server(VPS)

VPS 是把一台實體主機分割成一個或多個虛擬主機,而你去租用其中一個虛擬主機。特色是價格非常便宜,計價方式也很簡單,一個月只需要十美金起跳,它的配套就包括 CPU 效能、流量頻寬、硬碟空間等。

下圖為提供 VPS 商家 Linode 的虛擬主機和計費方式:

相較 Cloud Computing ,VPS 有以下不足:

  • 如果實體主機裡的其中一台虛擬主機遭到入侵或中病毒,其他虛擬主機也會被影響
  • 共享一台實體主機的運算資源,會出現運算資源被其中一台虛擬主機佔據的情況
  • 擴增效能較為困難,儲存的容量受限於硬體設備

因此 VPS 會較適合小規模的網站或個人使用,而目前市面上有提供 VPS 的商家有非常多家,這裡提供兩個在台灣附近(新加坡、東京)有設置資料中心的商家作參考:

Cloud Computing

Cloud Computing 是雲端運算平台,以豐富的雲端生態系見長,除了虛擬機,還有資料庫、檔案儲存以及各式各樣的代管服務,和 VPS 相比,雲端運算平台由多個實體主機來分載運算資源,因此可以做到:

  • 需要擴增效能時,可以在幾秒內完成擴增
  • 擁有防火牆、流量控管等諸多功能確保服務不會出錯
  • 如果其中一個分載的實體主機掛掉,會馬上轉移到另一個實體主機上

也因此,平台的操作介面通常較為複雜,價格也比一般 VPS 來得貴,計費模式也複雜許多,以下是市面上的較有名的 Cloud Computing 服務商:

選擇合適的雲端服務

VPS 和 Cloud Computing 在租用和設定 VM 上會有些微不同,但在安裝環境上是完全一樣的操作;因此本篇的重點在於選擇一個合適的租用 VM 服務:

  • 如果只是個人使用或小網站(公司簡介網頁),使用 VPS 即可
  • 如果未來打算規模化的產品(購物網站),使用 Cloud 會比較適合

Google Cloud Platform

GCP 是一個在世界各地都有機房的雲端計算平台,其所提供的服務類型超過 50 多種,大致上分成以下三種:

  • 運算:部署專案的環境,其中包含我們要租用的虛擬主機
  • 儲存:提供資料、圖片、影片的儲存服務
  • 其他:機器學習、網路流量管理、大數據等

GCP 在台灣(彰化)設有機房,相對於其他國外服務業者,GCP 的速度會快上許多。

就目前的費率來看,GCP 也較其競爭對手 Amazon 低。

註冊一個 GCP 帳號

在註冊 GCP 帳號的過程中,你會需要填入信用卡資訊;請別擔心,GCP 為所有新註冊的帳戶提供 300 美金和 1 年的免費試用期,讓使用者可以嘗試各種功能和服務,而 GCP 在寄出帳單前都會通知你是否確認要消費,不會隨意開單。

在註冊結束後,我們會立刻設定計費通知,當指定的專案 VM 使用超過一定額度時會發出通知,以免意外收到帳單。

在開始前,請確保你擁有一個 Google 帳號,如果沒有,請先註冊一個:https://accounts.google.com

接著,請打開 GCP 的官方網站:https://cloud.google.com,若出現《服務條款異動通知》的訊息,請點選同意《服務條款》。

接著會進入 GCP Console,網址為:https://console.cloud.google.com/

你未來會很常在 console 進行設定和調整,第一次進入 console 時會先進入「getting started」頁面,你的畫面應如下所示,請點選右上方「申請免費使用」來申請試用 GCP 雲端服務:

在下一個頁面,請確認你的國家/地區,並同意遵守 GCP 的《服務條款》,按「同意並繼續」。

目前預設大家都是個人學習使用,因此在表單內請依序設定:

  • 帳戶類型:個人
  • 稅務類型:未登記稅籍的個人
  • 名稱和地址:請填寫信用卡上的地址
  • 姓名:請填寫個人姓名
  • 電話號碼:請填寫手機號碼
  • 付款方式 – 每月自動付款:無需設定,已自動設定好
  • 付款方式:填寫信用卡卡號、截止年月份、CVC、持卡人姓名,最後勾選「信用卡與簽帳金融卡地址同上」

下圖為表單填寫範例(截自 2018 年 3 月):

以下是創建好帳戶後會看到的頁面:

創建 GCP 專案

申請 GCP 帳戶完成後,GCP 預設會創建一個「My First Project」專案,為了學習 deployment,我們會重新創建一個新的專案來練習 deployment。

請點擊 Google Cloud Platform 字樣旁的「My First Project」,然後在彈出的視窗裡,點擊「+」按鈕,以下是新增專案(Project)的操作頁面:

請輸入你的專案名稱,如「ac deploy project」,並點擊「建立」創建專案。

建立專案需要等候一小段時間,待右上角的「通知」(鈴鐺圖示)轉動完成後,這時請你再點擊一次「My First Project」,彈出的視窗裡就會有剛創建好的新專案,請雙擊「ac deploy project」,就會進入該專案的資訊主頁(dashboard)。

設定 GCP 計費通知

每個專案都會使用 GCP 提供的服務,而 GCP 會根據使用率去計算費率,我們在真正開發專案時不會每天上線確保 server 的狀況,偶爾也會發生 server 被駭客盜用,導致流量大增,費率爆表的情況。

因此,我們需要設定計費通知,讓專案的服務在使用率上達到指定額度時通知你。

請點選左上角的 Google Cloud Platform 字樣旁的「≡」打開「產品與服務」選單,點選「帳單」(Billing)開啟帳單介面。

接著點選「預算與快訊」,在「預算與快訊」頁面裡點擊「設定預算」。

由於 GCP 在註冊完帳號後會贈送 300 美金的額度和一年的試用期,所以在我們練習 deployment 的時候,理論上正常使用是完全足夠的,並不需要設定計費通知。

但在實際的情境裡,這會是一個很重要的步驟,用以確保每個月的支出都在控制範圍內。(一個新手常見的失誤:不小心把主機資訊 push 到 GitHub 上,如果主機資訊被駭客拿到,有設定預算才不會損失慘重)

請自行填寫「預算名稱」和「預算額度」,我們可以將追蹤的形式從「我的帳單帳戶」改為指定某個專案來進行預算控管,請點選「專案或帳單帳戶」,設定為指定專案(本教案的專案名稱為 ac deploy project)。

完成後,你的「編輯預算」頁面應如下所示:

點擊「儲存」建立預算後,你的「預算與快訊」頁面應如下所示新增了一個新的預算:

恭喜!你已經成功創建了一個 GCP 帳戶,並在裡面創建了用來練習部署的專案,以防超支的現象發生,你也設定好了專案會使用的預算與額度!

本篇文章希望能夠幫助你,認識到不同的雲端服務平台,並能夠區分 VPS 和 Cloud Computing 適用的情境,選擇合適的雲端服務方案。

全端開發課程實作完整前後端產品,部署在雲端服務