Amazon Web Services offers an array of compute, storage, networking and application services under which falls a vast array of options, making it difficult to understand what -- exactly -- is on your bill. The keys to understanding your cloud usage bill is knowing the variety of ways AWS charges for its services and better tracking your cloud use.
AWS Inc.'s cloud bills include a separate section for each service consumed. The five major service types are compute and networking, storage and content delivery, databases, deployment and management, and application services. Within each of these categories, AWS offers multiple services.
The storage and content delivery category, for example, includes Simple Storage Service (S3) object store, Amazon Glacier archival storage, the Storage Gateway for integrating with on-premises storage systems and CloudFront, a content delivery service. Services grouped in a particular category tend to follow a similar cost structure.
Service charges are primarily based on three things: the location of the data center providing the service, the volume or quantity of service and the performance level of the service. Amazon S3 storage in the U.S. data center, which is located in Oregon, costs $0.095 per GB for the first 1 TB of data. The same amount of storage will cost $0.105 in the Asia Pacific data center in Sydney, Australia. The price drops for reduced redundancy storage since it offers a lower level of service.
Additional complications to your AWS bill charges
After thinking about location, volume and service level, AWS charges can become further complicated based on other options and features. So the next step to understanding your cloud bill is to understand the variables that determine the unit price you are charged per service.
Additional feature options, such as the number of virtual CPUs, amount of memory and operating system choice, also affects the price of Amazon's computing services.
Charges for virtual machine (VM) instances vary according to the level of commitment you subscribe to. AWS offers lower per-unit pricing for reserved instances than for on-demand instances. The company also allows users to bid on unused server capacity with spot instances.
Your AWS bill will include charges for Web service calls to query or manipulate cloud resources. For example, AWS charges $0.01 per 1,000 Web service calls to perform copy, put, post or list operations in S3. Similarly, if you use the Amazon Simple Queue Service (SQS), you will be billed $0.01 per 10,000 SQS requests.
Some Amazon pricing models are designed to reinforce a resource's expected use case. This is especially apparent with Amazon Glacier, an archival storage service. With Glacier, AWS allows you to retrieve up to 5% of your content per month, pro-rated on a daily basis. You are charged a penalty for deleting content within 90 days of storing it in Glacier while using the pro-rated pricing scale. To avoid unexpected charges, be sure to consider which services in the various bill categories fit with your workflows and other requirements.
In addition to direct AWS cloud charges, you may incur charges if you use services from Amazon Marketplace, where software developers and vendors offer their services to run in the Amazon cloud with usage-based billing. Most vendors offer machine images with their installed software and customers pay a software fee or annual license fee in addition to Amazon's charges for VMs.
Tracking your AWS cloud use
The multitude of service options and additional features are already difficult to track within an enterprise. However, tracking charges creates further issues when a company or department uses multiple AWS accounts.
AWS does offer consolidated billing that combines the charges of multiple accounts into a single bill. In addition to reducing the number of bills you receive, this service combines resource usage charges. This means you're more likely to be eligible for lower prices on some services if your combined level of use reaches the minimum thresholds for reduced pricing. For example, if the combined amount of storage in a consolidated account exceeds 50 TB, then storage above 50 TB is billed at $0.07 GB per month instead of $0.08 GB per month, which would be the charge if the accounts were billed individually, each storing between 1 TB and 49 TB of data.
In cases where you have to track multiple projects using the same AWS account, the cloud provider can help to devise your own scheme to tag your resources. A tag is a key value pair you assign to resources, such as VM instance, EBS volumes, images and VPN connections. For example, you might tag resources with their project name and bill to the corresponding account number. See Amazon AS documentation for more on how to configure tags to appear on your bill.
About the author:
Dan Sullivan, M.Sc., is an author, systems architect and consultant with more than 20 years of IT experience. He has had engagements in advanced analytics, systems architecture, database design, enterprise security and business intelligence. He has worked in a broad range of industries, including financial services, manufacturing, pharmaceuticals, software development, government, retail and education. Dan has written extensively about topics that range from data warehousing, cloud computing and advanced analytics to security management, collaboration and text mining.