Google ACE: Compute Engine 與虛擬機器操作 — 學習指南
屬於 Google Associate Cloud Engineer — 學習指南. 使用經過驗證的解答練習: Google 考試中心, 或參加限時模擬考試: ExamRoll.io.
總覽
Compute Engine 提供彈性、高效能的虛擬機器與協同運作原語 (orchestration primitives),以執行通用型與特殊用途的工作負載。在 Compute Engine 上實現卓越營運代表著選擇正確的機器系列與磁碟、使用範本和執行個體群組來塑造執行個體生命週期、建立穩健的自動修復與自動擴展機制、強化存取路徑,並透過可重複的復原程序為故障模式做好準備。本節將說明各種設計選擇、權衡取捨以及操作模式,以期將瑣碎工作 (toil) 降至最低,並將可靠性與成本效益最大化。
機器類型、規模調整與執行個體生命週期
機器系列
- 通用型 (General-purpose):E2 (成本最佳化)、N2 (平衡型)、N2D (基於 AMD)、Tau T2D/T2A (適用於向外擴展的高性價比),適合大多數工作負載。
- 運算最佳化 (Compute-optimized):C3 適用於 CPU 密集型任務;當您需要高單核效能時選用。
- 記憶體最佳化 (Memory-optimized):M 系列適用於記憶體內資料庫與分析。
- GPU 與加速器:當您需要 CUDA 或機器學習 (ML) 加速時,可將其附加到支援的系列上;請確保驅動程式的初始化已包含在啟動程序中。
自訂機器類型
- 使用自訂 vCPU 與記憶體來適當調整工作負載規模並減少浪費,特別是對於非對稱需求 (例如,記憶體需求高但 CPU 需求中等) 的情況。
- 對於 CPU 密集型服務,偏好使用較高的 vCPU 數量;對於記憶體密集型服務,則增加 RAM 並確保垃圾回收器與快取都經過調校。
- 注意與核心數綁定的授權模式;自訂類型有助於避免不必要的授權核心。
工作負載規模調整
- 從開發或先前環境中測得的資源輪廓開始:P95 的 CPU 使用率、記憶體高水位標記 (high-water mark)、磁碟吞吐量/IOPS、網路頻寬。
- 對於突發流量,規劃預留空間 (headroom) 或使用自動擴展;對於穩定狀態,目標是在尖峰時段將使用率維持在 60–70%,以平衡成本與彈性。
- 評估使用 Spot VM (可搶佔) 執行批次與容錯作業;它們隨時可能被終止,因此設計時需包含檢查點 (checkpointing) 與重試機制。
執行個體生命週期資源
- VM 執行個體 (VM instances):最基本的運算資源。使用標籤與一致的命名來驅動自動化。
- 執行個體範本 (Instance templates):不可變的藍圖,其中包含機器類型、磁碟、服務帳戶、中繼資料與啟動指令碼;它們是託管式執行個體群組的基礎,可確保可重複的部署。
- 託管式執行個體群組 (MIGs):提供宣告式規模、自動擴展、自動修復、滾動更新、區域性 (多可用區) 放置以及個別執行個體設定。對於無狀態與有狀態模式,都應優先選用 MIGs (有狀態 MIGs 會保留指定的磁碟/IP)。
- 非託管式執行個體群組:用於對舊有組合進行負載平衡的簡單集合;缺乏自動擴展/自動修復功能。僅在需要註冊獨立管理的 VM 時使用。
可用性、自動擴展與維護
自動擴展
- 訊號 (Signals):CPU 使用率、每個執行個體的 HTTP 負載平衡器每秒請求數、Cloud Monitoring 指標以及佇列深度。選擇與飽和度高度相關的訊號;對於同質性的 CPU 密集型工作負載,CPU 是一個很好的基準。
- 冷卻與穩定期間 (Cooldowns and stabilization):進行設定以防止系統抖動 (thrashing)。如果您的應用程式需要數分鐘才能暖機,請增加 MIG 的初始延遲時間,並設定適當的自動擴展冷卻時間。
- 單一執行個體模式 (Exact-one patterns):若要強制只存在一個 VM,請在 MIG 上將自動擴展的 min 設為 1、max 設為 1。這能在啟用自動修復的同時,維持其健康狀態。
自動修復與健康狀態檢查
- 健康狀態檢查 (Health checks):使用 HTTP(S) 檢查來確認應用程式的存活性 (liveness);TCP 僅驗證通訊端 (socket) 是否接受連線。實作一個能檢測關鍵相依項目的健康狀態端點。
- 閾值與間隔 (Thresholds and intervals):調整檢查間隔與閾值,以便在不產生誤報的情況下快速偵測故障。
- 初始延遲 (Initial delay):將 MIG 自動修復的初始延遲設定得足夠長,以涵蓋啟動與暖機時間,避免過早替換正在上線的健康執行個體。
- 故障模式:設定錯誤的健康狀態端點和過短的初始延遲會導致系統不穩定 (flapping) 與過度佈建。
區域性 MIGs 與放置
- 區域性 MIGs (Regional MIGs) 會將執行個體分佈在一個區域內的多個可用區,提供可用區層級的容錯能力。根據容量規劃,選擇每個可用區的目標副本數量。
- 當需要保留磁碟或 IP 時,使用個別執行個體設定與有狀態政策;請理解,由於狀態協調 (state reconciliation) 的關係,替換 VM 的速度可能會較慢。
維護、即時遷移與預留
- 即時遷移 (Live migration):大多數 VM 的預設行為;在主機維護期間,執行個體會被移動而無需重新啟動。對於無法容忍遷移的工作負載 (例如,對延遲敏感的高頻交易 HFT),請將維護政策設定為終止 (terminate),並依賴自動修復機制。
- 透過即時遷移,主機維護時段對使用者是透明的,但仍會產生事件;請進行監控與測試。
- 預留 (Reservations):建立可用區級的預留,以保證關鍵發布或嚴格 SLO 所需的容量。根據您的治理策略,套用「特定 (specific)」或「任何 (any)」預留使用方式。
- 預留是容量保證;可與承諾使用折扣 (committed use discounts) 搭配使用以進行成本規劃。
儲存、映像檔與效能
永久磁碟
- 類型:標準 (HDD) 適用於低成本的循序傳輸量;平衡 (pd-balanced) 適用於一般用途;SSD (pd-ssd) 適用於高 IOPS/低延遲;極致 (pd-extreme) 適用於高效能層級中佈建的 IOPS 與傳輸量。區域永久磁碟提供跨可用區的同步複製,以提高可用性。
- 對於標準、平衡和 SSD 磁碟,效能會隨著磁碟大小而擴展;預先調整大小以滿足尖峰 IOPS/傳輸量需求,或使用極致磁碟來明確佈建。
- 多重掛接唯讀模式允許在多個 VM 之間共享資料集;需相應地協調存取與快取層。
本機 SSD
- 暫時性儲存,直接附加到主機上,提供極高的 IOPS/極低的延遲。資料會在停止/終止/遷移時遺失。可用於暫存空間、快取和複製資料層。需確保應用程式層級的複製或檢查點機制。
快照與映像檔
- 快照是永久磁碟的增量式時間點備份;使用 Resource Manager 或 gcloud 進行排程以滿足 RPO。跨區域儲存支援災難復原 (DR)。
- 映像檔會擷取開機磁碟及設定。維護一個強化且經修補程式管理的映像檔管道。在您的黃金映像檔中驗證客體代理程式 (用於記錄/監控)。
- 還原模式:為實現快速復原,請保持基礎映像檔小巧,並透過啟動指令碼或 cloud-init 設定其餘部分;這能減少偏差並加速更新。
磁碟選擇:權衡取捨與故障模式
- 佈建不足的磁碟會節流應用程式的傳輸量;過度佈建則會浪費成本。測量實際的 I/O 特性,並選擇能滿足尖峰需求且留有餘裕的最小磁碟。
- 對於資料庫,請考慮使用區域永久磁碟和 pd-ssd/pd-extreme;驗證 fsync 行為和佇列深度。除非有複寫機制,否則應避免使用本機 SSD 來儲存持久狀態。
存取、安全性、網路與特殊工作負載
Linux 與 Windows 管理
- Linux SSH:優先使用 OS Login 來集中管理 SSH 授權,並將存取權歸因於身分。將
undefined
或
undefined
授予群組,而非個人。
- Windows RDP:在主控台或透過 gcloud 設定 Windows 憑證;確保防火牆規則僅允許來自受信任 IP 的 TCP 3389 連線。使用 IAP TCP 轉送以避免暴露於公用網路。
- 序列控制台:啟用作為緊急應變途徑;使用
undefined
進行開機偵錯。使用 IAM 限制並稽核其存取。
SSH、OS Login 與金鑰管理
- 在專案或執行個體層級,透過中繼資料
undefined
來啟用 OS Login。使用者將其 SSH 公鑰新增至其 Google 帳戶;IAM 則控制基於角色的存取。
- 若需 sudo/root 權限,請使用
undefined
。若使用 OS Login,請停用專案範圍的 SSH 金鑰以防止偏差。
中繼資料、啟動指令碼與 cloud-init
- 中繼資料伺服器提供執行個體/專案資料和服務帳戶權杖。僅使用範圍界定明確的權杖;切勿將密鑰寫死在程式碼中。
- 啟動指令碼與 cloud-init:用於啟動代理程式、擷取設定檔及註冊服務。讓指令碼具備冪等性,並將日誌寫入序列控制台以供診斷。
- 個別執行個體的中繼資料可以覆寫範本設定;請謹慎使用以避免設定偏斜。
服務帳戶與範圍
- 為每個工作負載指派一個專用的服務帳戶,並在所需資源上(例如,特定儲存桶上的
undefined
)授予最低權限的 IAM 角色。
- 僅在 IAM 嚴格控制存取權時,才考慮使用較廣泛的 Cloud API 範圍;否則應將範圍限制在最低限度的 API。
網路與位址
- 網路介面卡 (NIC) 可以有僅限內部或外部的 IP。優先使用私有 VM,並搭配 Cloud NAT 或 IAP 進行對外連線和管理存取。
- 為授權伺服器等穩定端點保留靜態內部 IP;避免依賴臨時位址。
- 外部 HTTP(S) 負載平衡會在邊緣終止 TLS;對後端 MIG 使用代管憑證和健康狀態檢查。保持後端整備度與健康狀態檢查及 MIG 的初始延遲一致。
特殊工作負載與隔離
- Shielded VM:安全啟動、vTPM 與完整性監控可緩解 rootkit 攻擊;除非有不相容的驅動程式,否則應預設啟用。
- Confidential VM:使用 AMD SEV 的記憶體加密可保護使用中的資料;通常對效能影響極小,但對於延遲敏感的應用程式需進行驗證。
- 單一租戶節點:專用的實體主機,用於滿足合規性、吵雜鄰居隔離和授權親和性需求。需規劃容量碎片化問題及較高的成本。
← 資源階層、IAM 與帳務管理 · 所有領域 · 容器、應用程式託管與無伺服器平台 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →