examlab .net 用最有效率的方法,考取最有價值的證照
本篇導覽 約 19 分鐘

Compute Engine:虛擬機器與進階功能

3,620 字 · 約 19 分鐘閱讀 ·

為 ACE 考試掌握 Google Compute Engine (GCE)。學習機器家族、永久磁碟、自定義映像檔和執行個體範本。

立即做 20 題練習 → 免費 · 不用註冊 · ACE

理解 Google Compute Engine (GCE)

Compute Engine 是 Google Cloud 的基礎架構即服務 (IaaS) 產品。它允許你在 Google 的全球基礎架構上執行虛擬機器 (VM)。對於 Associate Cloud Engineer (ACE) 來說,Compute Engine 是考試中比重最大的部分之一。你需要知道如何選擇正確的機器類型、配置儲存,以及如何實現自動化部署。

GCE 的核心優勢在於其靈活性:你可以從預定義的機器類型中選擇,也可以根據需求自定義 CPU 和記憶體配額。

白話文解釋

1. 租車服務 (瑞士刀類比)

  • VM 執行個體 (Instance): 就是你租來的一輛車。
  • 機器類型 (Machine Types)
    • 一般用途 (General-purpose, 如 E2, N2):像是一般轎車,省油、適合日常通勤(Web 服務)。
    • 運算最佳化 (Compute-optimized, 如 C2):像是跑車,馬力強、適合比賽(高效能運算)。
    • 記憶體最佳化 (Memory-optimized, 如 M2):像是大卡車,載貨量大(記憶體資料庫如 SAP HANA)。
  • 映像檔 (Images):車子的型號與出廠設置。
  • 永久磁碟 (Persistent Disks):車子的行李箱。即便你還了車,行李箱(數據)也可以拆下來裝到另一台車上。

2. 樂高積木組裝 (工地類比)

  • vCPU/RAM: 樂高的顆粒,你可以按照說明書(機器類型)組裝,也可以自己亂拼(自定義機器)。
  • 執行個體範本 (Instance Template):樂高的組裝說明書。如果你想拼 100 個一模一樣的機器,你就需要這本說明書。
  • 受管執行個體群組 (Managed Instance Groups, MIG):一個自動化工廠,它會根據說明書自動拼出更多機器,或者修好壞掉的機器。

3. 虛擬辦公室 (房屋仲介類比)

  • 可用區 (Zone):辦公室所在的具體大樓。
  • 區域 (Region):辦公室所在的城市。
  • 中繼資料 (Metadata):貼在辦公桌上的便利貼,記錄了這台電腦的設定資訊。

選擇機器類型與家族

選擇正確的機器家族是優化性能與成本的第一步。

機器家族

  1. 一般用途 (General-purpose, E2, N1, N2, N2D): 最佳性價比。E2 是入門首選,它使用動態調度的負載,非常適合低負載的 Web 伺服器。
  2. 運算最佳化 (Compute-optimized, C2, C2D): 適用於需要極高單核性能的負載,如遊戲伺服器或高性能運算 (HPC)。
  3. 記憶體最佳化 (Memory-optimized, M1, M2): 適用於大型記憶體資料庫。
  4. 加速器最佳化 (Accelerator-optimized, A2, A3): 搭載 GPU (NVIDIA A100/H100),適用於 AI/ML 訓練。

對於 ACE 考試,記住 E2 是成本最低且最通用的選擇,而 C2 用於高效能,M2 用於大記憶體。 Source ↗

配置 VM 磁碟與網路介面

永久磁碟 (Persistent Disks, PD)

永久磁碟是網路附加儲存,這意味著它們的生命週期可以獨立於 VM 執行個體。你可以刪除 VM 但保留 PD。 Source ↗

  • 標準 PD (Standard PD, HDD): 便宜,適合大容量、低頻率存取。
  • 平衡 PD (Balanced PD): 性能與成本的平衡點,適合一般工作負載。
  • SSD PD: 高效能、低延遲。
  • 極速 PD (Extreme PD): 頂級性能。

網路介面 (Network Interfaces)

每個 VM 至少有一個網路介面 (nic0)。

  • 內部 IP (Internal IP): 在 VPC 內部通信。
  • 外部 IP (External IP): 與網際網路通信(可以是靜態或臨時 Ephemeral)。

管理自定義映像檔與快照

這是確保數據安全與環境一致性的關鍵。

快照 (Snapshots)

快照是增量備份 (Incremental),這意味著只有自上次快照以來更改的數據塊才會被儲存,這大大節省了儲存成本和時間。快照通常用於備份和災難恢復。 Source ↗

自定義映像檔 (Custom Images)

如果你配置好了一個環境(安裝了軟體、修改了設定),你可以將磁碟製作成映像檔。

  • 用途:作為執行個體範本的基礎,用於在大規模環境中部署一致的機器。

執行個體範本與中繼資料

