Amazon SOA-C02: 部署、佈建與自動化 — 學習指南
屬於 AWS SysOps Administrator Associate SOA-C02 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.
AWS Systems Manager automation、Run Command 與修補
Systems Manager (SSM) 將維運任務集中化:Run Command 用於執行臨時指令、State Manager 用於維持期望狀態、Patch Manager 用於排程作業系統修補,而 Automation 則用於複雜的工作流程。常見的 CLI 模式:
- 傳送臨時指令:
undefined
- 啟動預先定義的自動化:
undefined
- 使用 State Manager 的關聯 (association) 來強制執行組態設定 (例如 SSM Agent 設定、cron jobs),並使用 Patch Manager 的基準 (baseline) 來設定核准規則與合規性掃描。
組態細節與決策要點:
- 使用 Patch Manager 搭配 Baselines 與 Maintenance Windows 來進行可預測且合規的修補作業;若採用不可變策略,請選擇自動核准天數並拒絕未經核准的 AMI 映像檔。
- 對於沒有 SSM agent 或網路連線受限的執行個體,可考慮使用帶有 VPC 端點的 Session Manager,以避免開啟 SSH 連接埠。
- 務必為 SSM 存取設定一個帶有 AmazonSSMManagedInstanceCore 政策的 instance profile;並根據需要限縮額外權限的範圍。
變更管理、漂移偵測與回滾
實作整合了管線執行、標籤與核准的變更控制流程。使用 CloudFormation change sets 來預覽差異,並用 stack policies 來拒絕破壞性的更新。CLI 模式:
- 偵測漂移:
undefined
與
undefined
- 在更新期間使用堆疊政策 (stack policy) 保護關鍵資源,並設定帶有回滾觸發器的 RollbackConfiguration,以便在更新失敗時收到通知。
回滾策略:
- 對於 CloudFormation:失敗時自動回滾是預設行為;在需要時使用回滾觸發器並保留資源。
- 對於應用程式:偏好採用藍/綠或金絲雀部署,並搭配流量轉移,以便透過重新調整 ALB/Route 53 的權重或恢復先前的任務集來達成即時回滾。
- 維護不可變的產物 (AMI ID、容器映像檔),並在登錄檔/SSM 中保留先前的版本,使回滾是可預測的。
決策標準:
- 如果涉及具狀態的資料遷移,應包含可逆的遷移腳本,或使用功能旗標 (feature flags) 來將程式碼發布與資料庫結構遷移分開。
- 使用部署健康狀態檢查與自動化的煙霧測試 (smoke tests) 作為管線的閘門,以儘早觸發回滾。
常見陷阱與決策標準
- 手動透過主控台進行帶外變更,導致 IaC 狀態漂移:強制執行漂移偵測 (
undefined
),並要求透過 IaC 範本來套用修復;使用 IAM 控制來限制主控台編輯。
- 發布版本沒有安全的回滾計畫:採用藍/綠或金絲雀部署,並保留先前的產物/AMI 以供使用,以便能即時還原。
- 管線與角色的 IAM 權限過於寬鬆:採用最低權限原則;拆分角色 (管線服務角色、建置角色、執行個體設定檔),並且只授予必要的
undefined
、
undefined
、
undefined
與 S3 存取權限。
- 直接在範本或純文字中儲存機敏資訊:將機敏資訊移至 Secrets Manager 或 SecureString 類型的 SSM Parameter Store,並在部署時透過適當的解密權限來參考它們。
- 未經測試就直接對生產環境進行原地修補 (in-place patching):在 CI 流程中用更新的套件預先烘焙 AMI 並進行煙霧測試,然後透過 ASG 或藍/綠管線推出不可變的映像檔。
- 忽略漂移與具狀態資源的保護:使用堆疊政策並定期偵測漂移;對於具狀態的資源,在進行破壞性變更前,要求手動核准與快照。
實務問題:使用情境
Acme Payments 公司必須部署一個符合 PCI 規範的 API 服務,套用每月作業系統修補程式,並且在部署於營業時間內引發錯誤時能夠快速回滾。
- 實作一個不可變的管線:使用 CodePipeline/CodeBuild 搭配 EC2 Image Builder (或 Packer) 來烘焙 AMI,為 AMI 加上標籤,並將 AMI ID 發布到 SSM Parameter Store。
- 透過 CloudFormation 範本進行部署,範本中參考 SSM 參數以取得 AMI,並為每個版本建立新的 ASG + Launch Template 版本;使用 change sets 進行執行前的審查。
- 使用 CodeDeploy 或 ALB target-group 的藍/綠部署流量轉移,並搭配健康狀態檢查與自動化的煙霧測試;設定在健康狀態檢查失敗時自動回滾。
- 透過 Systems Manager Maintenance Windows 來排程 Patch Manager,在非尖峰時段套用修補程式;對修補後的映像檔進行烘焙與部署 (bake-and-deploy),以避免對生產環境進行原地修補。
- 為管線角色強制執行最低權限的 IAM,將機敏資訊儲存在 Secrets Manager,並為關鍵資源啟用 CloudFormation 漂移偵測與堆疊政策。
基本原理:烘焙映像檔並以不可變的方式部署,可以將建置與執行的關注點分離,從而提供可重現的產物與安全的回滾路徑;透過 SSM 進行自動化修補,再加上不可變的部署方式,可以在維持可恢復性的同時,將風險降至最低並支援合規性。
← 高可用性、容錯與災難復原 · 所有領域 · 安全性、身分與合規性 →
練習這些題目 → · 在 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.
通過考試 →