Amazon SOA-C02: 無伺服器與應用程式整合 — 學習指南
屬於 AWS SysOps Administrator Associate SOA-C02 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.
無伺服器的可觀測性與故障排除
可觀測性必須涵蓋指標、日誌、追蹤以及非同步傳遞狀態。關鍵的 CloudWatch 指標包括:Invocations (調用次數)、Duration (持續時間)、Errors (錯誤)、Throttles (調節)、ConcurrentExecutions (並行執行數)、IteratorAge (迭代器存在時間,適用於串流與 SQS 觸發器)。為了監控非同步失敗的可見性,請監控 “AsyncEventInvoke” 指標,並針對 DeadLetterErrors 和 Throttles 設定 CloudWatch Alarms。啟用 X-Ray 追蹤 (aws lambda update-function-configuration –function-name MyFn –tracing-config Mode=Active),以取得跨服務的端到端追蹤,並將冷啟動、下游延遲和例外情況視覺化。
使用結構化 JSON 日誌和 CloudWatch Logs Insights 查詢來快速找出錯誤模式;實作冪等性檢查並在日誌中記錄關聯 ID。對於分散式追蹤,如果自動上下文遺失,請在 EventBridge/SNS 流程的事件負載中明確地傳遞追蹤 ID。對於 SQS 事件來源對應,請監控 ApproximateAgeOfOldestMessage,並在其增長時設定警報,這表示出現了背壓或調節。擷取 Lambda Throttles 指標並發出警報,並追蹤預置並行使用量與成本之間的權衡。
常見陷阱與決策標準
- 未設定 DLQ 或僅依賴預設重試:為非同步 Lambda 設定 DLQ 或 Destinations,並為 SQS 佇列設定 redrive,以捕獲毒藥訊息進行手動檢查。
- SQS 上的可見性逾時設定不正確,導致重複處理:將可見性逾時設定為 >= 函數逾時 * 2,並考量到重試和下游呼叫,以避免重複處理。
- 過於寬鬆的 Lambda 執行角色:避免使用 Resource: “*",並在調用政策與資源政策中加入服務/來源條件 (aws:SourceArn, aws:SourceAccount)。
- 忽略並行限制導致調節:使用預留並行來限制函數,為對延遲敏感的函數使用預置並行,並監控 ConcurrentExecutions/Throttles。
- 跨非同步邊界時缺少追蹤:將關聯 ID 加入事件中,並啟用 X-Ray 或傳遞追蹤標頭來重建流程。
- 為滿足持久性需求而誤用 SNS 直接到 Lambda 的模式:當您需要持久性緩衝、可見性控制以及更容易的 DLQ 處理時,應優先選擇 SNS->SQS->Lambda 的模式。
實務問題:使用案例情境
AcmePayments 透過 EventBridge 接收高流量的支付事件,並在尖峰時段遇到間歇性的 Lambda 調節和重複處理問題。他們需要可靠的處理、無資料遺失,以及對下游 DynamoDB 的負載有界。
- 建立一個 EventBridge 自訂匯流排與規則來匹配支付事件;新增一個 SQS FIFO 佇列作為持久性目標,並在目標設定中包含 DeadLetterConfig 和 RetryPolicy。
- 設定 Lambda 來輪詢 SQS 佇列(事件來源對應),批次大小根據下游容量進行調整,並將可見性逾時設定為 >= 函數逾時 * 2。
- 為 Lambda 預留並行 (aws lambda put-function-concurrency …) 以限制 DynamoDB 的寫入突發;如果需要低延遲,則為小部分請求實作預置並行。
- 使用以 payment-id 為鍵的 DynamoDB 條件式寫入來實作冪等性,並儲存帶有 TTL 的冪等性記錄以便清理。
- 啟用 X-Ray 追蹤和帶有關聯 ID 的結構化日誌來追蹤處理過程;針對 ApproximateAgeOfOldestMessage、Throttles 和 DLQ 指標設定 CloudWatch 警報。
基本原理:將 EventBridge 與 SQS 解耦提供了持久性緩衝和重試語意;預留並行保護下游的 DynamoDB 免受突發流量衝擊;冪等性防止重複處理;而追蹤/警報則提供了對故障模式的操作可見性。
練習這些題目 → · 在 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.
通過考試 →