Amazon DEA-C01: 數據管道監控與疑難排解 — 學習指南

屬於 Amazon Data Engineer Associate DEA-C01 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.

資料管線的監控與故障排除對於確保串流與批次資料在 AWS 上能及時、準確地交付至關重要。此領域涵蓋了 Kinesis、Firehose、Glue、DMS、Lambda 等服務的遙測、警示和診斷技術,以及支援事件調查的 AWS 稽核軌跡。有效的監控能透過揭露消費者延遲、任務資源壓力、交付延遲和未經授權的存取,來降低平均偵測/復原時間 (MTTD/MTTR)。以下章節提供了具體的信號、CLI/主控台模式以及決策標準,以利操作和修復生產環境中的資料流。

適用於資料服務的 CloudWatch 指標與警示

CloudWatch 是主要的遙測平台:為關鍵服務指標建立指標篩選器、儀表板和警示,並將警示與 SNS、EventBridge 或 Systems Manager 整合以進行自動化修復。使用

undefined

以程式化方式建立警示;典型的旗標包括

undefined

undefined

undefined

(或

undefined

)、

undefined

undefined

undefined

。對於儀表板,可使用

undefined

推送自訂指標(例如,來自 Glue 任務中繼資料的指標),並指定一個命名空間,如 “MyCompany/DataPipeline”。

請專注於以下這些可採取行動的指標與模式:

警示的決策標準:

Glue 任務監控與錯誤處理

Glue 會將指標發佈到 CloudWatch,並將日誌寫入

undefined

(任務執行日誌) 和

undefined

(錯誤日誌)。使用 CloudWatch Logs Insights 查詢任務執行情況:可透過主控台或

undefined

執行查詢,查詢字串範例如:

undefined

。追蹤來自 Glue 任務執行指標的 BytesRead、BytesWritten、RecordsProcessed 和 DPUHrs——DPUHrs 與成本和任務平行度直接相關。

常見的 Glue 失敗模式與修復方法:

決策權衡:

Kinesis 與 Firehose 監控

Kinesis 消費者延遲 (Consumer Lag):依靠 GetRecords.IteratorAgeMilliseconds 來偵測消費者落後了多少。如果 GetRecords.IteratorAgeMilliseconds 持續偏高:

使用

undefined

檢查分片數量,並使用

undefined

取得 IteratorAgeMilliseconds。在比較修復選項時,請考量:

Firehose 交付指標:DeliveryToS3.DataFreshness 量化了交付延遲;典型的

undefined

設定為 60–900 秒,並且會一直保留記錄,直到

undefined

undefined

其中一個條件被滿足。如果 DeliveryToS3.DataFreshness 偏高:

undefined

檢查 Firehose 的緩衝提示 (BufferIntervalInSeconds, BufferSizeInMBs)。

請記住 Firehose 的緩衝語意:該服務會刻意延遲,最長可達緩衝區間;縮短緩衝區間可以降低延遲,但代價是更頻繁地寫入 S3。

CloudTrail 與資料存取稽核

CloudTrail 提供 API 活動記錄,並可選擇性地記錄 S3 和 Lambda 的資料事件,但這些預設並未啟用。若要擷取物件層級的 S3 事件,需透過主控台或

undefined

指令在 CloudTrail 上明確啟用資料事件,並新增 S3 資料資源。若未啟用 S3 資料事件,您將無法在 CloudTrail 中看到 GetObject/PutObject 事件,這是調查過程中常見的疏漏。

結合使用 CloudTrail 日誌與 CloudWatch Logs Insights,可將營運指標(例如 Glue 任務日誌)與存取事件建立關聯。查詢模式:

undefined

DMS 複寫任務也會發布 CloudWatch 指標:監控 FullLoadRows 以確認初始複製的完整性、CDCLatencyMilliseconds 以偵測複寫延遲,以及 AppliedChanges 以確保交易正在目標端套用。應針對 CDCLatencyMilliseconds 超過業務 SLA 的情況,以及在 full load rows 增加後 AppliedChanges 數值過低的情況設定警報。

常見陷阱與決策標準

實務問題:使用案例情境

Acme Analytics 公司透過 Kinesis 進行即時點擊流(clickstream)擷取,使用 Glue ETL 任務來豐富化事件,透過 Firehose 將過期的批次資料存留至 S3,並用 DMS 複寫舊有的資料庫。他們觀察到端到端的延遲:Kinesis 的消費者延遲、Glue 任務發生 OOM,以及 Firehose 顯示較大的 DeliveryToS3.DataFreshness。

  1. 分析 Kinesis 消費者:提取 GetRecords.IteratorAgeMilliseconds 指標,檢查消費者日誌,並進行 Kinesis 增強型扇出(enhanced fan-out)與擴展 shard 的成本分析。
  2. 檢查 Glue 任務的 CloudWatch 指標和 Logs Insights 中的 OOM 堆疊追蹤;在本地或較小的任務中測試重新分區(repartitioning)+ 下推述詞(pushdown predicate);僅在必要時才增加 DPU/worker 類型。
  3. 檢查 Firehose 的緩衝區設定(BufferIntervalInSeconds)和 DeliveryToS3.DataFreshness;為滿足關鍵的 SLO 而縮短緩衝間隔,並驗證 S3 寫入權限/KMS。
  4. 設定 CloudWatch 複合警報,結合 IteratorAgeMilliseconds、Glue 任務錯誤率和 Firehose DataFreshness;將警示傳送到一個值班用的 SNS 主題,並透過 EventBridge 觸發一個 runbook。
  5. 啟用 CloudTrail S3 資料事件,並將 GetObject/PutObject 事件與 Glue 任務的啟動時間及 DMS 的 applied changes 建立關聯,以偵測未經授權或延遲的存取。

此方法遵循 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.

通過考試 →

瀏覽 Amazon →

Related guides

一站式存取

一份訂閱。所有考試。

每個方案都可無限存取答案搜尋、練習測驗、AI 解釋和完整的資源庫 — 支援 20 多種語言。

每月
24.87
Just €0.83/day
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

最佳價值
12 個月
179.87
Just €0.49/daySave 40%
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

✓ 包含免費方案 · ✓ 隨時取消 · ✓ 所有方案解鎖完整產品