Allocating per-tenant DynamoDB cost with the least operational effort
A software as a service (SaaS) company has developed a multi-tenant environment. The company uses Amazon DynamoDB tables that the tenants share for the storage layer. The company uses AWS Lambda functions for the application services. The company wants to offer a tiered subscription model that is based on resource consumption by each tenant. Each tenant is identified by a unique tenant ID that is sent as part of each request to the Lambda functions. The company has created an AWS Cost and Usage Report (AWS CUR) in an AWS account. The company wants to allocate the DynamoDB costs to each tenant to match that tenant's resource consumption. Which solution will provide a granular view of the DynamoDB cost for each tenant with the LEAST operational effort?
Community Votes
83% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
DynamoDB already emits consumed read/write capacity; logging tenant ID with RCU/WCU per transaction and aggregating on a schedule yields per-tenant cost visibility with the least operational overhead compared with tagging or re-partitioning tables.
A SaaS provider wants granular per-tenant DynamoDB cost with minimal operations. Logging the tenant ID and the consumed RCUs/WCUs per transaction to CloudWatch Logs and calculating tenant cost from those metrics plus the overall DynamoDB cost gives a fine-grained view without building a tagging or partitioning pipeline.
Assuming cost allocation tags (Option A) alone give DynamoDB per-tenant granularity — DynamoDB costs are not broken out by item or tenant via tags, so tags cannot isolate a single shared table's per-tenant consumption.
Community Discussion (9 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Option B meets the 'least operational effort' bar: the Lambda functions already receive the tenant ID, so logging it alongside the consumed RCUs and WCUs per transaction requires minimal code change. A scheduled calculation Lambda uses those logged capacity units with the overall DynamoDB cost from the Cost Explorer API to allocate cost per tenant. No table restructuring or tagging program is needed.Why the Other Options Are Wrong
Option A relies on cost allocation tags, but DynamoDB does not attribute a shared table's cost to individual tenants via tags, so granularity is lost. Option C adds a new partition key and an Athena pipeline, increasing operational effort. Option D uses CloudWatch Logs Insights and Pricing Calculator but still lacks a clean per-tenant consumption metric and adds manual pricing work.Community Comment Notes
kejam (likes 5) endorses B as the least-effort fine-grained approach and references the AWS SaaS cost-per-tenant blog. TomTom prefers A for built-in tagging, but tagging cannot isolate per-tenant consumption in a single shared table.Official Reference
Related Analysis
Practice All SAP-C02 Questions
Access 85 questions with complete answers and detailed explanations.
View Full SAP-C02 Practice Test →