A company uses an Auto Scaling group with a dynamic scaling policy based on a custom CloudWatch metric. After a recent deployment, the metric spikes unexpectedly, causing the Auto Scaling group to launch several EC2 instances. The operations team wants to quickly determine whether the spike was caused by a real load increase or a deployment issue. What is the MOST efficient way to investigate this?
Trap 1: Check the SNS topic that the scaling policy publishes to for…
Checking the SNS topic that the scaling policy publishes to will only deliver scaling lifecycle notifications or activity notifications indicating that a scaling action occurred. These notifications contain the policy name and the new/old desired capacity, but they never include the underlying application metric data or the reason the metric spiked. Without application-level telemetry, such as error rates, request latencies, or deployment markers, you cannot determine the root cause from SNS alone.
Trap 2: Use AWS CloudTrail to review API calls that modified the scaling…
AWS CloudTrail records API calls made by users, roles, or services, including calls that modify the scaling policy such as PutScalingPolicy or UpdateAutoScalingGroup. However, it does not capture application-level performance metrics or errors that would explain a sudden spike in load, and it is irrelevant if the policy definition has not been changed. Unless someone deliberately altered the policy thresholds or targets, CloudTrail will show no relevant events to investigate.
Trap 3: Temporarily disable the scaling policy and manually increase the…
Temporarily disabling the scaling policy and manually increasing desired capacity is a reactive mitigation that addresses the symptom, not the root cause. This action does not generate any diagnostic data, and it may even mask the issue by absorbing the load without revealing what caused the spike. It also risks leaving manual capacity in place after the spike subsides, leading to overprovisioning or conflicting with the dynamic scaling policy's target values.
- A
Check the SNS topic that the scaling policy publishes to for notifications.
Why wrong: Checking the SNS topic that the scaling policy publishes to will only deliver scaling lifecycle notifications or activity notifications indicating that a scaling action occurred. These notifications contain the policy name and the new/old desired capacity, but they never include the underlying application metric data or the reason the metric spiked. Without application-level telemetry, such as error rates, request latencies, or deployment markers, you cannot determine the root cause from SNS alone.
- B
Use CloudWatch Logs Insights to query application logs for error patterns or deployment markers that coincide with the metric spike.
CloudWatch Logs Insights lets you run SQL-like queries against application logs stored in CloudWatch Logs, allowing you to filter for specific error codes, exception stack traces, or deployment markers that align with the exact timestamp of the metric spike. By correlating log timestamps with the scaling activity, you can identify events like a failed code release, a dependency outage, or a traffic surge that pushed the metric above the alarm threshold. This is the only option that gives access to application-level evidence needed to diagnose the upstream cause of the spike.
- C
Use AWS CloudTrail to review API calls that modified the scaling policy.
Why wrong: AWS CloudTrail records API calls made by users, roles, or services, including calls that modify the scaling policy such as PutScalingPolicy or UpdateAutoScalingGroup. However, it does not capture application-level performance metrics or errors that would explain a sudden spike in load, and it is irrelevant if the policy definition has not been changed. Unless someone deliberately altered the policy thresholds or targets, CloudTrail will show no relevant events to investigate.
- D
Temporarily disable the scaling policy and manually increase the desired capacity to handle the load.
Why wrong: Temporarily disabling the scaling policy and manually increasing desired capacity is a reactive mitigation that addresses the symptom, not the root cause. This action does not generate any diagnostic data, and it may even mask the issue by absorbing the load without revealing what caused the spike. It also risks leaving manual capacity in place after the spike subsides, leading to overprovisioning or conflicting with the dynamic scaling policy's target values.