跳至主要內容
ESC
GCP 入門基礎 — 第 3/5 篇

第一台雲端主機:Compute Engine 從建立到監控完全指南

第一台雲端主機:Compute Engine 從建立到監控完全指南
Updated: 2026-07-17

上一篇 GCP-102 環境設定 我們把 GCP 帳號和第一個專案都建好了。這篇就來動手,建立你的第一台雲端主機。

Compute Engine 是 GCP 最基礎的運算服務,你可以把它想成在 Google 的全球資料中心裡租了一台電腦。作業系統你說了算,要裝什麼軟體都行,拿來架個網站也沒問題。

這篇會從零帶你建一台 Linux 虛擬機、SSH 進去架個 Apache 網站,再把防火牆、快照備份、監控告警一路設好,最後聊聊怎麼省錢、別讓帳單嚇到自己。一條龍走完,你對 Compute Engine 的幾個核心零件(機型、映像檔、磁碟)大概就有感覺了。

先決條件

預估時間:30 分鐘


一、Compute Engine 是什麼?三分鐘搞懂

虛擬機器 = 雲端版的電腦

想像你要在辦公室放一台伺服器:

  • 傳統做法:買硬體 → 搬到機房 → 接電源和網路 → 安裝 OS → 設定軟體 → 等待 2-4 週
  • 雲端做法:開啟 Console → 選規格 → 按「建立」→ 60 秒後開始使用

差別就這麼大。Compute Engine 就是 GCP 的虛擬機器(VM)服務,屬於 IaaS(基礎設施即服務) 模型。你可以:

  • 選擇 CPU、記憶體、磁碟的組合
  • 安裝任何作業系統(Linux 或 Windows)
  • 完全控制機器上的一切

關鍵概念速覽

動手之前,先把幾個常出現的名詞搞懂:

概念白話解釋類比
Instance(執行個體)一台正在運行的虛擬機一台開著的電腦
Machine Type(機型)CPU + 記憶體的組合電腦的規格配置
Image(映像檔)作業系統的安裝光碟Windows 安裝隨身碟
Boot Disk(開機磁碟)VM 的主要儲存裝置電腦的 SSD/HDD
Zone(區域)VM 所在的實體位置機房的地理位置
Firewall(防火牆)控制進出流量的規則大樓的門禁系統
Snapshot(快照)磁碟在某個時間點的副本遊戲的存檔點

機型家族:選擇適合你的配置

GCP 把機型分成好幾個家族,對應不同的工作負載:

機型家族代號適用場景成本
通用型E2, N2, N2D, C3Web 伺服器、開發環境、小型資料庫$
運算最佳化C2, C2D, H3高效能運算、遊戲伺服器、科學模擬$$
記憶體最佳化M2, M3大型資料庫(SAP HANA)、記憶體快取$$$
加速器最佳化A2, A3, A4, G2機器學習訓練、影像處理$$$$

💡 新手建議:從 E2 系列 開始,這是最便宜的選項,適合學習和開發。


二、動手建立第一台 VM

方法一:透過 Cloud Console(圖形介面)

Step 1:進入 Compute Engine 頁面

  1. 開啟 GCP Console
  2. 左側選單點擊 Compute EngineVM instances
  3. 如果是第一次使用,需要等待 API 啟用(約 1-2 分鐘)
  4. 點擊 建立執行個體(CREATE INSTANCE)

💡 關於畫面:本篇截圖來自 2026 年 7 月的 Console。建立 VM 的表單現在是左側分頁式(機器設定 → OS 和儲存空間 → 資料保護 → 網路 → 觀測能力 → 安全性 → 進階),如果你看到的是舊版單頁式排版,欄位其實一模一樣,只是位置不同。

Step 2:設定基本資訊

名稱:my-first-vm
區域:asia-east1(台灣彰化)
可用區:asia-east1-b
GCP Console 建立執行個體的機器設定頁,填入名稱 my-first-vm、區域 asia-east1、可用區 asia-east1-b,右側顯示預估每月費用 US$8.08
「機器設定」是建立 VM 的第一頁。左邊那排(機器設定、OS 和儲存空間、網路⋯⋯)就是接下來要逐頁走完的關卡;右邊的預估費用會隨著你改規格即時跳動,選 e2-micro 之後從 US$29.32 掉到 US$8.08,這是最直覺的成本感。

