跳至主要內容
ESC
pca-architect-journey — 第 13/13 篇

PCA 架構之旅 13 — 安全與成本

PCA

走到第 13 步,架構的骨架都立起來了。剩下最後兩件事,卻往往決定一個架構「會不會被老闆簽核」:安全讓它不會出事、成本讓它不會被裁掉。

PCA 考試的一整題 case study,分數配置通常安全佔不少、成本佔更多。而且這兩個總是綁在一起:便宜但不安全的設計不會過,安全但超預算的設計一樣不會過。


為什麼這一步重要

PCA case study 裡,安全與成本的考題長這樣:

  • 「開發團隊不應該看得到 production 的資料」→ IAM 分離
  • 「PCI-DSS 合規、金流資料不能外流」→ VPC Service Controls
  • 「老闆說這個架構每月不得超過 $X」→ 成本估算
  • 「過去三個月帳單暴增 50%,找出原因」→ 成本歸因與最佳化

考生常犯的錯誤:

  1. 用 Owner 或 Editor 角色一把抓:違反最小權限,考題一律錯
  2. 忘記 egress(流出)才是網路成本大頭:region 間傳輸、出到 internet 的費用容易超支
  3. 成本只算 compute 忘記 data transfer 與 storage:真實帳單通常是好幾項加起來的

核心概念

安全的五層

層級GCP 工具對應威脅
身分與存取IAM、Workload Identity、Service Account權限外洩、內部濫權
網路邊界VPC firewall、Cloud Armor、Private Google AccessDDoS、SQL injection、路由暴露
資料保護CMEK(客戶管理金鑰)、Secret Manager、DLP API資料外流、金鑰管理
服務邊界VPC Service Controls、Shared VPCAPI 資料外洩、跨團隊隔離
監控與稽核Cloud Audit Logs、Security Command Center異常行為偵測、合規稽核

兩個 PCA 關鍵原則:

  • 最小權限(Least Privilege):永遠選最窄的 predefined role,必要時才用 custom role。不要給 Owner / Editor
  • 縱深防禦(Defense in Depth):多層防線,某一層被穿破還有下一層頂住

成本的四大成分

成分主導因素降低方式
ComputevCPU、記憶體、執行時數CUD / Sustained Use Discount、Spot VM、Cloud Run
Storage容量、儲存類別、region生命週期規則、Nearline/Coldline/Archive
Data TransferEgress 量(region 間、出 internet)同 region 部署、善用 Cloud CDN、Private Google Access
Managed Services固定月費或量計費用量對齊 SKU、避免過度設計

PCA 要知道的折扣手段:

  • CUD(Committed Use Discounts):承諾 1 年 / 3 年,折扣依機型與 commitment 類型而異。resource-based CUD(一般用途機型)約 1 年 37% / 3 年 55%;spend-based CUD 約 1 年 25% / 3 年 52% 以上
  • Sustained Use Discounts:Compute Engine 跑滿一個月自動折扣,比例依機型而異——多數現行機型(N2/N2D/C2 等)最高約 20%,N1 / sole-tenant 最高 30%;E2 機型(本文成本範例用的 e2-standard-4)不適用 SUD
  • Spot VM:相對標準機型有大幅折扣,但隨時可能被回收,適合 batch / 容錯工作
  • Cloud Storage 儲存類別:Standard → Nearline → Coldline → Archive,資料越少讀越便宜

思考框架

安全先問:

  1. 誰能存取這個資源? 畫出 IAM 對應表,確認每個 principal 只拿需要的 role
  2. 資料會經過哪些網路邊界? 每一段是 public 還是 private?有沒有加密?
  3. 金鑰由誰管? Google-managed(預設)?CMEK?CSEK?
  4. 出事後查得到嗎? Audit logs 是否開啟?retention 多久?

成本再問:

  1. 固定費用 vs 變動費用有多少? 固定費用是底線,變動費用決定尖峰成本
  2. egress 從哪裡來? 跨 region?跨雲?出 internet?這是最大的隱形成本
  3. 哪些資源可以關? 非 production 的 VM 晚上關、dev 環境週末關
  4. 哪些服務可以降級? 是否每個服務都需要 HA?非關鍵的可以單區降成本

走一遍範例 — 登雲書店

安全設計

IAM 角色規劃

角色群組Project授予權限
dev-team@cloudon-devroles/editor(僅限 dev 專案)
dev-team@cloudon-prodroles/viewer(read-only,看 log 除錯)
ops-team@cloudon-prodroles/compute.instanceAdminroles/iam.serviceAccountUser
sre-oncall@cloudon-prod透過 PAM 臨時授予 roles/editor,2 小時過期
billing-admin@組織層roles/billing.admin 僅限 2 位

