Skip to content
Cloud Security DeskSearch
Menu

Technical guideDetection & response

Measure GuardDuty runtime coverage from the resource outward

An enabled protection plan does not describe the health of every workload. Review supported resources, agents, connectivity and the denominator behind coverage.

Source-based analysis

The series date places this retrospective analysis in the January to August 2026 collection. It is not a claim that the article was publicly available on that date. The publication date records its first release.

Published
Series date
Reading time
6 minutes
Coverage
AWS

GuardDuty runtime coverage is meaningful only when the reporting unit and resource population are explicit. This guide connects compatibility, agent health, delivery and workload lifecycle to an inventory-based review, while keeping unsupported, excluded and unresolved resources visible.

At a glance

Key findings

  • Runtime Monitoring coverage applies to supported resource configurations and depends on the runtime monitoring path being healthy. [1][2]
  • EC2 instance reporting and ECS cluster reporting use different units, so their counts should not be combined as one undifferentiated population. [3][4]
  • An unresolved or excluded resource is not evidence of protection. Keep it visible beside the healthy population.

Define the population before the percentage

A coverage panel answers a question about the resources represented in that panel. A security program usually has a wider question: which resources were intended to receive runtime monitoring, and which are actually receiving it? The two populations can differ because of region, account, compatibility, exclusions or an incomplete inventory.

GuardDuty Runtime Monitoring supports specified EC2, Amazon ECS on Fargate and Amazon EKS configurations. AWS distinguishes these supported environments from unsupported combinations, including EKS on Fargate. The feature's scope should be read from current documentation rather than inferred from the broad term “container monitoring.” [1]

Start with an independent inventory snapshot and name the reporting unit. For an EC2 review, that may be an instance in an account and region at a stated time. For an ECS review, retain the cluster and task context needed to understand coverage. Record which resources the organization intends to protect before reading a service-reported count.

Check supported runtime configurations

AWS publishes EC2 Runtime Monitoring prerequisites covering supported operating-system, kernel and architecture combinations and the relevant deployment method. Managed agent deployment has its own requirements. Compatibility should be checked against the current matrix for the actual resource, not against a remembered list of operating-system family names. [5]

Preserve enough inventory detail to explain the compatibility decision. Record the platform version, architecture, account, region and agent deployment approach used in the review. Where a field is missing, mark the resource unresolved instead of assuming that a similar instance elsewhere proves compatibility.

Unsupported resources need an explicit control decision. Name the workload owner, the reason runtime monitoring is unavailable and the alternative evidence or control being used. Avoid removing these resources from the main inventory merely to make a coverage percentage look better. If an eligible-only percentage is useful, label its denominator and present the unsupported population beside it.

Verify agent and delivery health

GuardDuty's coverage guidance distinguishes healthy and unhealthy runtime states and describes prerequisites such as the security agent and the required connectivity path. An unhealthy resource cannot be treated as successfully monitored for runtime findings. This is a statement about Runtime Monitoring, not proof that every other GuardDuty capability is disabled. [2]

For each resource, preserve the reported health state and any reason associated with it. Compare that result with the intended deployment state. An agent package being present is useful configuration evidence, but it should not replace a current service health result. Conversely, a historical healthy result may not describe a resource after a network or workload change.

Route unhealthy cases to an owner with enough context to act: resource identity, account, region, reason, first observation and the change that may have preceded it. Keep remediation status separate from the original health evidence. Closing a ticket should require a new observation of the intended state rather than only confirmation that a configuration command ran.

Figure 01

The evidence behind a runtime coverage decision

Reconcile runtime health with an independently defined resource population, preserving excluded and unresolved cases.

Each resource must be in the inventory, supported, equipped with a working agent and able to deliver runtime events. Excluded, unsupported and unresolved resources remain visible.

Source. Primary documentation [1] [2] [3] [4] [5] [6]. Accessed August 28, 2026.

Method. Original review-state matrix synthesized from GuardDuty documentation. Rows describe evidence and disposition for a future inventory review; they do not report an AWS account's measured coverage.

Accessible table and figure data
Figure 1 accessible table
Review stateRequired evidenceDisposition
HealthySupported configuration and healthy runtime statusMonitor for loss of health
UnhealthyRecorded service reason and affected resourceAssign remediation owner
ExcludedApproved exclusion and expiry or review dateKeep visible outside protected population
UnsupportedDocumented compatibility gapUse a separate control decision
UnresolvedInventory or status mismatchDo not count as protected
Figure 1 accessible table
Review stateRequired evidenceDisposition
HealthySupported configuration and healthy runtime statusMonitor for loss of health
UnhealthyRecorded service reason and affected resourceAssign remediation owner
ExcludedApproved exclusion and expiry or review dateKeep visible outside protected population
UnsupportedDocumented compatibility gapUse a separate control decision
UnresolvedInventory or status mismatchDo not count as protected

Account for workload lifecycle

AWS documents ECS Runtime Monitoring coverage at the cluster level and explains how Fargate task lifecycle affects the agent. Existing tasks do not automatically acquire a changed agent configuration in place; task replacement or restart can be part of the documented deployment path. Any such action requires workload-owner approval and an availability plan. [4]

Record the relationship between a cluster's reported state and the tasks that were running during the review. A configuration change for future tasks may leave older tasks operating under a different state until their lifecycle advances. Do not describe the desired configuration as deployed to every task merely because the cluster setting changed.

For EC2, AWS's coverage guidance provides instance-oriented information. Keep that unit intact when comparing it with the independent instance inventory. [3] A report that adds an EC2 instance count to an ECS cluster count produces a number without a consistent resource meaning, even if both inputs came from valid service responses.