執行個體範本 (Instance Templates)

這是一個不可變 (Immutable) 的資源,定義了 VM 的所有屬性(機器類型、映像檔、標籤、腳本等)。它不屬於特定區域,是全域資源。

中繼資料與啟動腳本 (Metadata and Startup Scripts)

  • 中繼資料 (Metadata): 用於向 VM 傳遞資訊(鍵值對)。
  • 啟動腳本 (Startup Scripts): 在 VM 啟動時自動執行的腳本。例如自動更新系統或安裝 Nginx。

如果你需要在 100 台機器啟動時自動安裝軟體,你應該在執行個體範本中定義啟動腳本 (Startup Script)。 Source ↗

VM 執行個體的生命週期

理解 VM 的狀態對於故障排除至關重要:

  1. PROVISIONING (配置中):正在分配資源。
  2. STAGING (準備中):正在準備啟動(加載映像檔)。
  3. RUNNING (執行中):正常執行(開始計費)。
  4. STOPPING (停止中):正在關閉。
  5. TERMINATED (已終止):已關閉,但不計運算費(仍計儲存費)。

考試陷阱:TERMINATED 狀態的 VM 不會產生 CPU/RAM 費用,但關聯的永久磁碟和靜態 IP 仍會持續計費。 Source ↗

搶佔式 VM 與 Spot VM (Preemptible VMs & Spot VMs)

為了節省成本,Google 提供了閒置資源的折扣。

  • Spot VM: 折扣高達 60-91%。缺點是 Google 隨時可能收回資源(提供 30 秒通知)。
  • 適用場景:批處理、容錯性強的任務。

ACE 必背的成本優化數字:Spot VM 折扣最高 91%,但 Google 隨時可以收回;Sustained Use Discount 在 VM 執行超過一個月的 25% 後自動套用;Committed Use Discount 則需要承諾 1 年或 3 年的固定 vCPU 與 RAM 用量。 Source ↗

透過 gcloud CLI 管理運算資源

# 建立一個 VM
gcloud compute instances create my-vm \
    --zone=us-central1-a \
    --machine-type=e2-medium \
    --image-family=debian-11 \
    --image-project=debian-cloud

# 建立快照
gcloud compute disks snapshot MY_DISK_NAME --snapshot-names=my-backup

# 調整機器類型(必須先停止 VM)
gcloud compute instances set-machine-type my-vm --machine-type=e2-standard-4

要用 gcloud compute instances set-machine-type 調整 VM 規格(例如從 e2-medium 換成記憶體最佳化的 M3),必須先 STOP 該執行個體 — Compute Engine 在 RUNNING 狀態下會拒絕這個呼叫。這也是為什麼 ACE 情境題裡「替正在執行的 VM 加 RAM」標準答案永遠是 Stop -> 修改 machine type -> Start,沒有 live-resize 這個選項。 Source ↗

Compute Engine 的最佳實務

  1. 使用受管執行個體群組 (MIG):實現自動縮放與自動修復。
  2. 定期清理未使用的快照:雖然是增量的,但積少成多。
  3. 優先使用 Shielded VM:增強安全性。
  4. 利用標籤 (Labels):方便成本追蹤。

ACE 的常見運算情境

  • 情境:你需要確保即便數據中心失火,你的數據也不會丟失。
    • 解決方案:定期將快照儲存在不同的區域 (Region),或者使用多區域 (Multi-regional) 儲存。
  • 情境:你需要修改一台正在執行的 VM 的機器類型。
    • 解決方案:必須先 Stop (停止) VM,修改屬性,然後再 Start (啟動)

常見問題 (FAQ)

問:永久磁碟 (Persistent Disk) 可以同時掛載給多台 VM 嗎? 答:可以,但前提是必須以 唯讀 (Read-Only) 模式掛載。

問:什麼是區域永久磁碟 (Regional Persistent Disk)? 答:這類磁碟會同步複製到同一個區域內的兩個可用區,提供更高的可用性。

問:什麼是 Local SSD? 答:這是物理連接到主機的磁碟,速度極快但數據是臨時的。如果 VM 停止或刪除,數據會消失。

問:我可以更改現有 VM 的可用區 (Zone) 嗎? 答:不能直接更改。你必須製作快照,然後在新的可用區利用快照建立新磁碟並建立 VM。

問:什麼是單租戶節點 (Sole-tenant nodes)? 答:這讓你租用整台物理伺服器,不與其他客戶共享硬體,通常用於合規性或特定的軟體授權需求。

ACE 總結清單

  • 區分 E2, C2, M2 的適用場景。
  • 理解快照 (增量備份) 與映像檔 (部署模版) 的差異。
  • 知道 gcloud compute instances create 的基本參數。
  • 明白 VM 停止後哪些資源還在計費。
  • 熟悉啟動腳本 (Startup Script) 的用途。

官方資料來源

更多 ACE 主題