DEV Community

Ace7-coder
Ace7-coder

Posted on Edited on

AWS FinOps Field Notes (2026-11-01): Auditing RDS Extended Support Charges with Python

While auditing cloud infrastructure costs this week, recurring configuration gaps continue to quietly inflate monthly cloud bills.

Field Insight: The Hidden Cost Trap

Antonio Augusto Maguelniski: "A client who asked him to halve their AWS bill saw it double from February to March 2025 with no new resources, because the RDS line jumped from about $30 to about $330/month when two PostgreSQL 12 databases left standard support."

When managed resources drift out of standard support windows or detached storage components persist after instance terminations, infrastructure spend spikes without any increase in user traffic or compute demand.


Auditing Outdated RDS Engine Versions with Boto3

Rather than relying on manual console spot-checks across multiple AWS regions, you can automate inspection using a lightweight Python script:

import boto3

def audit_rds_engine_versions(region='us-east-1'):
    rds = boto3.client('rds', region_name=region)
    instances = rds.describe_db_instances().get('DBInstances', [])

    # PostgreSQL <= 12 and MySQL <= 5.7 incur AWS Extended Support charges
    eol_engines = {'postgres': 12.0, 'mysql': 5.7}
    flagged = []

    for db in instances:
        db_id = db['DBInstanceIdentifier']
        engine = db['Engine']
        version_str = db['EngineVersion']
        parts = version_str.split('.')
        major_ver = float(f"{parts[0]}.{parts[1]}") if len(parts) > 1 else float(parts[0])

        for eol_key, max_ver in eol_engines.items():
            if eol_key in engine and major_ver <= max_ver:
                flagged.append({'DBInstance': db_id, 'Engine': engine, 'Version': version_str})
                print(f"[ALERT] {db_id} ({engine} {version_str}) is past standard support! Extended Support fees apply.")

    return flagged

if __name__ == '__main__':
    audit_rds_engine_versions()
Enter fullscreen mode Exit fullscreen mode

Continuous Multi-Account Governance

Running one-off audit scripts in single regions does not scale across enterprise AWS Organizations. Sustained cloud cost management requires cross-account role assumption (sts:AssumeRole), cost anomaly correlation, and automated scheduled auditing.

Top comments (0)