💡 為什麼選 asia-east1? 這是離台灣最近的 GCP 區域,網路延遲最低。如果你的用戶在其他地區,可以選擇對應的區域。

Step 3:選擇機型

系列:E2(通用型、最經濟)
機型:e2-micro(2 個共享 vCPU、1 GB 記憶體)

💡 省錢秘訣e2-microus-west1、us-central1、us-east1 三個區域每月有 1 台免費額度(Always Free 方案,免費時數約等於整月不關機,依當月天數略有差異)。注意本教學使用的 asia-east1 不在免費範圍內,僅供學習示範;若想真正享受免費額度,請選擇上述三個美國區域。

Step 4:設定開機磁碟

  1. 左側切到「OS 和儲存空間」,點擊「變更」
  2. 作業系統:Debian GNU/Linux 12 (Bookworm)
  3. 開機磁碟類型:標準永久磁碟
  4. 大小:10 GB(足夠學習使用)
開機磁碟設定面板,作業系統選 Debian、版本 Debian GNU/Linux 12 (bookworm)、開機磁碟類型標準永久磁碟、大小 10 GB
點「變更」會從右側滑出這塊開機磁碟面板。GCP 現在的預設是 Debian 13 (trixie) 加平衡型永久磁碟,本課刻意改成 Debian 12 (bookworm) 加標準永久磁碟——後者便宜,學習期間 10 GB 幾乎不花錢。

Step 5:設定防火牆

左側切到「網路」,勾選:

  • ✅ 允許 HTTP 流量
  • ✅ 允許 HTTPS 流量
網路連線設定頁,勾選允許 HTTP 流量與允許 HTTPS 流量後,網路標記欄位自動出現 http-server 與 https-server 兩個標籤
這張圖藏著一個 ACE 考點:勾下「允許 HTTP/HTTPS 流量」的瞬間,下方「網路標記」自動長出 http-server 和 https-server 兩個標籤。防火牆規則從來不是直接綁在 VM 上,而是靠這種 Network Tag 對上的——第五節會再回來講。

Step 6:點擊「建立」

等待約 30-60 秒,你的第一台 VM 就準備好了!

方法二:透過 gcloud CLI(命令列)

習慣敲指令的話,打開 Cloud Shell,執行:

gcloud compute instances create my-first-vm \
  --zone=asia-east1-b \
  --machine-type=e2-micro \
  --image-family=debian-12 \
  --image-project=debian-cloud \
  --boot-disk-size=10GB \
  --boot-disk-type=pd-standard \
  --tags=http-server,https-server

🎯 ACE 考試提示:考試中經常會出現 gcloud 指令的語法,建議兩種方式都要熟悉。


三、連線到你的 VM

SSH 連線

VM 一建好,連線的方式有好幾種:

方法 1:Console 內建 SSH(最簡單)

在 VM instances 頁面,點擊 VM 旁邊的 SSH 按鈕,瀏覽器會自動開啟一個終端視窗。

VM 執行個體列表,my-first-vm 狀態為綠色勾勾,位於 asia-east1-b,內部 IP 10.140.0.10、外部 IP 35.185.151.253,右側有 SSH 按鈕
VM 跑起來後的列表長這樣。綠色勾勾代表運行中,內部 IP(10.140.0.10)是 VPC 內部用的、外部 IP(35.185.151.253)才是從網際網路連得到的那個——等一下架好 Apache 就是打這個位址。最右邊的 SSH 按鈕是進入這台機器最快的路。

方法 2:gcloud CLI

gcloud compute ssh my-first-vm --zone=asia-east1-b

方法 3:第三方 SSH 客戶端

# 將實例 SSH 設定寫入本機 ~/.ssh/config(並產生金鑰)
gcloud compute config-ssh

# 然後用任何 SSH 客戶端連線
ssh my-first-vm.asia-east1-b.<your-project-id>

