I want to estimate the costs associated with using Elastic Throughput mode in Amazon Elastic File System (Amazon EFS).
Short Description
When Amazon EFS is configured in Elastic Throughput mode, charges are based on the volume of data and metadata transferred during read and write operations.
Important Considerations:
-
Metadata operations are metered in 1 KiB increments after the first 4 KiB.
-
Data operations are metered in 1 KiB increments after the first 32 KiB.
-
For additional details on how storage and throughput usage are metered to calculate your bill, see How Amazon EFS reports file system and object sizes.
-
Pricing varies by AWS Region. For this example, I'll use the "eu-west-1" region pricing:
- Reads: $0.03 per GB transferred
- Writes: $0.07 per GB transferred
Note: Always check the Amazon EFS pricing page for the most up-to-date pricing information for your specific AWS Region.
Resolution
You can estimate Elastic Throughput mode costs using a simplified automated method via CloudWatch metrics.
Automated Method: Use CloudWatch JSON Configuration
Use this approach for quick setup and cost analysis using a predefined CloudWatch metric source.
Step 1: Access CloudWatch
- Log into the AWS Management Console.
- Navigate to CloudWatch → Metrics → All Metrics.
Step 2: Paste the JSON Configuration and Understand the Metrics
Copy and paste the following JSON configuration into the Source tab. This JSON defines the four key metrics required to calculate EFS Elastic Throughput usage:
- DataReadIOBytes: Number of bytes for file read operations
- MetadataReadIOBytes: Number of bytes for metadata read operations
- DataWriteIOBytes: Number of bytes for file write operations
- MetadataWriteIOBytes: Number of bytes for metadata write operations
{
"region": "YOUR_REGION",
"metrics": [
["AWS/EFS", "DataReadIOBytes", "FileSystemId", "YOUR_EFS_ID", {"stat": "Sum", "period": 900}],
[".", "MetadataReadIOBytes", ".", ".", {"stat": "Sum", "period": 900}],
[".", "DataWriteIOBytes", ".", ".", {"stat": "Sum", "period": 900}],
[".", "MetadataWriteIOBytes", ".", ".", {"stat": "Sum", "period": 900}]
],
"view": "table",
"stacked": false,
"title": "EFS Elastic Throughput Cost Estimation"
}
Note: Replace YOUR_REGION and YOUR_EFS_ID with your AWS Region and EFS file system ID.
Step 3: Analyze and Calculate Costs
-
After pasting the JSON configuration into the Source tab, click the "Update" button in the CloudWatch console.
-
After clicking "Update", the metrics will appear in a table format. Review the displayed values in the "Sum" column for:
- DataReadIOBytes
- MetadataReadIOBytes
- DataWriteIOBytes
- MetadataWriteIOBytes
-
These "Sum" values represent the total bytes transferred for each operation type over the specified time period (in this example, a 24-hour period from 2025-06-15T00:00:00 to 2025-06-15T23:59:59:

Figure 1: CloudWatch metrics showing EFS Elastic Throughput usage with Data and Metadata IO Bytes in Sum view
Note: The values might be displayed in different units (GB, MB, or KB). For accurate cost calculation, ensure all values are converted to GB.
- Use these values to calculate your estimated cost by following the formulas outlined in the "Calculate Costs" section below.
Calculate Costs
Convert MB to GB:
1 GB = 1024 MB
- Total Reads (GB) = DataReadIOBytes + MetadataReadIOBytes
- Total Writes (GB) = DataWriteIOBytes + MetadataWriteIOBytes
Apply pricing:
- Read Cost = Total Reads × $0.03
- Write Cost = Total Writes × $0.07
Example Calculation
Our CloudWatch metrics shows:
- DataReadIOBytes = 10.7 GB
- MetadataReadIOBytes = 26.6 MB (≈ 0.0266 GB)
- DataWriteIOBytes = 10.9 GB
- MetadataWriteIOBytes = 4.24 MB (≈ 0.0042 GB)
Calculation:
-
Total Read = 10.7 + 0.0266 = 10.7266 GB
-
Total Write = 10.9 + 0.0042 = 10.9042 GB
-
Read Cost = 10.7266 × $0.03 ≈ $0.32
-
Write Cost = 10.9042 × $0.07 ≈ $0.76
-
Total Estimated Cost = $1.08

Figure 2: AWS Billing Console breakdown showing Elastic Throughput reads ($0.30) and writes ($0.71) totaling $1.01
Note: The slight difference between our calculation ($1.08) and actual billing ($1.01) is due to the precise measurement and rounding used in the AWS billing system.
Related Information