How to Use the StatusCheckFailed_AttachedEBS CloudWatch Metric to Monitor EC2 Instance Reachability to Attached EBS Volumes

3 minute read
Content level: Foundational
0

Amazon EC2 provides several status checks to monitor the health and availability of instances and their attached resources. One such CloudWatch metric — StatusCheckFailed_AttachedEBS — is specifically designed to alert when one or more EBS volumes attached to a Nitro-based EC2 instance are impaired and unable to complete I/O operations. This article outlines how the metric works, the types of issues it can detect, and how to use CloudWatch alarms to take proactive action when failures occur.

Overview of StatusCheckFailed_AttachedEBS

StatusCheckFailed_AttachedEBS is a binary Amazon CloudWatch metric that monitors the I/O readiness of Amazon EBS volumes attached to EC2 instances. It reports:

0 – Healthy (all attached volumes are reachable)
1 – Failure detected (at least one volume is unreachable or cannot complete I/O)

Availability:

  • Enabled by default at 1-minute granularity
  • Available at no additional cost
  • Supported only for Nitro-based EC2 instances
  • Applicable across all commercial AWS Regions and GovCloud (excludes Outposts and Local Zones)

When and Why to Use This Metric

This metric is useful in the following scenarios:

  • Diagnosing storage-level issues where attached volumes fail I/O operations
  • Receiving alerts for potential instance storage degradation
  • Triggering recovery workflows (e.g., stop/start or failover) using CloudWatch alarms
  • Complementing volume-level metrics such as VolumeQueueLength, VolumeReadOps, or VolumeIdleTime

Common Causes of Failure

  • Software or hardware issues in the EBS storage subsystem
  • Physical host failures affecting EBS volume reachability
  • Connectivity issues between the EC2 instance and attached EBS volumes

Creating a CloudWatch Alarm for the Metric (Console Steps)

To monitor this metric and respond automatically:

  1. Open the Amazon EC2 console
  2. Navigate to Instances and select the instance.
  3. Open the Status Checks tab.
  4. Choose Actions > Create status check alarm.
  5. On the Manage CloudWatch alarms page, click Create an alarm.
  6. Configure alarm settings:
    • Metric: StatusCheckFailed_AttachedEBS
    • Statistic: Average
    • Evaluation Period: 60 seconds
    • Consecutive Periods (Datapoints to Alarm): 1–3 (based on desired sensitivity)
    • Alarm action: Specify auto-recovery or notify via Amazon SNS
    • (Optional) Add to a CloudWatch dashboard for visibility
  7. Click Create.

This allows early detection and automated remediation of attached EBS volume impairments.

Additional Monitoring for Nitro-Based Instances
AWS provides a related metric for Nitro-based instances:
VolumeStalledIOCheck – Reports whether a volume failed an I/O operation in the past minute Use this to complement instance-level alarms with volume-level visibility.

Important Notes

  • This metric is exclusive to Nitro-based EC2 instances.
  • It is not available via describe-instance-status in the AWS CLI—use CloudWatch for access.
  • It provides a system-level signal for volume accessibility, regardless of workload activity

Reference Links
Status checks for Amazon EC2 instances