AWS RDS
Required AWS RDS Attributes
The following cost calculation tags are required for traces associated with queries running against AWS RDS instances.
Always Required Fields
These fields are always required regardless of the database engine:
| Attribute Name to Send to Beakpoint Insights | Example Value | Allowed Values |
|---|---|---|
| aws.rds.instance.id | mydbinstance | Any valid RDS instance identifier |
| aws.rds.instance.class | db.t3.micro | Any valid RDS instance class |
| aws.region | us-east-1 | Any valid AWS region |
| aws.rds.deployment.option | Single-AZ | Single-AZ, Multi-Az |
| aws.rds.engine | aurora-postgresql | aurora-postgresql, postgres, mysql, mariadb, oracle-se2, oracle-ee, sqlserver-ex, sqlserver-web, sqlserver-se, sqlserver-ee |
| aws.rds.engine_version | 15.2 | Any valid version for selected engine |
| aws.rds.storage.type | aurora | aurora, gp2, gp3, io1, io2, standard |
| aws.rds.license.model | postgresql-license | Any valid license model |
Required for CUR Cost Finalization
Costs calculated from the tags above are provisional — estimated from list prices. When you connect your AWS Cost and Usage Report (CUR), Beakpoint Insights replaces provisional costs with your actual billed costs by matching spans to CUR line items. That matching requires one additional tag:
| Attribute Name | Example Value | Allowed Values |
|---|---|---|
cloud.resource_id | arn:aws:rds:us-east-1:123456789012:db:mydbinstance | The full RDS instance ARN |
cloud.resource_id should be set as an OpenTelemetry resource attribute. Spans sent directly via OTLP will not match your CUR data if the tag only appears at the span level, and their costs will remain provisional indefinitely. (Traces imported from AWS X-Ray have span-level values promoted automatically, but do not rely on this.)
Visualization with Mermaid
The diagram below shows which attributes are required depending on the instance type.
Retrieving RDS Instance Details
You can retrieve instance details using AWS CLI:
AWS CLI
aws rds describe-db-instances --db-instance-identifier mydbinstance --region us-east-1
which will return:
{
"DBInstances": [
{
"DBInstanceIdentifier": "mydbinstance",
"DBInstanceClass": "db.t3.micro",
"Engine": "postgres",
"EngineVersion": "15.2",
"MultiAZ": true,
"StorageType": "gp2",
"ReadReplicaSourceDBInstanceIdentifier": "source-db-id",
"DBClusterIdentifier": "my-cluster",
"AvailabilityZone": "us-east-1a"
}
]
}