Compute — EC2、成本優化、容器服務、Lambda、Elastic Beanstalk。針對 AWS Certified Cloud Practitioner 考試整理重點與常見誤區。

# 6.1 計算服務概覽

生活比喻

你想吃一頓飯,有幾種做法: 自己買菜下廚 (EC2)—— 最自由,但要自己洗菜、開火、洗碗; 買半成品調理包 (Elastic Beanstalk)—— 你只管拆封加熱,廚房的事有人幫你打理好; 叫外送 (Lambda)—— 你連廚房都不用有,想吃才叫,吃完不用收拾; 用便當盒統一裝好帶走 (容器)—— 不管在哪裡吃,打開都是同一份東西。這一整個單元就是在講「你想自己扛多少事」。

AWS 的計算服務可以依照「你要管多少」分成三個層次,這是本單元最重要的骨架:

類型代表服務你要管的事適用情境
虛擬機器 (IaaS)Amazon EC2作業系統、修補、擴展、容量規劃全都自己來需要完整控制權、既有應用直接搬遷 (lift-and-shift)
容器ECS / EKS / Fargate管容器映像檔與設定;用 Fargate 就不用管底層伺服器微服務架構、需要環境一致性與快速啟動
無伺服器 (Serverless)AWS Lambda只管你的程式碼,伺服器完全由 AWS 處理事件驅動、短時間執行、流量不固定的工作
平台服務 (PaaS)AWS Elastic Beanstalk只上傳程式碼,部署與擴展由 AWS 自動處理想快速部署網站或 API, 不想碰基礎設施設定

考試重點

考題最常考的是「哪個服務最適合這個情境」。判斷關鍵字: 要完全控制作業系統 → EC2; 事件驅動、短暫執行、不想管伺服器 → Lambda; 只想上傳程式碼快速部署 → Elastic Beanstalk; 要跑 Docker 容器但不想管底層機器 → Fargate

# 6.2–6.4 Amazon EC2

定義

Amazon EC2(Elastic Compute Cloud): 在雲端上租用的虛擬伺服器。你可以自選作業系統、CPU 與記憶體大小、儲存空間與網路設定,幾分鐘內開機,用多久算多久。

# 啟動一台 EC2 需要決定什麼

決定項目說明
AMI (Amazon Machine Image)機器的「範本」, 包含作業系統與預裝軟體。可用 AWS 提供的、Marketplace 的、社群的,或自己建立的
執行個體類型 (Instance Type)決定 CPU、記憶體、網路效能的規格組合,例如 t3.microm5.large
網路設定要放在哪個 VPC、哪個子網路、要不要公有 IP
安全群組 (Security Group)這台機器的虛擬防火牆,決定誰能連進來
金鑰對 (Key Pair)SSH 登入用的公私鑰; 私鑰只在建立當下能下載一次,遺失無法補發
儲存 (EBS Volume)掛載給這台機器用的硬碟
使用者資料 (User Data)開機時自動執行的腳本,常用於安裝軟體、初始化設定

# 執行個體系列 (Instance Families)

不同類型的工作需要不同的硬體比例,AWS 用字母開頭區分:

系列優化方向典型用途
通用型 (T、M)CPU、記憶體、網路均衡網頁伺服器、開發測試環境
運算優化型 (C)高效能 CPU批次運算、高效能運算、遊戲伺服器
記憶體優化型 (R、X)大量記憶體記憶體內資料庫、大型快取
加速運算型 (P、G)GPU / 專用硬體機器學習訓練、圖形渲染
儲存優化型 (I、D)高速本機儲存與 IOPS大型資料庫、資料倉儲

# 執行個體生命週期與計費

  • Running (執行中): 正常計費
  • Stopped (已停止): 不收運算費用,但掛載的 EBS 磁碟仍會收儲存費
  • Terminated (已終止): 機器被刪除,無法復原
  • Linux 與 Windows 執行個體採按秒計費 (最低 60 秒), 部分其他作業系統為按小時計費

常見誤區

「停止 (Stop)」不等於「不用付錢」。EC2 停止後運算費用確實不收,但 EBS 磁碟還在、還在佔空間,所以儲存費照收。要完全停止付費,得把執行個體 Terminate 並刪除相關磁碟。這是考試與實際帳單上都很常踩的坑。

# 6.5 Amazon EC2 成本優化

生活比喻

