MinervaDB · Amazon RDS Support · 24×7 remote DBA and consulting for RDS for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, Db2, Aurora PostgreSQL and Aurora MySQL

Amazon RDS Support for the Database Work AWS Does Not Do: Tuning, Upgrades, Recovery and 24×7 Response

Amazon RDS runs the servers, the storage and the failover mechanics. It does not read your query plans, set your recovery objectives, plan your way off Extended Support or answer the page when a replica falls six hours behind. MinervaDB Amazon RDS Support is that missing layer: principal-level engineers from the engines themselves, working inside your AWS account through a least-privilege role, with a 15-minute Severity-1 response around the clock.

8RDS and Aurora engines supported
15 minSeverity-1 acknowledgement, 24×7
900+enterprises served by MinervaDB
46cities with delivery presence
200+years of combined leadership experience

The responsibility line

What AWS operates, and what Amazon RDS Support has to cover

The shared-responsibility model is usually drawn for security. For databases it matters more for operations, because the boundary sits in the middle of the engine rather than at its edge. AWS owns everything below the database process; you own everything the database does with it. Parameter groups, the version calendar and recovery are shared, and shared is where incidents come from, which is exactly where Amazon RDS Support starts.

Amazon RDS Support responsibility boundary: what AWS operates, what stays with your team, and what MinervaDB Amazon RDS Support covers, layer by layer from hardware to application SQL

Figure 1. The RDS responsibility line, layer by layer. Amazon RDS Support from MinervaDB takes on the five layers above the AWS-operated platform, alongside your team.

The practical consequence is that AWS Support and Amazon RDS Support answer different questions. AWS Support confirms that the instance, the storage volume and the Multi-AZ pair are healthy. It does not explain why a checkout query that took 40 milliseconds last month now takes four seconds, why autovacuum cannot keep up with one table, or why the replica you promote during a failover is missing the last few minutes of binlog. Most of our clients hold both AWS Support and Amazon RDS Support, and the escalation path between them is written into the runbook.

Everything Amazon RDS Support recommends is anchored in a named measurement: a Database Insights wait-event profile, a pg_stat_statements or performance_schema ranking, a CloudWatch metric, or a timed drill. Engine and feature coverage follows the Amazon RDS User Guide, and the deprecation calendar for every engine is re-verified at the start of each Amazon RDS Support engagement rather than recalled.

Version lifecycle

Extended Support: the RDS bill that grows with every quarter you wait

Once an RDS for PostgreSQL or RDS for MySQL major version passes its end of standard support, AWS enrols it in RDS Extended Support and bills a per-vCPU-hour surcharge from the following day, including the standby in a Multi-AZ deployment. MariaDB has no Extended Support at all; its end of support is a forced upgrade. The calendar below is the one Amazon RDS Support plans against for the next three years.

Amazon RDS Support lifecycle calendar: RDS end of standard support and Extended Support dates for PostgreSQL, MySQL, MariaDB and Aurora MySQL from 2026 to 2029, with the Extended Support billing formula

Figure 2. RDS end-of-support dates from the AWS release calendars as of 2026-09-30, and the formula behind the Extended Support line on your bill.

The Extended Support arithmetic is simple and still surprises people in every Amazon RDS Support assessment we run. On the published RDS for PostgreSQL rate for US East (Ohio), a Multi-AZ DB instance with 8 vCPUs carries 16 billable vCPUs, so Extended Support adds 16 × 730 × $0.100, about $1,168 a month in years one and two and double that from year three. That is an illustrative calculation on AWS's published rate, not a quote; your Region, engine and instance mix set the real number.

Three dates matter most right now. RDS for MySQL 8.0 left standard support on 2026-07-31 and bills Extended Support until 2029-07-31, per the RDS for MySQL version calendar. RDS for MariaDB 10.6 reaches end of support on 2026-12-31 with no paid runway, as the RDS for MariaDB version page shows. RDS for PostgreSQL 14 leaves standard support on 2027-02-28, according to the RDS for PostgreSQL release calendar.

The script below is the first thing Amazon RDS Support runs in a new account. It lists every instance in a Region with its engine version, vCPU count, billed copies, end-of-standard-support date and an estimate of the current monthly Extended Support charge. It is read-only and takes the rate as an input, because rates differ by Region and year.

#!/usr/bin/env python3
# rds_es_exposure.py — read-only: estimates Extended Support exposure for every RDS/Aurora instance in a Region.
# Needs rds:DescribeDBInstances and ec2:DescribeInstanceTypes. Rates and dates are inputs, not facts baked in:
# re-check both against the AWS release calendars and the pricing page for your Region before quoting a number.
import sys, datetime, boto3

REGION = sys.argv[1] if len(sys.argv) > 1 else "us-east-2"
RATE = float(sys.argv[2]) if len(sys.argv) > 2 else 0.100   # USD per vCPU-hour, years 1-2 (published, US East Ohio, RDS PostgreSQL)
EOSS = {                                                     # end of standard support, from the AWS calendars (2026-09-30)
    ("postgres", "11"): "2024-02-29", ("postgres", "12"): "2025-02-28", ("postgres", "13"): "2026-02-28",
    ("postgres", "14"): "2027-02-28", ("postgres", "15"): "2028-02-29", ("postgres", "16"): "2029-02-28",
    ("mysql", "5.7"): "2024-02-29",   ("mysql", "8.0"): "2026-07-31",   ("mysql", "8.4"): "2029-07-31",
}
rds, ec2 = boto3.client("rds", region_name=REGION), boto3.client("ec2", region_name=REGION)
vcpu_cache = {}

def vcpus(db_class):
    ec2_type = db_class.removeprefix("db.")
    if ec2_type not in vcpu_cache:
        try:
            info = ec2.describe_instance_types(InstanceTypes=[ec2_type])["InstanceTypes"][0]
            vcpu_cache[ec2_type] = info["VCpuInfo"]["DefaultVCpus"]
        except Exception:
            vcpu_cache[ec2_type] = None          # serverless or classes without an EC2 twin: report, do not guess
    return vcpu_cache[ec2_type]

today = datetime.date.today().isoformat()
print(f"{'instance':32} {'engine':18} {'version':10} {'vCPU':>4} {'copies':>6} {'EOSS':10} {'USD/month':>10}")
for page in rds.get_paginator("describe_db_instances").paginate():
    for db in page["DBInstances"]:
        engine = db["Engine"].replace("aurora-postgresql", "postgres").replace("aurora-mysql", "mysql")
        major = db["EngineVersion"].split(".")[0] if engine == "postgres" else ".".join(db["EngineVersion"].split(".")[:2])
        eoss = EOSS.get((engine, major), "-")
        cpu = vcpus(db["DBInstanceClass"])
        copies = 2 if db.get("MultiAZ") else 1  # Multi-AZ DB instance bills the standby; cluster members are listed individually
        cost = cpu * copies * 730 * RATE if (cpu and eoss != "-" and eoss < today) else 0.0
        print(f"{db['DBInstanceIdentifier'][:32]:32} {db['Engine'][:18]:18} {db['EngineVersion'][:10]:10} "
              f"{cpu or 0:>4} {copies:>6} {eoss:10} {cost:>10,.0f}")

High availability

Four RDS availability topologies, and the failover time users actually see

RDS offers four distinct availability designs, and they fail over differently. Choosing between them is an engineering decision about read scaling, replication mode and blast radius, not a checkbox. Amazon RDS Support designs the topology, then proves it: every client gets scheduled failover drills measured from the first application error to the first successful transaction.

Amazon RDS Support high-availability topologies compared: Multi-AZ DB instance, Multi-AZ DB cluster, Aurora cluster on shared storage and Aurora Global Database, with the application-side controls that decide real failover time

Figure 3. Multi-AZ DB instance, Multi-AZ DB cluster, Aurora cluster and Aurora Global Database, with the application-side controls that decide how long users notice a failover.

For Amazon RDS Support purposes the four designs differ in one question each. A Multi-AZ DB instance keeps a synchronous standby that nobody can read. A Multi-AZ DB cluster gives a writer and two readable standbys across three Availability Zones with semisynchronous replication. Aurora separates compute from a distributed volume that keeps six copies across three zones, so replicas share storage rather than replaying it. Aurora Global Database adds read-only secondary Regions, and AWS reports cross-Region switchover typically under 30 seconds since 2025.

The part AWS cannot do for you is on the client side. Connection pools that do not detect a dead socket, drivers that retry without a total timeout, and JVMs that cache DNS longer than the record's TTL all stretch a clean 20-second failover into minutes of errors. RDS Proxy helps when its pinning rules allow multiplexing and hurts when they do not. Our Amazon RDS Support runbooks record the measured number for each application, not the number in the brochure.

Performance engineering

Performance on RDS: from Database Insights to the query plan

On RDS the starting point is CloudWatch Database Insights, which now carries the database-load and per-query data that Performance Insights introduced; in Advanced mode it adds lock diagnostics and execution-plan capture. Amazon RDS Support treats it as the map, then goes into the engine for the evidence: the statement ranking, the plan and the wait profile behind every recommendation.