網路邊界

  • 所有 public 入口走 Global External Application LB + Cloud Armor
  • Cloud Armor 規則:rate limit(每 IP 每分鐘 300 req)+ OWASP Top 10 preconfigured rules + 國家白名單(若業務僅限亞洲)
  • VPC firewall:預設 deny all、明確列出允許的 tag → tag 流向
  • Cloud SQL、Memorystore 一律走 Private Service Access,不給 public IP

金鑰與機密

  • Cloud SQL、Cloud Storage 使用 CMEK(by Cloud KMS)
  • 應用機密(API key、DB password)放 Secret Manager,Pod 透過 Workload Identity 讀取,不寫進 image

服務邊界

  • 金流相關服務用 VPC Service Controls 建 service perimeter,防止資料被 exfiltrate 到外部 GCS bucket
  • Shared VPC:網路由中央網管團隊管(host project),app 團隊只用 service project

成本估算(月費估算邏輯)

⚠️ 以下為公開 pricing 邏輯推估,僅供架構規劃參考;實際以 GCP Pricing Calculator 為準。

類別服務與規格估算邏輯月費級距
ComputeGKE regional cluster,平均 15 個 e2-standard-4 node15 × $100 左右 vCPU/RAM 費$1,500 級距
ComputeCloud Run 後端,月請求 3,000 萬、平均 200ms請求數 × 執行秒數 × 記憶體 三軸計費$300 級距
DatabaseCloud SQL PostgreSQL HA db-custom-4-16 + 2 replicaprimary + HA standby + 2 replica 各自計費$900 級距
DatabaseBigtable 3 節點 SSD asia-east1節點數 × 時數 + 儲存 GB$1,500 級距
StorageCloud Storage 10 TB Standard + 20 TB ColdlineStandard 每 GB 單價遠高於 Coldline$400 級距
NetworkEgress 到 internet 3 TB/月Egress 依流出 region 與量計費$300 級距
CDN/LBGlobal LB + Cloud CDNLB 轉發費 + CDN cache fill / egress$250 級距
監控Cloud Logging + Monitoring + Error Reportinglogs ingest GB 數為主$200 級距

粗估月費區間:約 $5,000 - $6,000 美元級距(未計年度承諾折扣)

最佳化手段

  • GKE node 使用 3 年 CUD:compute 部分可省約 55%(resource-based、一般用途機型,與上方折扣口徑一致)
  • 開發環境 Cloud Run min instances 設 0(冷啟動換成本)
  • Bigtable 非尖峰時段腳本自動縮節點
  • Cloud Storage 加 lifecycle rule:30 天 → Nearline、90 天 → Coldline、365 天 → Archive

PCA case study 常見追問

「如果預算砍半怎麼辦?」思路:先砍 DR 層級(從 warm standby 降到 pilot light)、Bigtable 換成單一 Cloud SQL read replica 處理分析、GKE 改 Cloud Run 節省空轉。不能砍:IAM 最小權限、加密、audit log。


常見陷阱

  1. Custom IAM role 設錯權限範圍:custom role 在 org、folder、project 層級有不同影響範圍。給 project owner 等級的 custom role 卻忘了某個敏感 permission(例如 iam.serviceAccounts.actAs)會被考題抓出來。
  2. 忘記計算 log ingest 費用:GKE 開 debug log、把應用 INFO 全部 ingest 進 Cloud Logging,一個月可能就累積數 TB,帳單驚人。要設 log exclusion filter,只存有用的。
  3. Shared VPC 跟 VPC Service Controls 混用錯:Shared VPC 是網路資源共用(host project + service project);VPC Service Controls 是 API 呼叫邊界(限制資料外洩)。兩者互補不互斥,考題會用其中一個試你分得清嗎。

延伸閱讀


系列導航

13 步走完了。從搞懂業務需求一路收斂到成本表,你手上拿到的不只是一張架構圖,而是一套可以在 PCA 案例題上重複用的思考流程。接下來就是多做幾次真實的 case study 練習,把這套流程跑順。練到夠熟,考場上每一題都會變成你做過的步驟。

🎯 換你練習

理論讀完,換自己來。到 架構師設計工作坊 · 步驟 13 填入你的 case study,邊寫邊內化。

pca-architect-journey — 13/13 完成 查看系列全覽 →

留言討論

徽章解鎖!