租車有幾種方式: 臨時租、隨租隨還 (On-Demand) 最貴但最彈性; 簽一年約 (Reserved / Savings Plans) 便宜很多但得綁約; 撿人家臨時退掉的空車 (Spot) 超便宜,但車行隨時可能把車收回去; 包整個車庫 (Dedicated Host) 最貴,但那塊地方只有你能用。

購買選項折扣幅度特性適用情境
On-Demand (隨需)無折扣 (基準價)用多久付多久,不必預先承諾短期、不可預測、首次上線測試
Reserved Instances (預留執行個體)最高約 72%承諾 1 年或 3 年;可選預付程度穩定長期執行的工作負載
Savings Plans (節省方案)最高約 72%承諾「每小時花多少錢」而非綁定特定機型,彈性較高長期使用但機型可能會變動
Spot Instances (競價執行個體)最高約 90%AWS 可隨時回收 (提前約 2 分鐘通知)可中斷的批次運算、資料分析、CI 建置
Dedicated Hosts (專用主機)最貴整台實體伺服器專屬於你軟體授權綁定實體機、法規要求實體隔離

考試重點

Spot 的關鍵字是「可容忍中斷」—— 凡是題目說「工作可以中斷後重跑」、「批次處理」、「想要最大折扣」, 答案就是 Spot。反過來,如果題目說「不能中斷的正式環境資料庫」, 那 Spot 就是錯誤選項。Dedicated Host 的關鍵字則是「既有軟體授權」與「實體隔離的法規要求」

# 四大成本優化策略

  • 合適大小 (Right sizing): 用 CloudWatch 監控實際用量,別開太大的機器
  • 增加彈性 (Elasticity): 用 Auto Scaling 在離峰時自動縮減,不用整天開著
  • 選對定價模式:穩定負載用 Reserved / Savings Plans, 可中斷工作用 Spot
  • 衡量與監控:持續用 Cost Explorer、Trusted Advisor 檢視有沒有閒置資源

# 6.6 容器服務

生活比喻

容器就像便當盒:把程式和它需要的東西 (函式庫、設定) 一起打包好,不管拿到哪台機器上打開,內容都一模一樣,不會出現「在我電腦上跑得好好的啊」這種問題。虛擬機器 (EC2) 是連整間廚房一起搬走,容器只搬那個便當盒 —— 所以更輕、啟動更快。

服務做什麼白話理解
Amazon ECSAWS 自家的容器編排服務負責決定「哪個便當該放到哪台機器上、掛了要重開」的排程管理員
Amazon EKSAWS 代管的 Kubernetes 服務同樣是排程管理員,但用的是業界標準的 Kubernetes, 方便跨雲遷移
AWS Fargate容器的無伺服器運算引擎可搭配 ECS 或 EKS 使用; 你不用管底層 EC2 機器,AWS 全包
Amazon ECR容器映像檔的儲存庫存放便當盒設計圖的倉庫,類似 Docker Hub 但在 AWS 內

考試重點

ECS 與 EKS 都是「編排 (orchestration)」服務,Fargate 是「執行模式」而不是編排服務 —— 它跟 ECS/EKS 是搭配關係,不是替代關係。題目若說「要跑容器,但完全不想管理伺服器」, 答案指向 Fargate; 若說「已經在用 Kubernetes, 想搬到 AWS」, 答案是 EKS

# 6.7 AWS Lambda

生活比喻

Lambda 像是「感應式電燈」: 平常完全不耗電,有人走過 (事件發生) 才亮起來,人走了就自動關掉。你不需要有一台整天開著的伺服器在那邊待命,也不用為了沒人使用的時間付錢。

定義

AWS Lambda: 無伺服器 (serverless) 運算服務。你只上傳程式碼 (函式), 由事件觸發執行,AWS 自動處理伺服器配置、擴展與可用性。「無伺服器」不是真的沒有伺服器,而是你不需要管理伺服器

# 核心特性

  • 事件驅動:可由 S3 檔案上傳、API Gateway 請求、DynamoDB 資料變更、排程等觸發
  • 單次執行最長 15 分鐘 —— 這是重要的限制,長時間運行的工作不適合 Lambda
  • 自動擴展:同時進來一千個請求就自動跑一千份,不用自己設定擴展規則
  • 計費方式:依「請求次數」加上「執行時間 × 配置的記憶體」計算; 閒置時完全不收費

