- Amazon Route 53
While AWS offers a flexible pay-as-you-go system, many people find the pricing structure confusing. To avoid the unexpected cost after implementation, we'll explain everything from the basic billing structure to pricing for major services, commonly overlooked cost factors, and tips for saving money.
AWS pricing is based on a pay-as-you-go system, where you basically "pay for what you use." There's no need to purchase servers or storage upfront; you're charged according to the time, capacity, and processing volume you use. While this flexibility is what makes the cloud so appealing, it can also be difficult to grasp the overall picture because pricing is so fragmented.
The billing units differ for each AWS service. The most common ones are as follows:
Hourly: Charges are based on the amount of time a server is running, such as an EC2 instance.
Capacity unit: The amount of data stored (in GB or TB) in S3, EBS, etc.
Data Transfer: The amount of data sent over the internet or between regions (in GB)
Number of requests: Charges based on API calls and access counts (e.g., S3 GET/PUT requests)
Billing units vary depending on the service. For example, EC2 charges not only for the time the instance is used, but also for attached storage and transfer volume. On the other hand, S3 charges based on the number of requests and transfer volume in addition to data capacity. Some services, such as Lambda, charge by the number of executions and execution time, so even if a service is billed on a pay-as-you-go basis, the billing units differ for each service, so you need to understand in advance where the money will be generated.
EC2 provides virtual servers, and pricing is determined by the instance type, usage time, OS license, etc. If you use Reserved Instances or Savings Plans, discounts are applied for long-term use.
With S3, storage capacity is the basic billing unit, and you can optimize costs by selecting a class based on access frequency. With EBS, volume capacity and snapshots are charged, so it is important to note that leaving unused volumes can easily result in unnecessary costs.
While some data transfer within AWS is free, charges apply for data transfers to the Internet and between regions. For applications that distribute large volumes to external users, transfer charges tend to be a major cost.
RDS charges for database instances, storage, and backup space, while Lambda charges based on the number of executions and execution time, and also offers a monthly free tier.
EC2 is one of the most widely used services on AWS, and pricing is determined by the type of usage and components. The unit price varies depending on the contract type, and storage and data transfer are added in addition to instance operation, so when estimating the total cost, it is necessary to break it down.
on-demand
Start it when you need it and pay only for what you use.
It is suitable for early deployments and highly variable workloads.
Reserved Instances (RIs)
Sign up for a one-year or three-year contract to receive significant discounts.
Suitable for stable servers.
Spot Instances
Since it uses AWS's available capacity, the unit price is significantly lower.
Since it may be interrupted depending on demand, it is used for batch processing and verification environments.
Instance pricing
Hourly price per instance type
Storage fees
EBS Volumes and Snapshots
Data transfer charges
Internet-facing and inter-region communications
S3 is an object storage that stores and retrieves data, and charges are applied not only to storage capacity but also to requests and transfers. You can optimize costs by selecting a storage class based on access frequency.
Standard class is for frequent access
Migrating to IA or Glacier allows for low-cost storage
Charged based on the number of PUT/GET requests
Additional costs for internet and out-of-region transfers
RDS is a managed database service, and pricing is made up of three components: instance, storage, and backup. Costs can vary depending on the configuration, such as backup retention and IOPS settings.
Instance
Charge by DB engine and size
storage
Billing based on provisioned capacity
backup
Additional charges apply for automatic backups beyond the free limit
In addition to EC2 and S3, other frequently used services each have their own unique pricing models. Caution is required with Lambda and CloudFront, as the scale of use increases, making it easier to overlook charges.
Charged based on the number of executions and execution time (memory allocation x number of seconds)
There is a free tier, and lightweight processing can be used almost free of charge
Charges based on data transfer volume and number of requests from edge locations
The cost varies depending on the distribution area, so it is necessary to consider the distribution of target users.
Incoming data is generally free, but charges apply for sending data to the Internet and for transfers between regions and AZs. With external distribution or multi-region configurations, transfer fees can be higher than expected, so this is something to consider when designing your architecture.
When you stop an EC2 instance, charges for the compute resources stop, but charges for any connected EBS volumes and Elastic IPs continue. If you leave an instance stopped for a long period of time, such as in a development environment, you may continue to pay unnecessary storage costs.
EBS snapshots and RDS automatic backups are convenient, but if you leave old ones lying around, you will continue to be charged per GB. You need to be careful if you set a long retention period or keep multiple snapshots for verification purposes. Regular inventory and deletion of unnecessary backups are necessary.
It is also common to forget to delete resources created for testing or temporary use. Unused EBS volumes, unattached Elastic IPs, abandoned load balancers, logs, and monitoring metrics can all add up to unnecessary costs, even if they are small. Use cost management tools to visualize these costs and delete unnecessary resources.
You can receive discounts on resources that you will use stably over the long term by utilizing Reserved Instances (RI) and Savings Plans. RIs provide discounts of up to nearly 7% in exchange for fixing the instance type and region, while Savings Plans allow you to apply discounts more flexibly to Compute in general. The more fundamental the system, the more effective it is to combine these mechanisms to reduce costs.
Spot instances are effective for batch processing and test environments that require processing to be completed in a short time. While they are cheaper than regular on-demand instances, they may be stopped due to AWS's circumstances, so it is safer to use them only for workloads where redundancy and retries are effective.
By configuring autoscaling, which automatically increases or decreases resources according to system load, you can prevent the risk of insufficient resources during peak times and reduce unnecessary operation during idle times. If your usage patterns are determined by time of day or day of the week, combining it with schedule-based scaling will be even more efficient.
Idle EBS volumes, old snapshots, unused load balancers, etc. can add to costs without you even realizing it. By regularly taking inventory and incorporating a system into your operations to delete unnecessary resources, you can continuously optimize costs.
By utilizing AWS Cost Explorer and CloudWatch alerts, you can immediately detect abnormal increases in usage. Setting budgets and thresholds in advance will help prevent unexpected charges, so we recommend establishing a system for this from the beginning.
Before introducing AWS, use the AWS Pricing Calculator to estimate costs. The calculator allows you to calculate a monthly estimate simply by entering the services you will use, region, instance type, storage capacity, data transfer volume, etc. Estimates can be saved and shared, so they can also be used as reference material within your company.
When performing a price simulation, please note the following points:
Make sure to reflect data transfer costs
Egress to the internet and inter-region transfers are significant cost drivers.
Consider the associated costs
There are other billing points in addition to the main resources, such as EBS snapshots, RDS backups, S3 requests, and CloudFront requests.
Consider discount models
Reserved Instances and Savings Plans are effective for stable long-term use, but they may not be suitable for short-term use or when the load is unpredictable. It is wise to compare them with on-demand pricing and determine whether they fit your company's usage patterns before making a choice.
If you make calculations based on these factors, you can reduce the risk of discovering that the cost is higher than expected after implementation.
While AWS's pay-as-you-go pricing allows for flexibility, the detailed billing points mean that misunderstandings can result in higher-than-expected costs. "Elements that are often overlooked," such as data transfer and backups, can add up the longer you use the service.
To optimize costs, it is effective to receive discounts for stable operation with Reserved Instances or Savings Plans, adjust for highly variable processing with Spot Instances or auto-scaling, and regularly inventory unnecessary resources.
Before implementation, be sure to run a simulation using the AWS Pricing Calculator to get a realistic estimate that takes into account your usage of key services, ancillary costs, and discount models.
If you have any questions or concerns about using AWS, estimates, configuration, operation, etc., please feel free to contact us. We will help you make a smooth decision by establishing a common understanding with the local team and clarifying prerequisites.
This service, "IIJ Managed Cloud for AWS," is jointly provided by the IIJ Group, Japan's first commercial Internet service provider, and Serverworks, an AWS Premier Tier Service Partner. It is compatible with global environments, including Southeast Asia, and provides AWS support tailored to on-site decisions.
▶ Check out the detailed documentation
▶ Consult with us about using AWS