學習如何創建一台虛擬主機(Virtual Machine,簡稱 VM)並在主機上部署專案。為此我們會租用一台虛擬主機,設定虛擬主機上專案部署的環境,這樣做在開發上會有更大的彈性和自由,相對而言要掌握的技術也更多。
由於第一步是「註冊一個雲端服務的帳號」,本篇將介紹提供 VM 的兩種雲端服務——Virtual Private Server(VPS)和 Cloud Computing。
Virtual Private Server(VPS)
VPS 是把一台實體主機分割成一個或多個虛擬主機,而你去租用其中一個虛擬主機。特色是價格非常便宜,計價方式也很簡單,一個月只需要十美金起跳,它的配套就包括 CPU 效能、流量頻寬、硬碟空間等。
下圖為提供 VPS 商家 Linode 的虛擬主機和計費方式:
相較 Cloud Computing ,VPS 有以下不足:
- 如果實體主機裡的其中一台虛擬主機遭到入侵或中病毒,其他虛擬主機也會被影響
- 共享一台實體主機的運算資源,會出現運算資源被其中一台虛擬主機佔據的情況
- 擴增效能較為困難,儲存的容量受限於硬體設備
因此 VPS 會較適合小規模的網站或個人使用,而目前市面上有提供 VPS 的商家有非常多家,這裡提供兩個在台灣附近(新加坡、東京)有設置資料中心的商家作參考:
- Linode:東京和新加坡有機房
- DigitalOcean:新加坡有機房
Cloud Computing
Cloud Computing 是雲端運算平台,以豐富的雲端生態系見長,除了虛擬機,還有資料庫、檔案儲存以及各式各樣的代管服務,和 VPS 相比,雲端運算平台由多個實體主機來分載運算資源,因此可以做到:
- 需要擴增效能時,可以在幾秒內完成擴增
- 擁有防火牆、流量控管等諸多功能確保服務不會出錯
- 如果其中一個分載的實體主機掛掉,會馬上轉移到另一個實體主機上
也因此,平台的操作介面通常較為複雜,價格也比一般 VPS 來得貴,計費模式也複雜許多,以下是市面上的較有名的 Cloud Computing 服務商:
- Amazon Web Service EC2:東京、新加坡有機房
- Microsoft Azure VM:香港、新加坡有機房
- Google Cloud Compute Engine:台灣有機房
選擇合適的雲端服務
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 適用的情境,選擇合適的雲端服務方案。