那串主機名(my-first-vm.asia-east1-b.<your-project-id>)不用自己背,是上一行 config-ssh 幫你寫進 ~/.ssh/config 的別名,格式就是「VM 名稱.可用區.專案 ID」。設定一次之後,往後就能直接 ssh 進去,不必再打 gcloud。

確認 VM 資訊

連線後,執行以下指令確認 VM 狀態:

# 查看作業系統版本
cat /etc/os-release

# 查看 CPU 資訊
nproc

# 查看記憶體
free -h

# 查看磁碟空間
df -h

你應該會看到 Debian 12、2 vCPU、約 1 GB 記憶體,以及 10 GB 磁碟。

瀏覽器內的 SSH 終端機視窗,執行 cat /etc/os-release、nproc、free -h、df -h 後顯示 Debian GNU/Linux 12 (bookworm)、2 顆 CPU、969Mi 記憶體、9.7G 磁碟
「直接透過瀏覽器進行 SSH 連線」——不用裝任何客戶端、不用管金鑰,Google 幫你把連線和授權都處理好了。這四行指令的輸出正好對上你剛才選的規格:Debian 12、2 顆 vCPU、969Mi 記憶體、9.7G 可用磁碟。

四、架設 Apache 網頁伺服器

接下來玩點有趣的,在這台 VM 上架一個網站。

安裝 Apache

# 更新套件列表
sudo apt update

# 安裝 Apache
sudo apt install apache2 -y

# 確認 Apache 正在運行
sudo systemctl status apache2

你應該會看到 Active: active (running) 的訊息。

建立自訂首頁

# 建立一個簡單的首頁
sudo tee /var/www/html/index.html > /dev/null << 'EOF'
<!DOCTYPE html>
<html lang="zh-TW">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>我的第一台 GCP VM</title>
  <style>
    body {
      font-family: 'Noto Sans TC', sans-serif;
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 100vh;
      margin: 0;
      background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
      color: white;
    }
    .container {
      text-align: center;
      padding: 2rem;
    }
    h1 { font-size: 2.5rem; margin-bottom: 1rem; }
    p { font-size: 1.2rem; opacity: 0.9; }
    .info {
      margin-top: 2rem;
      padding: 1.5rem;
      background: rgba(255,255,255,0.1);
      border-radius: 12px;
      text-align: left;
    }
    code { background: rgba(0,0,0,0.2); padding: 2px 6px; border-radius: 4px; }
  </style>
</head>
<body>
  <div class="container">
    <h1>🎉 恭喜!你的第一台 GCP VM 上線了!</h1>
    <p>這台伺服器正在 Google Cloud 上運行</p>
    <div class="info">
      <p><strong>課程:</strong>登雲學院 GCP-103</p>
      <p><strong>服務:</strong>Compute Engine</p>
      <p><strong>區域:</strong>asia-east1(台灣彰化)</p>
    </div>
  </div>
</body>
</html>
EOF