On PostgreSQL engines Amazon RDS Support ranks statements by total time rather than by mean, because the query that runs forty thousand times at 30 milliseconds usually matters more than the report that runs once at four seconds. The same session checks transaction-ID age per database, which is the one PostgreSQL failure that RDS will not rescue you from.

-- RDS for PostgreSQL / Aurora PostgreSQL: where the time goes, and how close each database is to wraparound
SELECT
    queryid,
    calls,
    ROUND(total_exec_time::NUMERIC / 1000, 1)  AS total_s,
    ROUND(mean_exec_time::NUMERIC, 2)          AS mean_ms,
    shared_blks_read,
    LEFT(query, 80)                            AS query_head
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 15;

SELECT
    datname,
    AGE(datfrozenxid)                                        AS xid_age,
    ROUND(100.0 * AGE(datfrozenxid) / 2147483648, 1)         AS pct_of_wraparound_limit
FROM pg_database
ORDER BY xid_age DESC;

On MySQL-family engines the Amazon RDS Support equivalent is the statement digest table in performance_schema, ranked the same way. Rows examined against rows sent is the fastest index-health signal we know on InnoDB, and it is the column we sort by second.

-- RDS for MySQL / MariaDB / Aurora MySQL: statement digests ranked by total time (timers are in picoseconds)
SELECT
    schema_name,
    LEFT(digest_text, 80)                    AS digest_head,
    count_star                               AS execs,
    ROUND(sum_timer_wait / 1e12, 1)          AS total_s,
    ROUND(avg_timer_wait / 1e9, 2)           AS avg_ms,
    sum_rows_examined,
    sum_rows_sent
FROM performance_schema.events_statements_summary_by_digest
ORDER BY sum_timer_wait DESC
LIMIT 15;

Under Amazon RDS Support, changes reach production as parameter-group edits with the current value, proposed value, unit and apply type stated before anything runs. Dynamic parameters apply immediately; static ones wait for a reboot and are scheduled into a maintenance window with a manual snapshot taken first.

Parameter (RDS for PostgreSQL)Engine defaultProposedUnitApply typeWhy
log_min_duration_statement-1 (off)1000msDynamic, immediateStatements slower than one second are logged with their duration, and reach CloudWatch Logs when log export is enabled
log_lock_waits0 (off)1booleanDynamic, immediateLock waits longer than deadlock_timeout become visible evidence
# Parameter-group change with verification and rollback. Both parameters are dynamic (ApplyMethod=immediate).
# Test on a restored snapshot or a Blue/Green green first; take a manual snapshot before any static change.
PG=pg16-orders-prod

# 1. Verify current values before touching anything
aws rds describe-db-parameters --db-parameter-group-name "$PG" \
  --query "Parameters[?ParameterName=='log_min_duration_statement' || ParameterName=='log_lock_waits'].[ParameterName,ParameterValue,ApplyType]" \
  --output table

# 2. Apply
aws rds modify-db-parameter-group --db-parameter-group-name "$PG" --parameters \
  "ParameterName=log_min_duration_statement,ParameterValue=1000,ApplyMethod=immediate" \
  "ParameterName=log_lock_waits,ParameterValue=1,ApplyMethod=immediate"

# 3. Validate: the instance must report in-sync, not pending-reboot
aws rds describe-db-instances --db-instance-identifier orders-prod \
  --query "DBInstances[0].DBParameterGroups[0].ParameterApplyStatus"

# Rollback: return both parameters to the engine default
aws rds reset-db-parameter-group --db-parameter-group-name "$PG" --parameters \
  "ParameterName=log_min_duration_statement,ApplyMethod=immediate" \
  "ParameterName=log_lock_waits,ApplyMethod=immediate"

Major upgrades

Major version upgrades with Blue/Green Deployments

Most RDS major upgrades we run use RDS Blue/Green Deployments: a replicated green copy is upgraded and tested while blue carries production, and switchover renames the endpoints under guardrails. It is the safest tool AWS provides for the job, and it has sharp edges that Amazon RDS Support checks for before the first command runs.

Amazon RDS Support Blue/Green deployment flow for major version upgrades: create green, upgrade and tune, validate, switchover with guardrails, keep the old blue for rollback, and the constraints that block it

Figure 4. The Blue/Green upgrade flow, the constraints that stop or break a switchover, and the evidence we capture on both sides.

