Amazon DOP-C02: Systems Manager、修補與維運自動化 — 學習指南
屬於 AWS DevOps Engineer Professional DOP-C02 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.
總覽
AWS 上的營運自動化以 AWS Systems Manager 為核心,它統一了 EC2、本地伺服器和邊緣環境的存取控制、組態、修補和修復。周邊服務提供了黃金映像檔管道 (EC2 Image Builder)、授權治理 (AWS License Manager)、持續優化 (AWS Trusted Advisor 和 AWS Compute Optimizer) 以及成本控制 (Savings Plans)。其目標是實現標準化、可稽核、事件驅動且可跨帳戶和區域強制執行的營運。
Systems Manager 存取、參數、清查與合規
Systems Manager Session Manager 為受管執行個體提供互動式、可稽核的 shell 存取,無需開啟傳入連接埠或管理 SSH 金鑰。您可以透過 AWS 控制平面進行連線,也可選擇透過 VPC 介面端點實現私有連線。連接埠轉送能夠安全地存取執行個體背後的本機或遠端服務:
- 本機連接埠轉送工作階段會將本機工作站的連接埠路由到目標執行個體上的連接埠 (例如,將 localhost:8080 轉送到 instance:8080)。
- 遠端主機連接埠轉送會將本機連接埠透過該執行個體路由到可從該執行個體連線的另一個私有主機。 Session Manager 支援將工作階段文字記錄和 I/O 集中稽核記錄到 Amazon S3 和 Amazon CloudWatch Logs,並可選用 KMS 加密。API 活動 (StartSession、TerminateSession) 會被記錄在 AWS CloudTrail 中。透過 Session Manager 的偏好設定來強制執行控制:要求加密、限制連接埠轉送或剪貼簿,以及同時記錄到兩個目的地。
Systems Manager Parameter Store 可集中管理組態和機密資料。對於應用程式機密,請使用以客戶管理的 KMS 金鑰加密的 SecureString 參數。將數值組織成階層式路徑 (例如 /prod/payments/db/password),以實現環境和應用程式範疇界定、政策範疇界定以及批次操作。參數版本控制會維護一份不可變的歷史記錄;標籤 (例如 current) 讓您可以在不變更程式碼的情況下,將應用程式指向一個動態的目標。CloudFormation、CodeBuild 和其他服務中的動態參考會在部署或執行階段解析參數,從而防止機密資料擴散。標準 (Standard) 層提供基本的輸送量和 4 KB 的最大值大小;進階 (Advanced) 層則支援參數政策 (過期、輪換通知)、更大的數值 (8 KB) 和更高的輸送量。EventBridge 規則可以在參數變更時發出通知,而資源政策則可在需要時啟用跨帳戶的參數共享。
Systems Manager Inventory 和 Compliance 提供機群層級的可見性。Inventory (透過 State Manager 關聯啟用) 會收集中繼資料,例如已安裝的軟體套件、Windows 角色、網路介面卡和自訂清查項目。使用 Resource Data Sync 將資料匯出到 S3 以便進行 Athena/Glue 分析,並在 Systems Manager Explorer 中呈現整個機群的狀態。Compliance 會彙總修補和關聯狀態:您可以查看哪些執行個體缺少修補程式或組態基準失敗。這為自動化修復、稽核和授權探索建立了必要的營運資料基礎。
Patch Manager 與營運協調
Patch Manager 使用修補基準、修補群組和維護時段來標準化作業系統和應用程式的修補作業。
修補基準定義了要核准的內容以及核准的時間。對於每個作業系統系列,您可以從 AWS 提供的預設基準開始,或建立一個包含以下內容的自訂基準:
- 依產品/版本、分類 (例如 Security、Bugfix)、嚴重性和架構設定的自動核准規則
- 核准延遲 (例如,在安全性修補程式發布七天後自動核准)
- 明確的允許清單和封鎖清單
- 修補程式來源/儲存庫 (例如,為內部軟體新增自訂的 yum 或 apt 儲存庫)
將基準與修補群組建立關聯。修補群組是一組由
Patch Group標籤及其特定值 (例如Patch Group=linux-prod) 所識別的執行個體;此關聯可確保正確的基準能對應到正確的伺服器。每個執行個體應只屬於一個修補群組,以避免模糊不清的情況。修補操作使用AWS-RunPatchBaseline文件,以Operation=Scan來計算合規性,並以Operation=Install來套用已核准的修補程式。控制並行性、錯誤閾值和重新開機行為。使用InstallOverrideList來緊急鎖定特定套件。合規性結果會流入 Systems Manager Compliance,您可以在其中發出警示和進行修復。
維護時段將具干擾性的操作限制在安全的時間範圍內。定義排程 (rate/cron)、持續時間和截止時間,以防止新任務在時段即將結束時啟動。透過標籤或資源群組註冊目標,然後註冊具有優先權的任務。Patch Manager 已原生整合:為您的修補群組和基準註冊一個 AWS-RunPatchBaseline 任務。任務上的並行性和錯誤閾值設定可防止失敗期間的爆炸半徑擴大。
Systems Manager Automation 將可重複、可稽核的修復作業化。使用內建和自訂的 Runbook 來協調修補前和修補後的活動 (例如,從負載平衡器中排除、停止應用程式服務、修補、執行冒煙測試、重新註冊),以及透過 AWS Config 修復來強制執行控制。Automation 支援核准 (Change Manager)、變更行事曆 (以防止在凍結期間執行) 以及透過 assume-role 進行的跨帳戶/區域執行。透過 Amazon EventBridge 規則將所有環節串連起來,這些規則會對運作狀態事件、組態漂移或警示做出反應,以觸發目標性的 Automation 執行,從而實現自我修復。
使用 EC2 Image Builder 建立黃金映像檔
不可變映像檔可減少組態漂移並縮短修補視窗。EC2 Image Builder 使用管線、配方與分發設定,將 AMI 的建立與分發過程程式碼化。
- 映像檔配方 (Image recipes) 指定基礎映像檔 (例如,最新的 Amazon Linux 2023)、元件 (YAML 定義的建置/測試步驟,如安裝 SSM Agent、語言執行環境和安全性強化),以及語意化版本控制。元件可以在不同配方之間重複使用,以強制執行基準控制。
- 管線 (Pipelines) 定義了端對端的工作流程:基礎設施組態 (VPC/子網路/執行個體描述檔/安全群組)、建置步驟、測試步驟以及排程 (例如,每週)。Image Builder 會在建置時自動套用作業系統修補程式、執行測試,並讓未通過的建置失敗。
- 分發設定 (Distribution settings) 負責複寫與分享映像檔:將 AMI 發佈到選定的區域、為帳戶或 AWS Organizations OU 新增啟動許可、強制執行 EBS 加密 (使用 KMS 金鑰),以及標記輸出。Image Builder 可以將最新的 AMI ARN 發佈到 Systems Manager Parameter Store (例如,/prod/images/web/latest),如此一來,Auto Scaling 群組、CodePipeline 和 CloudFormation 就能取用當前經核准的映像檔,無需手動更新。
這種管線方法可與 Patch Manager 搭配使用:頻繁地修補 AMI 以最小化執行個體的修補差異,然後對長期運行的伺服器使用維護時段來進行較小的差異修補。
治理、授權與成本最佳化
AWS License Manager 用於管理自備授權 (BYOL) 和 Marketplace 權益。您可以定義授權組態來模擬供應商規則 (核心數、插槽數、vCPU、主機親和性及虛擬化限制),選擇硬性或軟性強制執行,並將組態與 AMI、啟動範本或執行個體建立關聯。License Manager 透過 Systems Manager Inventory 探索軟體,以追蹤耗用量並防止不合規的啟動。對於使用 License Manager 權益的 Marketplace 產品,您可以在帳戶之間共享授權,並透過委派管理員集中追蹤權益使用情況。
AWS Trusted Advisor 會根據最佳實務持續評估您的環境。其類別包括成本最佳化、安全性、容錯能力、服務限制、效能與卓越營運。擁有 Business 或 Enterprise Support 方案,您便可以存取完整的檢查項目集和 AWS Support API,以程式化方式重新整理和擷取結果。使用 EventBridge 整合,可將檢查狀態變更路由至修復工作流程 (例如,觸發 Automation runbook 來啟用 S3 預設加密或移除儲存貯體上的公有存取權),並啟用組織檢視 (Organizational View) 以在多個帳戶間進行彙總,同時搭配範圍限定的 IAM 存取權和通知給正確的團隊。
成本最佳化是持續且資料驅動的過程:
- 適當調整規模 (Right-sizing):結合 Cost Explorer 的 right-sizing 建議與 AWS Compute Optimizer 的洞見。Compute Optimizer 會分析執行個體、Auto Scaling 群組、EBS 磁碟區、Lambda 函數及 ECS on Fargate 的指標,以推薦最佳組態,並提供預估節省金額與效能風險。它也能標示出應遷移至 gp3 並調整輸送量/IOPS 的 gp2 磁碟區。將這些建議與維護時段及 Automation runbook 結合,以執行安全的變更。
- Savings Plans:使用 Compute Savings Plans 以廣泛涵蓋 EC2、Fargate 和 Lambda,或使用 EC2 Instance Savings Plans 在特定執行個體系列/區域獲得最高折扣。承諾每小時支付一定金額,為期一或三年,並提供多種付款選項 (無預付/部分預付/全額預付),透過合併帳單在帳戶間彙總,並根據歷史隨需花費來決定承諾規模。監控使用率和涵蓋範圍,並隨著工作負載的演變進行調整。對於 Savings Plans 未涵蓋的服務 (例如 RDS、OpenSearch、Redshift、DynamoDB),請繼續使用 Reserved Instances。
- 營運推動工具:使用 Systems Manager Automation 和 Change Manager 來排程非生產環境的啟動/停止、強制執行執行個體排程,並在具備核准和防護機制的情況下,推出 right-sizing 和 gp2→gp3 的轉換。透過 Trusted Advisor 的成本檢查和預算/警示來強化這些措施。
實務問題情境
公司:Airbnb
挑戰:Airbnb 營運著多帳戶、多區域的 EC2 工作負載,用於資料處理和 Web 服務。安全性要求可稽核、無 SSH 存取;合規性強制要求從預設和自訂儲存庫及時進行安全性修補;平台團隊必須標準化 AMI 並在不影響效能風險的情況下降低成本。軟體供應商對某些分析節點實施基於核心數的授權。營運團隊希望實現事件驅動的修復,並讓高階主管能跨帳戶掌握全局。
逐步方法:
- 使用 Systems Manager Session Manager 強制執行安全存取
- 為 SSM/EC2Messages 設定 VPC 端點,並啟用 Session Manager 將日誌記錄到 CloudWatch Logs 和 S3,同時使用 KMS 加密。停用 SSH,並要求使用 Session Manager 進行 shell 存取。啟用連接埠轉送,讓工程師在疑難排解期間能安全地連線到內部服務。
- 理由:移除入侵攻擊面,集中化稽核軌跡,並允許在沒有 VPN 或堡壘主機的情況下進行受控的連接埠轉送。
- 使用 Inventory 和 Compliance 標準化組態與可視性
- 建立一個 State Manager 關聯,以在所有執行個體上啟用 Inventory。設定 Resource Data Sync 將資料同步到 S3,並使用 Athena 進行查詢。啟用 Compliance 以追蹤修補程式和關聯狀態,並在 Systems Manager Explorer 中呈現機群健康狀況。
- 理由:Inventory 能夠提供準確的軟體/修補程式狀態,並為後續的授權探索和稽核提供支援。
- 使用自訂儲存庫定義修補基準和修補群組
- 為每個作業系統建立自訂的 Patch Manager 修補基準,設定在七天後自動核准安全性更新,並為內部代理程式新增自訂的 yum/apt 儲存庫。為執行個體加上標籤
Patch Group=linux-web、linux-data和windows-app。將修補基準與每個修補群組建立關聯。 - 理由:確保預設和自訂的套件在不同工作負載中,都能透過分階段的核准流程,獲得一致的修補。
- 透過維護時段排程修補,並搭配 Automation 的前/後置步驟
- 為每個修補群組註冊一個與非營業時間對齊的維護時段。註冊一個高優先級的 Automation 任務,該任務會將執行個體從目標群組中排除、以受控的並行處理與錯誤閾值執行
undefined
(Install)、在需要時重新啟動、執行冒煙測試,然後再將執行個體重新註冊到負載平衡器。
- 理由:將對客戶的影響降到最低,強制執行安全的協調作業,並產生可稽核的執行歷史記錄。
- 使用 EC2 Image Builder 建立黃金映像檔並發佈到 Parameter Store
- 建立包含 SSM Agent、安全性強化元件和應用程式先決條件的配方 (recipes)。管道 (Pipelines) 每週建立映像檔、執行測試,並將 AMI 發佈到 us-east-1 和 eu-west-1,同時透過 Organizations 與選定的帳戶共享。將最新的 AMI ARN 輸出到 Parameter Store 中的
/prod/images/web/latest和/prod/images/data/latest。 - 理由:減少執行個體上的組態漂移和修補時間;開發人員和部署管道可透過參數提取受信任的映像檔,無需手動分發 ID。
- 使用 AWS License Manager 管理供應商授權
- 為分析軟體定義授權組態,使用 vCPU 計數並採硬性強制執行。將它們與對應的 AMI 和啟動範本建立關聯。啟用委派管理員 (delegated admin),以利用 Inventory 探索到的資料來追蹤跨帳戶的耗用情況。
- 理由:防止不合規的啟動,並向供應商和財務部門提供可證明的授權使用情況。
- 實作事件驅動的修復與防護機制
- 使用 AWS Config 受管規則 (例如,必要的標籤、S3 加密),並搭配可叫用 Systems Manager Automation runbook 的自動修復動作。為 AWS Health 維護事件新增 EventBridge 規則,以透過 runbook 觸發安全的重新啟動。
- 理由:從偵測到修正形成閉環,無需人工勞務,使資源始終符合政策。
- 透過變更控制來管理,並使用 Compute Optimizer 和 Savings Plans 進行成本最佳化
- 在所有帳戶中啟用 Compute Optimizer;每週匯出 right-sizing 和 gp2→gp3 的建議。使用 Change Manager 的核准和維護時段來應用執行個體系列變更和 EBS 磁碟區修改。在付款帳戶中購買一個混合的 Compute Savings Plan,以涵蓋跨區域的穩定狀態運算;監控使用率並每季調整。使用 Session Manager Automation 在開發/測試環境中強制執行啟動/停止排程。
- 理由:以資料驅動的最佳化搭配受控的推出,可在保護效能和可用性的同時實現成本節省。
- 在組織層級使用 Trusted Advisor 進行監控
- 啟用 Trusted Advisor 組織檢視 (Organizational View) 和 EventBridge 整合,以便在發現高風險問題 (例如,服務限制、閒置資源、開放的安全性群組) 時通知平台和安全團隊。對於選定的檢查項目,觸發 Systems Manager Automation runbook 進行修復或建立工單。
- 理由:集中監督和自動化回應可維持營運健康,並防止失控的成本或風險。
這個整合式設計提供了安全存取、標準化修補、不可變的 AMI、授權合規、自動化修復和可衡量的成本最佳化,所有這些都在 Airbnb 的 AWS 足跡中具備可稽核的控制措施。
練習這些題目 → · 在 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.
通過考試 →