Reconcile service statistics with inventory

The GetCoverageStatistics API returns coverage statistics for a detector and supports filters and grouping. Those parameters define the returned population. Record the account, region, detector, filters and collection time so another reviewer can understand what was counted and what the response could not include. [6]

For resource-level reconciliation, use ListCoverage, which returns resource identifiers and coverage details, and follow its pagination. Aggregated GetCoverageStatistics counts cannot supply the individual identifiers needed for this join. [7][6] Compare those detailed records with the independent inventory using the selected resource unit. Investigate resources present in only one side. Timing, lifecycle changes, exclusions or an inventory gap may explain a mismatch, but the mismatch itself does not select the explanation.

Use explicit states such as healthy, unhealthy, excluded, unsupported and unresolved. The matrix is a proposed review vocabulary, not a measured account result. If a percentage is later calculated, publish the numerator, denominator, snapshot time and exclusions with it. Keep the raw categories so a reader can see whether an improvement came from remediation or from changing the population being counted.

When the inventory and service snapshots are not simultaneous, retain both timestamps. Investigate resources created or removed between them before calling the difference a monitoring failure. The report should distinguish a real coverage gap from a comparison that used two different moments.

Make health loss operationally visible

Coverage is a changing condition. Establish a review or notification process for loss of health and for newly discovered resources that have no matching coverage record. Assign an owner to unresolved cases and define when exclusions must be reconsidered. A one-time inventory reconciliation cannot demonstrate ongoing coverage after the estate changes.

Define how old a health observation may be before the report marks it stale. Keep that rule visible in the report and retain the last observation time for each resource. An unchanged label without a recent observation should not silently count as fresh evidence.

Separate monitoring health from threat-detection outcomes. No runtime finding may mean no relevant suspicious behavior was detected, but it is not a substitute for evidence that the monitoring path was healthy. Likewise, a healthy path does not prove that every possible attack would generate a finding. These are different claims with different supporting evidence.

The operational handoff should make a specific resource easy to trace from inventory to compatibility decision, current health and remediation owner. When a workload changes platform or deployment method, revisit that chain. The resulting report can remain useful without a headline percentage because it tells the team exactly which resources require a decision and which evidence would close each gap.

Method and provenance

Documentation review and original operational analysis using the cited primary sources, checked on August 28, 2026. The editorial date places the article in the retrospective series; publication and source review occurred in August 2026.

No AWS inventory, runtime agent or finding stream was inspected. Coverage states are proposed review categories, not measured protection or detection efficacy. Provider statistics and organizational inventory can represent different populations. No empirical tests were performed for this article.

AI assistance. Researched, drafted and checked against cited sources with AI assistance. No independent human editorial review or original empirical testing is claimed.

Published under the Cloud Security Desk organizational byline. Read the series policy.

References

  1. GuardDuty Runtime Monitoring Amazon Web Services. Accessed .
  2. Reviewing runtime coverage statistics and troubleshooting issues Amazon Web Services. Accessed .
  3. Runtime coverage and troubleshooting for Amazon EC2 instance Amazon Web Services. Accessed .
  4. Runtime coverage and troubleshooting for Amazon ECS clusters Amazon Web Services. Accessed .
  5. Prerequisites for Amazon EC2 instance support Amazon Web Services. Accessed .
  6. GetCoverageStatistics Amazon Web Services. Accessed .
  7. ListCoverage Amazon Web Services. Accessed .

Questions answered

  1. What does “Measure GuardDuty runtime coverage from the resource outward” examine?

    An enabled protection plan does not describe the health of every workload. Review supported resources, agents, connectivity and the denominator behind coverage.

    Supporting context

    GuardDuty runtime coverage is meaningful only when the reporting unit and resource population are explicit. This guide connects compatibility, agent health, delivery and workload lifecycle to an inventory-based review, while keeping unsupported, excluded and unresolved resources visible.

  2. What is the central conclusion?

    Runtime Monitoring coverage applies to supported resource configurations and depends on the runtime monitoring path being healthy.

    Supporting context

    EC2 instance reporting and ECS cluster reporting use different units, so their counts should not be combined as one undifferentiated population. An unresolved or excluded resource is not evidence of protection. Keep it visible beside the healthy population.

  3. Which systems and decisions are in scope?

    The analysis covers Detection & response across AWS. Its recommendations require validation in the reader's own environment.

  4. What evidence and method support the analysis?

    Documentation review and original operational analysis using the cited primary sources, checked on August 28, 2026. The editorial date places the article in the retrospective series; publication and source review occurred in August 2026.

    Supporting context

    The article cites 7 numbered references.

  5. What are the limitations?

    No AWS inventory, runtime agent or finding stream was inspected. Coverage states are proposed review categories, not measured protection or detection efficacy. Provider statistics and organizational inventory can represent different populations. No empirical tests were performed for this article.

    Supporting context
  6. Can the figures be read without an interactive chart?

    Yes. The figure has responsive static images, descriptive alternative text, source and method notes, accessible tables, and CSV downloads.

  7. Why are the series date and publication date different?

    The series date is June 23, 2026; the article was first published on August 28, 2026. The series date places this retrospective analysis in the January to August 2026 collection. It is not a claim that the article was publicly available on that date. The publication date records its first release.

  8. Who is responsible for the article and how was AI used?

    The organizational byline is Cloud Security Desk. Researched, drafted and checked against cited sources with AI assistance. No independent human editorial review or original empirical testing is claimed.

    Supporting context