Two constraints catch teams most often, and Amazon RDS Support checks both first. An active zero-ETL integration to Redshift must be deleted before switchover, and PostgreSQL sequences are not replicated, so RDS advances every sequence on green at switchover; with very large sequence counts that step can hit the switchover timeout. We count sequences and list integrations on day one of the plan, not on the night.

In an Amazon RDS Support upgrade, validation happens on green before any traffic moves: the top statements are replayed or observed, plans are compared across versions, and the rollback path is written into the change ticket. The old blue instance is kept after switchover until the application owners sign off, then deleted.

# Major version upgrade through RDS Blue/Green Deployments (RDS for PostgreSQL shown).
# Pre-checks on blue: sequence count (switchover advances every sequence) and zero-ETL integrations (must be removed).
psql "host=orders-prod.${RDS_ENDPOINT_SUFFIX} dbname=orders user=${RDS_ADMIN_USER} sslmode=verify-full" \
  -c "SELECT COUNT(*) AS sequences FROM pg_sequences;"
aws rds describe-integrations --query "Integrations[].[IntegrationName,SourceArn,Status]" --output table

# Create green on the target major version with its own parameter group
aws rds create-blue-green-deployment \
  --blue-green-deployment-name orders-pg16-to-pg17 \
  --source "arn:aws:rds:us-east-2:${AWS_ACCOUNT_ID}:db:orders-prod" \
  --target-engine-version "${TARGET_ENGINE_VERSION}" \
  --target-db-parameter-group-name pg17-orders-prod

# Watch replication and readiness; validate plans on green before going further
aws rds describe-blue-green-deployments \
  --filters Name=blue-green-deployment-name,Values=orders-pg16-to-pg17 \
  --query "BlueGreenDeployments[0].[Status,StatusDetails,SwitchoverDetails]"

# CONFIRMATION GATE: switchover moves production traffic. Proceed only with the change ticket approved,
# a manual snapshot of blue taken, and the rollback path (old blue retained as -old1) written into the ticket.
read -r -p "Type the change ticket ID to switch over: " TICKET && [ -n "$TICKET" ] || exit 1
aws rds switchover-blue-green-deployment \
  --blue-green-deployment-identifier "${BGD_ID}" \
  --switchover-timeout 300

Cost engineering

Where Amazon RDS Support finds RDS savings, in the order we look

RDS bills are dominated by instance hours, storage and I/O, and, once a version ages out, Extended Support. The order matters in Amazon RDS Support cost work: right-size first, then change storage, then commit. Committing first locks in the wrong instance class for a year. Every figure we report is an estimate until it appears on the invoice, and no saving is taken at the expense of a recovery objective.

LeverEvidence we useTypical findingWatch-out
Fix the query before the instanceStatement ranking by total time, Database Insights load by waitAn instance sized for a missing index or an unbounded reportRe-measure after the fix; the instance class decision comes second
Right-size and move to GravitonCPU, freeable memory, read and write IOPS over a full business cycleClasses chosen at launch and never revisitedTest engine builds and extensions on the new architecture first
Storage type and IOPSProvisioned versus consumed IOPS and throughputio1 or gp2 volumes that gp3 covers, provisioned IOPS that are never usedStorage modifications trigger an optimisation period; schedule them
Aurora I/O-Optimized versus StandardI/O charges as a share of cluster spend; AWS Compute Optimizer recommendationsI/O-heavy clusters paying per requestThe switch is limited in frequency; decide on a full month of data
Idle replicas and snapshotsReplica connection and query counts; snapshot age and ownershipReplicas kept for a reporting job that moved away; manual snapshots with no ownerConfirm with the owning team before deletion, always
CommitmentsPost-right-sizing steady stateReserved instances or the Database Savings Plans AWS introduced in December 2025Model after right-sizing, never before
Extended SupportThe exposure script aboveMajors paying a per-vCPU surcharge with no upgrade dateFlagged as a Severity-2 finding in every health check

Onboarding

The first 30 days of an Amazon RDS Support engagement

Nothing changes in your account until you have read our Amazon RDS Support assessment. The first month moves from inventory to stabilisation to a written runbook, and ends with the first timed restore drill, so steady-state support starts from measured numbers rather than assumptions.

Days 1–5 · Takeover assessment

Roles and credentials issued. Every RDS and Aurora instance inventoried: engine and version, class, storage, Multi-AZ and replica topology, parameter-group deltas from default, backup retention, Extended Support exposure and monitoring gaps. Output: a risk-ranked assessment with the evidence for each finding.

Days 6–15 · Stabilise

