AWSData & storage5 min read

Check RDS instance utilization and storage choices

Sources checked September 7, 2026Varies by scope
On this page
THE SHORT ANSWER

Use Cost Explorer to review RDS billing meters by service and usage type, then investigate performance separately. Treat deployment-related labels as billing labels to inspect, not proof of a distinct Multi-AZ charge.

Why this is worth a look

Amazon RDS documents separate billing components for DB instance hours, provisioned storage, I/O requests, provisioned IOPS, backup storage, and data transfer. Instance hours are based on DB instance class, storage is provisioned capacity per GiB-month, provisioned IOPS is billed at the provisioned rate regardless of IOPS consumed, and backup storage is metered in GB-month. Multi-AZ DB instance deployments use a synchronous standby that cannot serve read traffic, while Multi-AZ DB clusters have one writer and two readable instances. The command returns UnblendedCost and UsageQuantity for the selected Cost Explorer scope, not CPU, query, or read-load measurements or complete invoice attribution.

Start with this query

BASH

Returns unprojected Cost Explorer JSON grouped by service and usage type for one billing period. Inspect the returned service labels to select Amazon RDS rows without relying on an unverified response projection.

Read-only AWS CLI Cost Explorer breakdown
#!/usr/bin/env bash
set -euo pipefail

# Set these to the billing period you want to review.
START_DATE='YYYY-MM-DD'
END_DATE='YYYY-MM-DD'  # exclusive

aws ce get-cost-and-usage \
  --time-period Start="$START_DATE",End="$END_DATE" \
  --granularity MONTHLY \
  --metrics UnblendedCost UsageQuantity \
  --group-by Type=DIMENSION,Key=SERVICE Type=DIMENSION,Key=USAGE_TYPE \
  --output json \
  --no-cli-pager

How to confirm it

  1. 01

    Choose a billing period

    Set START_DATE to the inclusive first date and END_DATE to the first date after the period you want to inspect. The command uses monthly granularity.

  2. 02

    Run the read-only command

    Execute it with credentials that can call the documented Cost Explorer get-cost-and-usage operation. The command requests UnblendedCost and UsageQuantity only, and makes no resource changes.

  3. 03

    Select the RDS rows

    In the JSON response, use the returned SERVICE and USAGE_TYPE group keys to identify Amazon RDS entries. Read each usage type separately rather than assuming a deployment-related label is a distinct Multi-AZ charge.

  4. 04

    Compare unlike meters carefully

    Keep cost amounts and usage quantities separate, and do not add quantities with different units. Use this billing view to identify cost components, then use performance telemetry for CPU, latency, query, connection, or read-load questions.

Before making changes

Assumes Cost Explorer is available to the credentials and that you want UnblendedCost and UsageQuantity for the Cost Explorer data visible in the current billing context. The command returns grouped service totals, not a complete invoice, discount, amortization, or allocation view. It does not establish payer, management-account, member-account, or linked-account attribution. For resource-level CUR 2.0 line items, enable INCLUDE_RESOURCES and use its line_item_resource_id column. Read the returned usage type labels instead of assuming identical labels across your scope.

Ignore this when the decision requires CPU, latency, query, connection, or read-load analysis rather than billing cost and usage meters.

Primary sources