初學者指南:深入了解 GCP 虛擬機 (Google Cloud Virtual Machines)
更新日期: 2025 年 3 月 6 日
本文為 雲端 基本介紹系列文,第 1 篇:
- 伺服器是什麼?新手入門指南
- IP 是什麼?公開 IP 與內部 IP:深入了解與應用場景解析
- 什麼是部署?初學者的完整指南
- 雲端運算中的網站部署:從 IaaS 到 SaaS 的最佳實踐
- Zeabur 是什麼?新手也能輕鬆上手的 PaaS 平台
- 初學者指南:深入了解 GCP 虛擬機 (Google Cloud Virtual Machines) 👈進度
- 初學者指南:深入了解 AWS 虛擬機 (EC2)
- AWS EC2 與 GCP VM 初學者指南:兩大雲端虛擬機服務的差異詳解
- SSH 連線是什麼?初學者必看的安全連線工具指南
- 什麼是 SCP(安全複製協定):初學者指南
- Google Cloud Command Line Interface (gcloud CLI) 是什麼?新手指南
- 使用 gcloud CLI 進行 SSH 連線的完整指南
在現代雲端運算的世界中,虛擬機 (Virtual Machines, VM) 扮演著至關重要的角色。
無論是個人開發者、中小企業,甚至是大型企業,都能透過虛擬機輕鬆建立和管理自己的應用程式與服務。
而在眾多雲端平台中,Google Cloud Platform (GCP) 提供的虛擬機服務以其高彈性、易於使用以及強大的性能而廣受歡迎。
本篇文章將帶領您全面了解 GCP 虛擬機的基礎知識,適合初學者快速入門並開始使用。
什麼是 GCP 虛擬機?
GCP 虛擬機 (Google Cloud Virtual Machine) 是由 Google Cloud Platform (GCP) 提供的雲端運算資源。
透過 Compute Engine 服務讓使用者可以在 Google 的資料中心內建立、管理和運行虛擬機器 (VM, Virtual Machine)。
這些虛擬機本質上就是一台虛擬化的電腦,您可以在上面安裝各種作業系統、應用程式,甚至架設網站和伺服器。
它的功能與傳統電腦上的虛擬機 (例如 VirtualBox、VMware) 類似,但提供了更強大的擴展性、彈性以及高可用性。
GCP 虛擬機的核心特性
- 彈性與可擴充性:可以根據業務需求隨時調整 CPU、記憶體、儲存空間等資源配置。
- 多樣化的作業系統支援:支援多種 Linux 發行版本、Windows Server,甚至可以上傳自訂的映像檔 (Custom Image)。
- 全球資料中心:GCP 擁有全球多個區域 (Regions) 和可用區域 (Zones),確保您的應用程式可以靠近使用者,降低延遲並提高可用性。
- 進階管理功能:提供自動擴充 (Autoscaling)、負載平衡 (Load Balancing)、快照 (Snapshot) 和磁碟備份等功能,有助於系統穩定性與資料安全性。
- 靈活的網路連接選項:支援公共 IP、專用 IP、VPC 網路設定以及 VPN 連接,讓應用程式既能對外提供服務,也能與企業內部網路連接。
GCP 虛擬機與本地虛擬機的差別
特性 | GCP 虛擬機 | 本地虛擬機 |
---|---|---|
硬體資源來源 | 由 Google 資料中心提供,資源幾乎無限,按需分配 | 依賴個人電腦或伺服器的硬體資源,受限於設備規格 |
彈性與擴展性 | 透過雲端管理介面,數分鐘內即可擴充資源或增加虛擬機數量 | 受限於本地硬體資源,擴充需要購買和安裝新硬體 |
可用性與可靠性 | 支援多區域備援、自動備份、災難復原 (Disaster Recovery) | 若本地硬體損壞,可能導致虛擬機數據遺失,需自行設定備份 |
存取方式 | 透過網際網路 (公共 IP、VPN) 全球存取 | 通常只能本地存取,若需遠端連線需額外設定 |
管理工具 | 提供自動化管理工具、API、CLI 和監控工具 | 需手動設定和管理,依賴第三方虛擬機軟體 (如 VirtualBox) |
成本結構 | 按需付費,支持短期和長期折扣,成本與使用量相關 | 主要是初期硬體成本,後續無持續費用,但硬體損壞需自行維修 |
應用場景 | 適合大規模應用、企業系統、動態擴充需求 | 適合個人開發、測試環境、小型本地應用 |
實際應用情境
- GCP 虛擬機適合情境:
- 部署全球用戶存取的網站和應用程式伺服器。
- 建立彈性伸縮的應用,例如電子商務網站、高流量 API 服務。
- 用於大數據分析和機器學習模型訓練,能夠動態增加計算資源。
- 本地虛擬機適合情境:
- 進行個人專案開發與測試,無需連接到公共網路。
- 測試不同的作業系統或軟體環境,不影響實際電腦環境。
- 用於學習和實驗,例如架設本地伺服器、測試資料庫或網路配置。
GCP 虛擬機的核心特點
GCP 虛擬機 (Google Cloud Virtual Machines) 提供了高度彈性、強大的計算能力以及先進的自動化管理工具,使得無論是小型專案還是企業級應用,都能夠有效率地部署和運行。
以下是 GCP 虛擬機的核心特點及其詳細介紹:
高彈性與可擴充性
GCP 虛擬機具有極高的彈性,允許使用者根據實際需求靈活調整資源配置:
- 可調整的計算資源:在建立虛擬機時,可以自訂 CPU 核心數、記憶體大小以及磁碟空間,並且可以選擇標準磁碟 (HDD) 或高性能固態硬碟 (SSD)。
- 動態擴展資源:當應用程式需求變化時,可以在不中斷服務的情況下調整虛擬機規格,例如增加記憶體或 CPU 配置 (垂直擴充)。
- 自動擴充 (Autoscaling):透過設定擴充規則,GCP 可以根據流量負載自動增加或減少虛擬機數量 (水平擴充),特別適合流量波動大的應用,例如電子商務網站在促銷期間的高流量場景。
- 彈性資源分配:支持預留型實例 (Committed Use Discounts) 和靈活的預先配置資源,讓企業在控制成本的同時保證應用程序的性能。
多種虛擬機類型
GCP 提供了多種類型的虛擬機,以滿足不同的計算需求和應用場景。每種類型都有特定的優勢:
- 標準型 (E2、N2、N2D)
- E2 實例:經濟實惠,適合一般用途的應用,例如中小型網站、開發測試環境和中等負載的應用程式。
- N2 實例:性能更強,適合需要更高 CPU 和記憶體性能的應用,例如企業應用程式和中型資料庫。
- N2D 實例:基於 AMD 處理器,提供比 N2 更具成本效益的高性能選項,適合大數據處理和分析任務。
- 計算優化型 (C2)
- 這類型虛擬機專為高計算需求的工作負載設計,例如視訊編碼、科學計算、遊戲伺服器和高性能計算 (HPC)。
- 提供高 CPU 與記憶體比例,適合需要大量處理器資源且記憶體需求相對較低的應用場景。
- 記憶體優化型 (M2、M3)
- 這類虛擬機提供超高記憶體容量,從數百 GB 到數 TB,不同於標準型或計算優化型,主要用於需要大量記憶體的應用場景。
- 非常適合大型資料庫 (如 Oracle、SAP HANA)、內存內部資料處理應用和大型緩存伺服器。
多樣化的作業系統支援
GCP 支援多種作業系統,滿足不同開發環境和應用程式的需求:
- Linux 作業系統
- 支援主流 Linux 發行版,包括 Ubuntu、Debian、CentOS、Red Hat Enterprise Linux (RHEL) 和 SUSE Linux。
- 可選擇不同版本的映像檔 (Images),並且支援內建的更新和安全性維護。
- Windows Server
- 支援 Windows Server 的多個版本,例如 Windows Server 2012、2016、2019 和最新的 2022 版本。
- 提供圖形介面的虛擬桌面 (RDP) 連接,以及對 Active Directory、IIS 網頁伺服器和其他 Microsoft 服務的支援。
- 自訂映像檔 (Custom Images)
- 支援上傳自訂的作業系統映像,例如特殊配置的 Linux 或 Windows 系統。
- 使用者可以將現有的本地或其他雲端環境的虛擬機映像匯入到 GCP,保持應用程序環境的一致性。
自動化與管理工具
GCP 提供多種自動化和管理工具,讓使用者更輕鬆地維護和操作虛擬機:
- 自動擴充 (Autoscaling)
- 可根據流量、自訂指標 (如 CPU 使用率、記憶體使用量) 自動調整虛擬機數量。
- 非常適合應用程序的負載不穩定的情況,確保高效利用資源並控制成本。
- 自動備份與快照 (Snapshots)
- 支援手動或自動創建磁碟快照,保留虛擬機的當前狀態和數據。
- 在系統升級或部署新應用程式之前創建快照,若出現問題可以快速恢復系統。
- 虛擬機群組 (Instance Groups)
- 可將多個相同配置的虛擬機組成群組,進行統一管理。
- 支援自動修復 (Autohealing) 功能,當群組中的某個虛擬機失效時,自動啟動新的虛擬機替換。
- 常用於大型應用的佈建,例如分布式 Web 伺服器、後端服務群組。
- 持續監控與警報 (Monitoring & Alerts)
- 整合 Google Cloud Monitoring 和 Logging,提供實時監控虛擬機的性能數據。
- 可以設置特定條件的警報 (例如 CPU 超過 80%),及時通知管理者進行處理。
如何建立 GCP 虛擬機?
建立 GCP (Google Cloud Platform) 虛擬機 (Virtual Machine, VM) 的過程相對簡單,但每個步驟中都有許多細節需要注意。以下是一步一步的詳細教學,讓初學者也能輕鬆上手。
註冊 GCP 帳戶
- 訪問 Google Cloud 官方網站:Google Cloud Platform
- 註冊新帳戶:
- 使用現有的 Google 帳號登入,或註冊一個新帳號。
- 在首次註冊 GCP 時,您需要填寫付款資訊,但在免費試用期內 (首年內),不會自動扣款。
- 免費試用優惠:
- GCP 提供 $300 美元的免費試用額度,這些額度可以用於大部分 GCP 服務,包括 Compute Engine (GCP 虛擬機)。
- 免費額度適合測試各種服務,避免初學者因操作錯誤而產生高額費用。
建立專案 (Project)
- 進入 GCP 主控台:Google Cloud Console
- 創建專案:
- 點擊主控台右上角的 “選擇專案” 按鈕,然後點擊 “新增專案”。
- 輸入專案名稱 (例如:My First VM Project)。
- 選擇組織 (如果是個人用戶可保持預設)。
- 點擊 “建立” (Create) 按鈕。
- 為什麼需要專案?:
- 專案 (Project) 是 GCP 資源的邏輯容器,所有的虛擬機、儲存空間、數據庫等資源都會關聯到特定專案,方便管理和計費。
進入 Compute Engine
- 導航到 Compute Engine:
- 在左側選單中找到 “Compute Engine”,點擊 “VM Instances” (虛擬機實例)。
- 如果是第一次使用 Compute Engine 服務,系統可能會提示您啟用 API,點擊 “啟用” (Enable)。
- API 啟用完成後,系統會自動將您導向虛擬機列表頁面,您可以看到目前專案中的所有虛擬機 (如果還沒有建立過,列表會是空的)。
建立虛擬機 (Create Instance)
- 開始建立新虛擬機:
- 點擊頁面上的 “建立實例” (Create Instance) 按鈕。
- 配置虛擬機設定:
- 名稱 (Name):
- 輸入虛擬機名稱,需以小寫英文字母開頭,僅能包含字母、數字和連字號 (例如:my-first-vm)。
- 地區 (Region) 和區域 (Zone):
- 選擇虛擬機的地理位置 (例如:us-central1、asia-east1)。
- 每個區域 (Zone) 代表 Google 雲端資料中心中的不同實體機房,建議選擇靠近主要用戶的地點以降低延遲。
- 機型 (Machine Type):
- 根據應用需求選擇 CPU 和記憶體大小,例如:
- E2-standard-2:2 核心 CPU,8GB 記憶體 (經濟實惠,適合一般用途)。
- N2-highmem-4:4 核心 CPU,32GB 記憶體 (適合需要更多記憶體的應用)。
- 根據應用需求選擇 CPU 和記憶體大小,例如:
- 作業系統 (Operating System):
- 在 引導磁碟 (Boot Disk) 區域,點選 “變更” (Change)。
- 選擇所需的作業系統,例如:
- Linux 發行版 (Ubuntu、Debian、CentOS)。
- Windows Server (Windows Server 2019、2022)。
- 自訂映像檔 (如果有特別配置的作業系統)。
- 設定磁碟類型 (標準 HDD 或高性能 SSD) 和磁碟大小 (例如 10GB 或更大)。
- 名稱 (Name):
配置網路與防火牆
- 設定網路 (Network):
- 默認會選擇 default 網路,但可以根據需求建立自訂的虛擬私有網路 (VPC)。
- 防火牆規則 (Firewall Rules):
- 開啟常用的連接埠:
- HTTP (80) 和 HTTPS (443):適合 Web 伺服器。
- SSH (22):用於連接 Linux 虛擬機。
- RDP (3389):用於連接 Windows 虛擬機 (如果選擇了 Windows Server)。
- 勾選 允許 HTTP 流量 (Allow HTTP traffic) 和 允許 HTTPS 流量 (Allow HTTPS traffic)。
- 開啟常用的連接埠:
啟動虛擬機 (Create and Launch)
- 建立虛擬機:
- 完成所有設定後,點擊頁面底部的 “建立” (Create) 按鈕。
- 系統會自動分配資源並啟動虛擬機,這個過程通常需要數十秒到幾分鐘。
- 確認虛擬機狀態:
- 返回虛擬機實例列表,確認新建的虛擬機狀態顯示為 “運行中” (Running)。
- 您會看到分配的公共 IP 位址、內部 IP 位址,以及系統運行狀況。
連接到虛擬機
- Linux 虛擬機 – 使用 SSH 連接:
- 直接在 GCP 主控台中點擊 “SSH” 按鈕 (無需安裝額外工具)。
- 或者使用外部 SSH 工具 (例如 PuTTY、Terminal),連接公共 IP 並提供 SSH 金鑰驗證。
- Windows 虛擬機 – 使用 RDP 連接:
- 點擊 “連接” (Connect),選擇 “透過 RDP 連接”。
- 系統會下載一個
.rdp
文件,打開後使用 Windows 遠端桌面 (Remote Desktop) 進行連接。 - 使用預設的 Windows 使用者名稱和密碼登入 (在建立 VM 時設置)。
(可選) 配置啟動腳本或自動化工具
- 啟動腳本 (Startup Script):
- 在虛擬機設定中,您可以添加啟動腳本,當虛擬機每次啟動時,系統會自動執行這些命令,例如自動安裝套件或配置環境。
- 自動化工具 (如 Terraform、Deployment Manager):
- 如果需要批量建立虛擬機或自動化整個基礎架構,建議使用基礎架構即程式碼 (IaC, Infrastructure as Code) 的工具。
GCP 虛擬機的實際應用
GCP 虛擬機 (Google Cloud Virtual Machine) 以其高彈性、強大性能和自動化管理工具,適合多種應用場景。
以下是幾個常見且詳細的應用場景,幫助您了解如何將 GCP 虛擬機應用於實際業務和開發環境中。
網站託管 (Website Hosting)
GCP 虛擬機是一個靈活且強大的網站託管平台,無論是簡單的靜態網站,還是複雜的動態網站,都能輕鬆應對。
- 靜態網站:
- 可以在虛擬機上安裝 Nginx 或 Apache 伺服器,將靜態網頁檔案 (如 HTML、CSS、JavaScript) 上傳到伺服器目錄。
- 配置防火牆以開放 HTTP (80) 和 HTTPS (443) 埠,讓網站可從網際網路存取。
- 搭配 Let’s Encrypt 自動取得免費的 HTTPS SSL 憑證,提升網站安全性。
- 動態網站:
- 支援多種伺服器技術和語言,例如 PHP (與 Apache 或 Nginx 結合)、Node.js (Express.js)、Python (Django、Flask) 等。
- 可搭配資料庫 (如 MySQL、PostgreSQL) 以建立具有互動性的網站,適合電子商務平台、部落格系統 (如 WordPress) 和內容管理系統 (CMS)。
- 高流量網站的架構:
- 使用 負載平衡 (Load Balancing) 將流量分散到多台虛擬機,提高網站的可靠性和擴展性。
- 搭配 自動擴充 (Autoscaling) 功能,確保在流量高峰期間 (例如促銷活動) 自動增加伺服器數量,降低網站崩潰風險。
應用程式伺服器 (Application Server)
GCP 虛擬機提供靈活的環境,適合部署各類應用程式伺服器,支持多種開發框架和技術棧:
- API 服務與後端處理:
- 可將基於 Node.js、Python (Flask、Django)、Java (Spring Boot)、Ruby on Rails 等框架的應用程式部署到虛擬機中,提供後端 API 服務。
- 配置防火牆開啟 API 服務所需的連接埠 (例如 HTTP 80、HTTPS 443,或自訂的 API 埠如 8080)。
- 微服務架構 (Microservices):
- 將不同功能的應用程式分解為多個小型服務 (如用戶服務、訂單服務、支付服務) 並分別運行在不同的虛擬機上。
- 配合 GCP 的 Kubernetes Engine (GKE),可以自動管理和調度這些微服務容器,提高應用程式的彈性和維護性。
- 數據處理與分析:
- 部署數據處理應用 (例如 Apache Spark、Hadoop) 或機器學習模型 (TensorFlow、PyTorch) 到虛擬機中,進行大數據分析和自動化數據處理工作。
測試與開發環境 (Testing and Development Environment)
GCP 虛擬機可以提供安全、隔離且易於管理的開發和測試環境,特別適合軟體開發團隊或個人開發者:
- 開發環境:
- 快速建立開發伺服器,安裝所需的開發工具和環境 (如 VS Code Server、Docker)。
- 支援多個開發人員同時連接虛擬機,共用測試環境,並且可以在專案完成後輕鬆銷毀虛擬機以節省成本。
- 測試與持續整合 (CI/CD):
- 在虛擬機上運行自動化測試腳本,驗證應用程式功能和性能。
- 配合 GCP 的 Cloud Build 和 Cloud Deployment Manager,可以實現持續整合 (CI) 和持續部署 (CD) 的自動化流程。
- 臨時環境:
- 針對特定專案創建短期虛擬機,測試不同的作業系統或軟體配置,測試完成後刪除虛擬機以避免浪費資源。
成本管理與最佳實務
在 GCP 上使用虛擬機時,良好的成本管理策略可以有效降低開支,尤其是在持續運行或大規模使用的情況下。
選擇合適的虛擬機類型
- 評估應用需求:
- 針對不同的應用場景選擇對應的虛擬機型號,例如:
- 標準型 (E2、N2):適合一般用途的網站和應用程式。
- 計算優化型 (C2):適合高計算密集型的數據處理和運算任務。
- 記憶體優化型 (M2、M3):適合需要高記憶體的資料庫和大數據分析應用。
- 針對不同的應用場景選擇對應的虛擬機型號,例如:
- 避免過度配置:
- 使用性能監控工具 (如 Cloud Monitoring) 分析應用程式實際資源消耗情況,調整虛擬機資源,避免 CPU 和記憶體閒置導致的資源浪費。
使用預留型虛擬機 (Committed Use Discounts)
- 長期使用規劃:
- 如果您的應用程式需要長期運行,建議考慮購買 預留型虛擬機 (Committed Use Discounts)。
- 可選擇 一年或三年 的預留合約,以顯著降低虛擬機的每小時使用費用 (最高可省 57%)。
- 預估資源使用量:
- 在購買預留型實例之前,確保已經有穩定的資源需求評估,以避免資源閒置造成的浪費。
關閉不使用的虛擬機
- 定期檢查虛擬機狀態:
- 使用 Cloud Monitoring 設置 無活動通知,當特定虛擬機長時間沒有流量或操作時,通知管理者進行評估。
- 設定自動關機腳本:
- 可以透過 GCP 的 Instance Schedule 設定虛擬機的自動關機和啟動時間,例如在非工作時間自動關機以節省成本。
- 使用靜態網站代替虛擬機:
- 如果您的網站是靜態內容,考慮使用 GCP 的 Cloud Storage 和 Cloud CDN 取代虛擬機,無需持續運行伺服器,降低運行成本。
結語
GCP 虛擬機提供了高彈性、強大的性能和豐富的功能,讓各種規模的使用者都能輕鬆建立和管理自己的雲端環境。
透過本文,您應該對 GCP 虛擬機的核心概念、設定流程以及應用場景有了更深入的了解。
建議初學者可以善用 GCP 免費試用額度,多加練習,熟悉虛擬機的建立與管理技巧,為未來的雲端開發奠定良好基礎。