Based on the DEA-C01 exam guideReport an error
IteratorAgeMilliseconds.This week covered the stage where a pipeline, once "built," is "operated." The four days' topics are not separate; they are the four questions an operator asks in turn while going through a single incident.
Pipeline in operation
│
┌──────────────┬─────────┴────────┬───────────────┐
Is it healthy? Is the data right? Why/who broke it? What does it cost?
(Day 1) (Day 2) (Day 3) (Day 4)
│ │ │ │
CloudWatch Glue Data CloudWatch Logs Cost allocation tags
metrics, alarms Quality CloudTrail Cost Explorer
EMF, composite DQDL, anomaly Retry/Catch, DLQ Budgets, anomaly
alarms detection detection
| What you want to know | Where to look | Easy wrong choice |
|---|---|---|
| Is the consumer falling behind | GetRecords.IteratorAgeMilliseconds (Maximum) | IncomingBytes (just the inbound volume) |
| Are writes being rejected | WriteProvisionedThroughputExceeded | Iterator age (a read-side metric) |
| Why is a Glue job slow | Shuffle, heap, and executor metrics; driver and executor logs | CloudTrail |
| Is EMR idle | Consecutive IsIdle values, auto-termination policy | AppsRunning at a single point in time |
| Is the incoming data trustworthy | Glue Data Quality score and rule results | CloudWatch metrics (tell you only whether the job succeeded) |
| Who changed the table or policy | CloudTrail management events | CloudWatch Logs |
| Who read the object | CloudTrail data events (you turn them on) | Management events |
| Which team spent how much | Activated cost allocation tags + Cost Explorer | Budgets |
| A cost spike different from usual | Cost Anomaly Detection | Budgets (looks only at the threshold you set) |
Records and logs
| Distinction | CloudWatch Logs | CloudTrail management events | CloudTrail data events | S3 server access logs |
|---|---|---|---|---|
| Question answered | What was printed | Who changed the configuration | Who touched the data | What requests arrived at the bucket |
| Default state | Varies by service | On (90-day lookup) | Off | Off |
| Unique use | Stack traces | Auditing | Object-level auditing | Authentication failures, lifecycle actions |
Three features that catch "different from usual"
| Distinction | Target | Day |
|---|---|---|
| CloudWatch Anomaly Detection | Operational metrics (lag, error rate) | Day 2 |
| Glue Data Quality anomaly detection | Data statistics (row count, completeness) | Day 2 |
| Cost Anomaly Detection | Cost | Day 4 |
Four mechanisms for handling failure
| Mechanism | Target | Behavior |
|---|---|---|
| Retry | Transient errors | Try again with increasing intervals |
| Catch | Errors retries did not resolve | Branch to another state (quarantine, notification) |
| DLQ | Messages that failed repeatedly | Pull out of the queue and keep separately |
| Validation gate | Execution succeeded but quality fell short | Block progress to the next stage |
Features that adjust capacity automatically
| Feature | What it increases | What the user sets |
|---|---|---|
| Glue Auto Scaling | Workers during a job run | Maximum number of workers |
| EMR Managed Scaling | Core and task nodes | Minimum and maximum, On-Demand limit, core limit |
| Kinesis on-demand | Shards | Nothing (only the mode choice) |
| Redshift Concurrency Scaling | Temporary query clusters | Queue mode, upper bound on cluster count |
| Area | Item | Value |
|---|---|---|
| CloudWatch | Metric resolution | Standard 1 minute, high resolution 1 second (custom metrics only) |
| CloudWatch | Metric retention | 15 days at 1-minute, 63 days at 5-minute, 455 days at 1-hour granularity |
| CloudWatch | Default missing-data handling | missing (INSUFFICIENT_DATA if everything is empty) |
| CloudWatch | High-resolution alarm period | 10 or 30 seconds |
| Glue | Job metric reporting interval | 30 seconds |
| Glue | Job timeout default | 2,880 minutes for 4.0 and below, 480 minutes for 5.0 and above |
| Glue | Automatic retries | 0 to 10 times; a timed-out job is not restarted |
| Glue | Real-time logs | Default in 5.0; for 4.0 and below, turn on continuous logging |
| EMR | Metric reporting interval | 5 minutes (cannot be changed) |
| Kinesis | Stream metrics | 1 minute, free. Shard metrics are a paid option |
| Glue DQ | Minimum data for anomaly detection | 3 data points |
| Glue DQ | Ruleset limits | 2,000 rules, 65KB |
| CloudTrail | Event history | 90 days of management events |
| Step Functions | Retry defaults | Interval 1 second, 3 attempts, multiplier 2.0, no jitter |
| Lambda asynchronous | Retries on function error | 2 (after 1 minute, after 2 minutes) |
| SQS | Visibility timeout | Default 30 seconds, maximum 12 hours |
| Cost tags | Propagation delay | Up to 24 hours; backfill up to 12 months |
| Athena | Minimum per-query scan limit | 10MB |
00:00 EventBridge schedule → Step Functions pipeline starts
1) Glue ingestion job (real-time logs + Auto Scaling + job metrics)
2) Glue Data Quality evaluation (DQDL + anomaly detection)
└─ Critical rule fails or score < 0.95 → quarantine bucket + SNS + stop
3) EMR transform (core On-Demand, task Spot, Managed Scaling)
4) Load to curated + Athena validation query
Cost operations:
- Project/Environment tags on every resource, activated in the management account
- Budgets 80% alert, Cost Anomaly Detection for spike detection
- Monthly Cost Explorer review to readjust sizingSuppose something went wrong on the same pipeline before dawn. The four days' content connects in chronological order.
| Time | What happened | What is used | Day |
|---|---|---|---|
| 02:10 | A composite alarm fires (job failure rate + processed count 0) | Composite alarm, TreatMissingData=breaching | Day 1 |
| 02:12 | In the Step Functions execution graph, you confirm the quality evaluation step branched to failure | Look at the orchestrator first | Day 3 |
| 02:15 | Rule results: RowCount is 40% of usual, IsComplete "customer_id" fails | DQ rule results and anomaly observation | Day 2 |
| 02:20 | You check the failed rows in the quarantine bucket: customer_id is NULL for every order from one region | Row-level results + failure reasons | Day 2 |
| 02:30 | Source extraction job log: the table to join could not be found | CloudWatch Logs | Day 1, 3 |
| 02:35 | CloudTrail: the previous evening, a role changed a catalog table with UpdateTable | Management events | Day 3 |
| 03:00 | After restoring the table definition, reprocess only that date partition, and redrive the failed execution | Idempotent reprocessing, redrive | Day 2, 3 |
| Next day | Because of the reprocessing, that day's Glue cost is double the usual. Check the anomaly detection alert; the budget was not exceeded | Cost Anomaly Detection vs Budgets | Day 4 |
| Question clue | Answer |
|---|---|
| "Who deleted it" + "how far the consumer lagged" | CloudTrail + IteratorAgeMilliseconds |
| "Behavior when the quality score is below the threshold" | Block with Choice, quarantine, notify |
| "Principle when switching task nodes to Spot" | Keep core nodes on a stable option |
| "Precondition for automatic retries" | The task is idempotent |
| "Auto scaling is on but the usual cost is excessive" | Check baseline sizing |
| "The pipeline stopped but there was no alert" | Missing-data handling, alarm on a heartbeat-style metric |
| "Reprocess failed messages in the queue after fixing the cause" | DLQ redrive |
| "Detect spikes when a budget threshold is hard to set" | Cost Anomaly Detection |
Next week is data security and governance. We start with access control in IAM and Lake Formation.
Click a choice to reveal the answer and explanation.
Question 1
Which combination of tools is correct for finding out "who deleted the prod Glue table yesterday" and "how far behind the Kinesis consumer was last night," respectively?
Question 2
What is the recommended pipeline behavior when the Glue Data Quality score is below the threshold in a nightly ETL?
Question 3
Which principle is the most appropriate to apply together when switching EMR task nodes to Spot to reduce cost?
Question 4
When configuring an external API call task with frequent transient errors to be retried automatically, which condition must be satisfied for safety?
Question 5
Even after introducing automatic scaling, the baseline cost is still excessive. What should be checked first?