CloudHealth

 View Only

From Detection to Action: Managing AWS Extended Support Costs by Inventorying Legacy Instance Spend in CloudHealth 

Apr 10, 2026 01:27 PM

Author: Nick Welch - CloudHealth Sr. Technical Account Manager

AWS Extended Support charges are easy to overlook. They tend to appear as relatively small line items on a cloud bill, but they’re often a signal of something larger: workloads still running on outdated instance generations that are more expensive, less efficient, and no longer fully supported. 

Another Community article, Proactive AWS Cost Management: Visualizing Extended Support Charges, already provides guidance on identifying where Extended Support charges are occurring. That visibility is a critical first step. However, for FinOps practitioners, detection alone isn’t enough. To eliminate these charges at-scale, teams need a clear, ongoing inventory of which legacy instance generations are still in use and how much they cost across the environment. 

This article will show you how to create a FlexReport that lists outdated AWS instance generations and their associated costs. The resulting report can be reused over time to prioritize upgrades, track modernization progress, and validate savings as legacy infrastructure is retired. 

Why FinOps Teams Should Track Legacy Instance Generations

Extended Support charges are not arbitrary fees  they are a direct consequence of running workloads on older instance families that AWS has superseded with newer, more costeffective options. 

From a FinOps perspective, this creates three distinct challenges: 

  • Visibility gaps 
    Individual Extended Support charges don’t always reveal which specific instances need to be upgraded. 

  • Prioritization difficulty 
    Without aggregated cost data, it’s hard to determine which upgrades will deliver the greatest financial impact. 

  • Lack of measurable outcomes 
    Teams often remove Extended Support charges but don’t track the broader savings from improved priceperformance. 

By maintaining a report that inventories all outdated instance generations and their spend, FinOps teams gain a durable mechanism for managing this class of technical debt.

From “Where Are the Charges?” to “What Should We Upgrade?” 

Existing CloudHealth reporting answers an important question: 

"Where am I being charged for AWS Extended Support?"

This article focuses on the next, operationally critical question: 

"Which legacy instance generations are driving those charges, and what is their total cost of ownership?"

The goal is not just to remove the Extended Support fee, but to: 

  • Reduce the underlying instance cost 

  • Improve application performance 

  • Prevent future support charges from reemerging 

Creating a FlexReport to Inventory Legacy AWS Instances 

To support this workflow, we’ll create a FlexReport that: 

  • Identifies AWS EC2 instances running on outdated generations 

  • Aggregates cost by instance family, account, region, or environment 

  • Can be reused over time to track progress and validate savings 

This report becomes a standing FinOps artifact - not a onetime cleanup tool. 

To do this follow these simple steps: 

  1. Navigate to the Reports section in our New Experience 

  1. Click on the New Report icon and choose to create it via the UI or SQL 

  1. For the Dataset selector, choose the AWS Cost & Usage Report and click NEXT 

  1. Now click on the SQL Query tab and delete the existing query.   

  1. Now cut and paste the Custom Query below into the Query Editor. 

  1. Click on Preview Report to see the result and select the chart you would like to display for the report. 

  1. Once satisfied, click on NEXT 

  1. Give the FlexReport a name, description, and ensure it is Public so others can access the report and click CREATE.

That’s it! Super easy! 

SELECT  
        timeInterval_Month AS Month,  
        lineItem_UsageAccountId AS Account_ID,  
        \"organization##accountname\" AS Account_Name,  
        SUM(lineItem_NetUnblendedCost) AS Net_Unblended_Cost,  
        SUM(reservation_NetEffectiveCost) AS Reservation_Net_Effective_Cost,  
        SUM(savingsPlan_NetSavingsPlanEffectiveCost) AS SavingsPlan_Net_Effective_Cost,  
        ROUND(  
                SUM( COALESCE(lineItem_NetUnblendedCost, 0) +  
                COALESCE(reservation_NetEffectiveCost, 0) +  
                COALESCE(savingsPlan_NetSavingsPlanEffectiveCost, 0)  
                ),  
                2  
        ) AS Total_Effective_Cost,  
        product_instanceTypeFamily AS Instance_Type_Family,  
        CASE  
                WHEN  
                        product_currentGeneration = 'No' OR  
                        product_instanceTypeFamily IN ( 'c4', 'd3', 'i3', 'i3en', 'm4', 'p4', 'p4d', 'p4de', 'r4', 'r5', 'r5a', 'r5ad', 'r5b', 'r5d', 'r5dn', 'r6a', 't2', 't3', 't3a', 'z1d' )  
                THEN 'Old'  
                ELSE 'Current'  
        END AS Instance_Generation,  
        COUNT(DISTINCT lineItem_ResourceId) AS Instance_Count  
FROM AWS_CUR  
        WHERE  
                (product_instanceTypeFamily IS NOT NULL) AND  
                (lineItem_ProductCode IN ('AmazonEC2'))  
        GROUP BY  
                timeInterval_Month,  
                lineItem_UsageAccountId,  
                \"organization##accountname\",  
                product_currentGeneration,  
                product_instanceTypeFamily 

Recommended Report Dimensions & Metrics 

After creating the report you may find that some of your teams would like to customize this report - here are some common dimensions that you might want to add to the report: 

Suggested Dimensions: 

  • Region

  • Environment or Tag (e.g., Prod / Non‑Prod, Application) 

  • Perspectives (e.g., Business Unit, Cost Center, Application Team) 

These views allow teams to quickly answer: 

  • Where is legacy infrastructure concentrated? 

  • Which upgrades will yield the highest savings? 

  • Are upgrades progressing over time? 

Making this a Continuous FinOps Control

Extended Support charges will reappear if aging infrastructure isn’t proactively managed. By keeping this FlexReport as a standing control, FinOps teams can: 

  • Detect legacy instances before they become cost drivers 

  • Support modernization initiatives with clear financial data 

  • Reinforce continuous optimization rather than reactive cleanup 

Over time, this approach helps organizations reduce waste, improve performance, and maintain tighter alignment between engineering decisions and financial outcomes. 

Summary

Identifying AWS Extended Support charges is an important starting point - but lasting savings require deeper visibility into the legacy infrastructure behind them. 

By combining existing Extended Support reporting with a FlexReport that inventories outdated instance generations and their associated cost, FinOps practitioners can move from detection to action. The result is not just fewer support charges, but a more efficient, modern, and costeffective AWS environment. 

Statistics
0 Favorited
6 Views
0 Files
0 Shares
0 Downloads