Severity-1 and Severity-2 findings fixed first: backup retention and PITR windows, alert routing to both on-call rotas, parameter values wrong for the instance class, replication-lag causes, storage and IOPS headroom. Every change carries current value, proposed value, apply type and rollback.

Days 16–30 · Runbook and drills

The runbook for your estate is written and reviewed with your team: failover, restore, escalation to AWS Support, maintenance calendar and the upgrade plan for any version approaching Extended Support. The first restore runs into a scratch instance and the measured recovery time is recorded.

From day 31 the Amazon RDS Support engagement is steady state: 24×7 coverage, a monthly health report with the metric behind every recommendation, quarterly failover and restore drills, and advisory hours for what your team is planning next.

Service levels and pricing

Amazon RDS Support severity matrix and commercial terms

Amazon RDS Support response targets are contractual and the same across every engine. Severity is set by business impact, and an S1 stays open with an engineer on it until service is restored, followed by a written root-cause analysis.

Severity 115 minProduction down, failover in progress or data at risk. 24×7, every day of the year.
Severity 212 hSevere degradation or replica lag affecting users with no workaround.
Severity 324 hDegradation with a workaround in place.
Severity 448 hQuestions, planning and advisory requests.

24×7 Amazon RDS Support and remote DBA retainers start at US $4,500 per quarter. That includes named engineers, the onboarding assessment of every RDS and Aurora instance in scope, the runbook, monitoring integration with CloudWatch, Database Insights, Prometheus or Datadog, a monthly health report, quarterly restore and failover drills, and advisory hours that roll into project work if unused.

Remote consulting is US $300 per hour and on-site consulting US $500 per hour plus travel; health checks, upgrades and migrations are quoted on a fixed scope. Amazon RDS Support sits within our AWS data platform engineering practice, alongside engine-specific PostgreSQL support, MySQL support and SQL Server support.

Test every change on a restored snapshot or a Blue/Green green first, keep manual snapshots before parameter and version changes, and maintain a robust disaster-recovery posture with cross-Region copies.

FAQ

Frequently asked questions about Amazon RDS Support

The questions we hear most often before an Amazon RDS Support engagement starts.

Which engines does MinervaDB Amazon RDS Support cover?

RDS for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle and Db2, plus Aurora PostgreSQL and Aurora MySQL, including Aurora Serverless v2 and Aurora Global Database. The deepest bench is on the PostgreSQL and MySQL families; SQL Server, Oracle and Db2 are covered by the same engineers who run those engines self-managed.

How is Amazon RDS Support different from AWS Support?

AWS Support covers the platform and the health of the service. Amazon RDS Support covers the database: query and index performance, parameter engineering, replication and failover procedures, upgrades, cost and incident response with root-cause analysis. Most clients hold both, and the Amazon RDS Support runbook defines when we escalate to AWS.

Can you get us off RDS Extended Support charges?

Yes. We inventory the affected instances with the exposure script, plan the major-version upgrades with a compatibility check and a Blue/Green or replica rehearsal, and execute them in your maintenance windows with a rollback path. MariaDB estates are planned against the hard end-of-support date because no Extended Support exists for them.

What access do you need to our AWS account?

A read-only cross-account IAM role with an external ID for observation, and a separate change role you enable per ticket. Database credentials come from your Secrets Manager or IAM database authentication. Every action appears in your CloudTrail with the engineer and ticket in the session name, and you can revoke both roles at any time.

Do you support Aurora as well as RDS?

Yes. Aurora PostgreSQL and Aurora MySQL are covered by the same team, including Global Database, Serverless v2, I/O-Optimized decisions and zero-ETL integrations into Redshift, which we check before every Blue/Green switchover.

How do you measure failover and recovery?

By drills, not documentation. We trigger failovers on a schedule and time them from the first application error to the first successful transaction, and we restore snapshots into scratch instances to record the real recovery time. Those numbers go into the runbook and the monthly report.

Can you take over from an outgoing DBA or another provider?

Yes. Onboarding starts with a takeover assessment that documents topology, parameter groups, backup state, Extended Support exposure and monitoring gaps, and produces the runbook we operate from. Nothing changes in your account until you have reviewed it.

Will you tell us if a workload should leave RDS?

Yes. We are vendor-neutral and do not resell AWS. When cost, extension requirements or control make self-managed PostgreSQL or MySQL on EC2 or Kubernetes the better answer, or when a workload belongs on a different engine entirely, we say so in writing before any project starts.

Put engine-level engineers behind your RDS estate

Start with a scoping call and an Extended Support exposure review of one Region. For an active production incident, the same page reaches the 24×7 Amazon RDS Support team.