考試重點

Lambda 的 15 分鐘上限幾乎必考。題目若描述「需要連續跑好幾個小時的資料處理」,Lambda 就是錯的,該用 EC2 或 AWS Batch。另一個高頻考點是計費邏輯:Lambda 沒有請求時不收任何費用,這是它跟「開著就要付錢」的 EC2 最大的差異。

# 6.8 AWS Elastic Beanstalk

生活比喻

Elastic Beanstalk 像是交給裝潢統包商:你只要說「我要一間咖啡廳」, 水電、隔間、招牌他全部幫你搞定。但如果你之後想自己動手改牆壁,鑰匙也還是在你手上 —— 底層開出來的 EC2、負載平衡器你依然看得到、改得動。

  • 你只需要上傳程式碼,Elastic Beanstalk 自動處理容量配置、負載平衡、Auto Scaling 與應用程式健康監控
  • 支援多種語言與平台:Java、.NET、PHP、Node.js、Python、Ruby、Go、Docker
  • Elastic Beanstalk 本身完全免費,你只需要為它幫你開出來的底層資源 (EC2、EBS、ELB 等) 付費
  • 你仍保有對底層 AWS 資源的完整控制權,可隨時自行調整

考試重點

「Elastic Beanstalk 要多少錢?」—— 答案是服務本身不收費,只收底層資源的費用。另一個常考的區辨是它跟 Lambda 的差別:Beanstalk 底下還是有一直開著的伺服器 (所以持續計費),Lambda 則是沒事件就不跑也不收費

# 6.9 服務詞彙速查

名稱一句話定義
EC2雲端上的虛擬伺服器,控制權最高
AMI建立 EC2 用的機器範本 (含作業系統與軟體)
EBS掛載給 EC2 使用的區塊儲存磁碟
User DataEC2 開機時自動執行的初始化腳本
Spot Instance最高省 90% 但可能被回收的執行個體
Savings Plans承諾每小時花費金額以換取折扣的方案
ECS / EKS容器編排服務 (自家 / Kubernetes)
Fargate免管理伺服器的容器執行引擎
ECR容器映像檔儲存庫
Lambda事件驅動的無伺服器函式運算
Elastic Beanstalk上傳程式碼即自動部署的平台服務

# 重點回顧

  • 計算服務依「你管多少」排序:EC2 (全都自己管)→ 容器 (管映像檔)→ Beanstalk (只管程式碼與部署)→ Lambda (只管程式碼)。
  • EC2 停止後不收運算費,但 EBS 儲存費照收;Terminate 才是真正結束。
  • 五種購買選項:On-Demand (彈性)、Reserved / Savings Plans (長期折扣)、Spot (最省但可被回收)、Dedicated Host (實體隔離)。
  • ECS / EKS 是編排,Fargate 是「不用管伺服器」的執行模式,兩者搭配使用。
  • Lambda 事件驅動、單次最長 15 分鐘、閒置不收費;Elastic Beanstalk 服務免費,只付底層資源。

# 自我測驗

EC2 執行個體「停止(Stopped)」之後,還會產生哪些費用?

答:掛載的 EBS 磁碟儲存費用仍會持續計費。 運算費用會停止,但磁碟還佔用空間,所以儲存費照收。

一個可以中斷、重跑也沒關係的批次運算工作,用哪種購買選項最省錢?

答:Spot Instances。 最高可省約 90%, 代價是 AWS 可能隨時回收 (會提前約 2 分鐘通知), 所以只適合可容忍中斷的工作。

AWS Lambda 單次執行的時間上限是多久?

答:15 分鐘。 超過這個時間的工作不適合用 Lambda, 應改用 EC2、AWS Batch 或容器服務。

想跑 Docker 容器,但完全不想管理底層伺服器,該用什麼?

答:AWS Fargate。 它可以搭配 ECS 或 EKS 使用,由 AWS 負責底層運算資源,你只需定義容器。

使用 AWS Elastic Beanstalk 需要付服務費嗎?

答:不用。 Elastic Beanstalk 本身免費,你只需要為它自動建立的底層資源 (EC2、ELB、EBS 等) 付費。

EC2 開機時要自動安裝軟體、執行初始化設定,該用什麼機制?

答:User Data。 在啟動執行個體時提供的腳本,會在第一次開機時自動執行。