在瀏覽器中查看

  1. 回到 GCP Console 的 VM instances 頁面
  2. 找到你的 VM 的「外部 IP 位址」(例如 34.80.xxx.xxx
  3. 在瀏覽器中輸入 http://34.80.xxx.xxx
  4. 你應該會看到剛才建立的漂亮頁面!
瀏覽器開啟 VM 外部 IP 後顯示的紫色漸層網頁,標題為「恭喜!你的第一台 GCP VM 上線了!」,下方資訊卡列出課程 GCP-103、服務 Compute Engine、區域 asia-east1
這是整條鏈路走通的那一刻:你在台灣的瀏覽器,打一個公開 IP,連到彰化機房裡那台 e2-micro 上的 Apache,拿回你剛剛用 SSH 寫進去的 HTML。建立、連線、安裝、開防火牆——缺任何一步這頁都不會出現。

⚠️ 看不到頁面? 確認你在建立 VM 時有勾選「允許 HTTP 流量」。如果忘了,可以到 VPC 網路 → 防火牆規則中新增規則。


五、防火牆規則詳解

在 GCP 中,防火牆規則控制哪些流量可以進出你的 VM。

預設防火牆規則

GCP 自動建立的 default 網路帶有以下預設規則(自訂 VPC 預設不含這些規則,需自行建立):

規則名稱方向動作說明
default-allow-internal入站允許同一網路內的 VM 可以互相通訊
default-allow-ssh入站允許允許從任何地方 SSH(port 22)
default-allow-rdp入站允許允許 RDP 連線(port 3389)
default-allow-icmp入站允許允許 ping 指令
虛擬私有雲防火牆規則列表,依序為 default-allow-http(目標 http-server、tcp:80)、default-allow-https(https-server、tcp:443)、default-allow-icmp、default-allow-internal、default-allow-rdp(tcp:3389)、default-allow-ssh(tcp:22),全部套用在 default 網路
上表在 Console 裡的真身。注意「目標」這欄:http 和 https 兩條規則寫的是 http-server、https-server(還記得建立 VM 時自動長出來的那兩個標記嗎),其餘幾條是「全部套用」。優先順序數字越小越優先,1000 會比 65534 先被評估。

建立自訂防火牆規則

如果你需要開放其他 port(例如 Node.js 的 3000 port):

gcloud compute firewall-rules create allow-custom-port \
  --direction=INGRESS \
  --action=ALLOW \
  --rules=tcp:3000 \
  --source-ranges=0.0.0.0/0 \
  --target-tags=custom-port \
  --description="Allow port 3000 for Node.js"

然後把 custom-port 標籤加到你的 VM:

gcloud compute instances add-tags my-first-vm \
  --zone=asia-east1-b \
  --tags=custom-port

🎯 ACE 考試提示:防火牆規則是透過 Network Tags 套用到 VM 上的。記住 --target-tags--source-ranges 這兩個參數。

⚠️ 安全提醒0.0.0.0/0 代表允許「所有來源」存取,在正式環境中應該限縮來源 IP 範圍。


六、磁碟管理與備份策略

磁碟類型比較

磁碟類型代號IOPS價格適用場景
標準永久磁碟pd-standard$備份、冷儲存、開發環境
平衡永久磁碟pd-balanced$$一般用途、Web 伺服器
SSD 永久磁碟pd-ssd$$$資料庫、高效能應用
極端永久磁碟pd-extreme極高$$$$關鍵資料庫(Oracle, SAP)
本機 SSDlocal-ssd極高$$$暫存資料、快取(VM 關機資料消失!)

🎯 ACE 考試提示:本機 SSD 的資料在 VM 停止或刪除時會永久遺失。這是考試常見陷阱題。

💡 新版 Console 的預設值變了:現在建立 VM 時,開機磁碟預設是 Debian 13 (trixie)平衡型永久磁碟,而且「資料保護」頁預設就幫你掛上一組快照排程(default-schedule-1)。本課刻意選 Debian 12 加標準永久磁碟,是為了省錢和與後續章節一致;正式環境用預設值即可。

建立快照(Snapshot)

快照是磁碟在某個時間點的備份,可以用來:

  • 災難恢復
  • 在不同區域建立相同的 VM
  • 資料遷移
建立快照表單,名稱 my-first-vm-snapshot-20260717、快照來源類型為磁碟、來源磁碟 my-first-vm,類型可選快照、即時快照、封存快照三種
Console 的建立快照表單。「類型」這三個選項值得記一下:一般快照存在別的地方、適合備份;即時快照跟磁碟放一起、還原最快;封存快照最便宜但取用慢,適合長期壓箱底。
# 建立快照
gcloud compute disks snapshot my-first-vm \
  --zone=asia-east1-b \
  --snapshot-names=my-first-vm-snapshot-$(date +%Y%m%d)

設定自動快照排程

# 建立快照排程(每天凌晨 2 點,保留 7 天)
gcloud compute resource-policies create snapshot-schedule daily-backup \
  --region=asia-east1 \
  --max-retention-days=7 \
  --start-time=02:00 \
  --daily-schedule

# 將排程套用到磁碟
gcloud compute disks add-resource-policies my-first-vm \
  --zone=asia-east1-b \
  --resource-policies=daily-backup

七、Cloud Monitoring 監控告警

伺服器沒有監控,就像開車不看儀表板。等到出事才發現,通常已經來不及了。

安裝 Ops Agent

Cloud Monitoring 需要在 VM 上安裝 Agent 來收集系統指標:

# 安裝 Ops Agent(整合 Monitoring + Logging)
curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
sudo bash add-google-cloud-ops-agent-repo.sh --also-install

# 確認 Agent 狀態
sudo systemctl status google-cloud-ops-agent

建立告警政策

透過 Console 建立 CPU 使用率告警:

  1. 進入 MonitoringAlertingCreate Policy
  2. 新增條件:
    • 資源類型:VM Instance
    • 指標:CPU utilization
    • 條件:大於 80%,持續 5 分鐘
  3. 設定通知管道(Email、Slack、PagerDuty 等)
  4. 命名:「VM CPU 過高警告」
建立警告政策的觸發條件頁,條件類型 Threshold、門檻值 80%,右側 CPU utilization 折線圖上出現 80% 紅色門檻虛線,實際使用率約 11.5% 在線下方
門檻值填 80 之後,右邊圖表上會浮出一條紅色虛線——那就是告警線。下方那條藍線是這台 VM 真實的 CPU 使用率(約 11.5%),離紅線還很遠,代表現在不會觸發。設告警前先這樣看一眼基準線,才不會把門檻訂在一個永遠不會響、或者天天亂響的位置。

透過 gcloud CLI:

# 先建立通知頻道(以 Email 為例)
gcloud beta monitoring channels create \
  --display-name="My Email" \
  --type=email \
  --channel-labels=email_address=your-email@example.com

查看監控資訊

在 Cloud Console 中:

  • MonitoringDashboards:查看系統總覽
  • MonitoringMetrics Explorer:自訂查詢指標
  • LoggingLogs Explorer:查看系統日誌

八、成本優化:別讓帳單嚇到你

停止 vs 刪除

動作會收費嗎?資料保留?
停止 VM不收 CPU/記憶體費用,但磁碟仍收費✅ 保留
刪除 VM完全不收費❌ 永久刪除

💡 重點提點

新手最常踩的帳單坑就是這裡:「停止 VM」不等於「不收費」。VM 停掉後,CPU 跟記憶體確實不收錢了,但那顆開機磁碟還在,磁碟費照樣每天扣。所以練習做到一半想休息,光按「停止」只是少燒一部分;真的要完全不花錢,得把 VM 連同磁碟一起刪除(資料也會跟著消失,記得先存快照)。一台小 VM 的磁碟費不多,但忘了的閒置資源放著放著,月底帳單就是這樣一點一滴累積出來的。

# 停止 VM(停止收 CPU 費用,但磁碟繼續收費)
gcloud compute instances stop my-first-vm --zone=asia-east1-b

# 啟動 VM
gcloud compute instances start my-first-vm --zone=asia-east1-b

# 刪除 VM(完全釋放資源)
gcloud compute instances delete my-first-vm --zone=asia-east1-b

省錢技巧

  1. 用完就關:學習時不用的 VM 記得停止
  2. E2-micro 免費額度:每月一台免費(時數約等於整月不關機),適合長期運行的小型應用。但只限 us-west1、us-central1、us-east1 三個美國區域 —— 本教學的 asia-east1(彰化)不算在內,別誤會了
  3. 搶佔式 VM(Spot VM):最高省 91%,但可能隨時被回收
  4. 承諾使用折扣(CUD):承諾使用 1 年省約 37%,3 年省約 55%
  5. 右調機型:使用 Cloud Monitoring 的推薦,縮小過度配置的 VM
  6. 設定預算警示:在 Billing → Budgets 設定花費上限通知
# 查看目前的費用估算
gcloud billing budgets list --billing-account=YOUR_BILLING_ACCOUNT_ID

💡 免費額度提醒:GCP 的 Always Free 方案包含 1 個 e2-micro VM(限 us-west1、us-central1、us-east1 區域)。如果只是學習,可以選擇美國區域來享受免費額度。


九、安全性最佳實踐

必做的安全設定

  1. 使用 OS Login:傳統做法是把每個人的 SSH 金鑰一把把塞進 VM 的中繼資料,人一多就難管。OS Login(OS 登入)改成用你既有的 Google 帳號和 IAM 權限來決定誰能 SSH 進來,加人、踢人都在 IAM 一個地方搞定,不必再到每台機器手動改金鑰
# 啟用 OS Login
gcloud compute project-info add-metadata \
  --metadata enable-oslogin=TRUE
  1. 限縮防火牆規則:不要對全世界開放所有 port

  2. 啟用 Shielded VM:Shielded VM(防護 VM)是一組開機階段的防護機制,會在 VM 啟動時驗證開機程序有沒有被動過手腳,擋掉那種潛伏在開機流程、連防毒都不容易抓到的 rootkit/bootkit 惡意程式。開了它幾乎沒有額外成本,正式環境建議直接打開

gcloud compute instances create secure-vm \
  --zone=asia-east1-b \
  --machine-type=e2-micro \
  --shielded-secure-boot \
  --shielded-vtpm \
  --shielded-integrity-monitoring
  1. 使用 Service Account:Service Account(服務帳戶)是給機器用的帳號,不是給人用的。VM 拿著這張「身份證」去存取其他 GCP 服務(例如寫 log、讀 Cloud Storage),所以原則是只給它這次任務真正需要的權限,別圖方便掛個大權限角色上去 —— 萬一 VM 被入侵,攻擊者拿到的就只有這點最小權限
# 建立自訂服務帳戶
gcloud iam service-accounts create vm-sa \
  --display-name="VM Service Account"

# 只給必要權限
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
  --member="serviceAccount:vm-sa@YOUR_PROJECT_ID.iam.gserviceaccount.com" \
  --role="roles/logging.logWriter"
  1. 定期更新系統
# 設定自動安全更新
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades

🎯 ACE 考試提示:Service Account 是 VM 的「身份證」,決定了 VM 可以存取哪些 GCP 服務。考試中經常考「最小權限原則」的應用。


十、動手練習

練習 1:建立一個多層架構

嘗試建立兩台 VM:

  1. Web Server:安裝 Nginx,對外提供服務
  2. Database Server:安裝 MySQL,只允許 Web Server 存取

提示:使用 Network Tags 和防火牆規則來限制流量。

練習 2:跨區域部署

  1. asia-east1(台灣)建立一台 VM
  2. us-central1(美國)建立另一台
  3. 測試兩台之間的延遲:ping <internal-ip>

練習 3:快照與復原

  1. 在 VM 上建立一些檔案
  2. 建立快照
  3. 刪除 VM
  4. 從快照恢復到新的 VM
  5. 確認檔案還在

總結與下一步

恭喜,你的第一台 GCP 虛擬機已經跑起來了。來回顧一下這篇學到的東西:

本課重點

概念一句話總結
Compute EngineGCP 的 IaaS VM 服務,完全控制 OS
機型選擇E2 最便宜、C2 高效能、M2 大記憶體
SSH 連線Console 內建、gcloud CLI、第三方客戶端
防火牆透過 Network Tags 套用規則到 VM
快照磁碟的時間點備份,支援自動排程
Monitoring安裝 Ops Agent + 設定告警政策
成本優化停止 VM 仍收磁碟費、e2-micro 有免費額度

ACE 考試重點

  • 搶佔式 VM(Spot VM)可省 91%,但隨時可能被回收
  • 本機 SSD 資料在 VM 停止時永久遺失
  • Service Account 遵循最小權限原則
  • 防火牆規則透過 Network Tags 套用
  • 停止 VM ≠ 刪除 VM(磁碟費用差異)

下一步


課程導航

上一課目前下一課
GCP-102 環境設定GCP-103 第一台 VMGCP-104 VPC 網路基礎
GCP 入門基礎 — 3/5 完成 查看系列全覽 →

留言討論

徽章解鎖!