App Engine applications run as instances within the standard environment or the flexible environment.
Instances within the standard environment have access to a daily limit of resource usage that is provided at no charge defined by a set of quotas. Beyond that level, applications will incur charges as outlined below. To control your application costs, you can set a spending limit. To estimate costs for the standard environment, use the pricing calculator.
For instances within the flexible environment, services and APIs are priced as described below.
If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUs apply.
Resource billing rates
An application can incur a variety of different costs, according to the resources and services that are used. See the tables below for details on the costs of specific resources.
Standard environment instances
Applications running in the App Engine standard environment are deployed to instance classes that you specify. This table summarizes the hourly billing rates of the various instance classes.
Instance class | Cost per hour per instance |
---|---|
B1 | |
B2 | |
B4 | |
B4_1G | |
B8 | |
F1 | |
F2 | |
F4 | |
F4_1G |
Note: For each instance, there is an initial start up cost of 15 minutes instance time.
Instances running in manual and basic scaling services are billed at hourly rates based on uptime. Billing begins when an instance starts and ends fifteen minutes after a manual instance shuts down or fifteen minutes after a basic instance has finished processing its last request. Runtime overhead is counted against the instance memory limit. This will be higher for Java than for other languages.
Important: When you are billed for instance hours, you will not see any instance classes in your billing line items. Instead, you will see the appropriate multiple of instance hours. For example, if you use an F4 instance for one hour, you do not see "F4" listed, but you see billing for four instance hours at the F1 rate.
Flexible environment instances
Applications running in the App Engine flexible environment are deployed to virtual machine types that you specify. These virtual machine resources are billed on a per-second basis with a 1 minute minimum usage cost.
This table summarizes the hourly billing rates of the various computing resources:
Resource | Unit | Unit cost |
---|---|---|
vCPU | per core hour | |
Memory | per GB hour | |
Persistent disk | per GB per month |
Google Cloud Datastore calls
Cloud Datastore operations are billed as follows:
Resource | Free quota per day | Unit | Price beyond the free quota per unit |
---|---|---|---|
Stored data | 1 GB | per GB per month | |
Entity reads | 50,000 | per 100K entities | |
Entity writes | 20,000 | per 100K entities | |
Entity deletes | 20,000 | per 100K entities | |
Small operations |
Search
Fees for use of the Search API are listed in the table below. Refer to the Java and Python documentation for a detailed description of each type of Search call.
Resource | Unit | Price per unit |
---|---|---|
Total storage (documents and indexes) | per GB per month | |
Queries | per 10K queries | |
Indexing searchable documents | per GB |
* Storage is at Datastore rates.
If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUs apply.Other resources
Resource | Unit | Unit cost (in US $) |
---|---|---|
Outgoing network traffic - standard environment* | Gigabytes | |
Outgoing network traffic - flexible environment | Gigabytes | Google Compute Engine Network Rates |
Incoming network traffic | Gigabytes | |
Blobstore and Task Queue stored data** | Gigabytes per month | |
Dedicated memcache | Gigabytes per hour | |
Logs API | Gigabytes | |
Sending email, shared memcache, cron, APIs (Task Queues, Image, Files, Users) |
* Excludes traffic from the URL Fetch service to Google APIs at *.googleapis.com.
** Blobstore can use Google Cloud Storage buckets to store blobs, including the App Engine default bucket. Costs follow the pricing for Google Cloud Storage Multi-Regional buckets.
If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUs apply.Note: If your app exceeds the free quota for a resource needed to
initiate a request, such as the bandwidth quota or instance hours quota, users of the app will
get a server error, such as a HTTP 503
error. For all other services, exceeding
quota from a free app will generate a quota exception that your app can handle gracefully by
showing a message to the users. For more details, see
When a Resource is Depleted.
Managing billing
You must be a project owner to be a billing administrator and complete basic billing tasks. For more information, see the support help page on how to Manage billing administrators.
Billing settings
To use computing resources above the free quotas, add a billing account and enable billing for your project in the Google Cloud Platform Console. For further instructions, see Enabling billing.
If you already have a billing account when you create a project, billing is enabled for that project by default. If you have more than one billing account when you create a project, you must select an account to associate with your project. If you don't have a billing account when you create a project, then you must add a billing account and enable billing for that project to use resources beyond the free quotas.
If you disable an application, you should also disable billing for that application, as the app can still be charged for fixed billing costs, like datastore storage.
After you enable billing, the spending limit is set to unlimited by default. You might want to set a spending limit so there is a limit to the amount you can be charged per day.
Spending limits
The spending limit is the maximum resource cost you want to pay in a day for a project for App Engine resources. The limit is approximate, and it might be exceeded slightly while your application is disabled. You can also be charged for usage of other Google Cloud Platform resources beyond the spending limit. If you have multiple projects, you might want to set a spending limit for each project.
The spending limit should be large enough to be able to handle spikes in resource usage. When an application exceeds its daily spending limit, any operation whose free quota has been exhausted fails.
By default, the spending limit for a project is unlimited. To limit application costs, set a spending limit.
Understanding billing
To view your app's charges, in the Google Cloud Platform Console, go to Billing. Select the billing account, then go to the History page.
Only billing administrators can view the transaction history. No paper invoices are sent to the billing contact.
The transaction history shows all account activity related to resource charges and payments. The report uses the US Pacific timezone.
Daily and monthly charges
Charges are posted daily and monthly:
- Daily: Every day you are charged for the resources you actually use. Usage up to the free quota limits is included in the usage total, but not in the billable amount. Usage above the free quota is charged at the regular rates.
- Monthly: At the beginning of each month all daily charges for the previous month are summed, applicable taxes are computed, and the total charges are debited from the payment method that is linked to the app.
Taxes
Some countries tax App Engine fees. If taxes apply in your country of residence, your bill will include any applicable taxes. Note that the spending limit does not include taxes. Taxes are added to your charges after daily spend has been calculated, so the final charge to your account may be larger than the spending limit amount. To see any taxes in your bill, in the Google Cloud Platform Console, go to Billing. Select the billing account, then go to the History page to view the transaction history.
Grace periods
You can view your app's current billing status in the App Engine dashboard in the GCP Console. If a payment fails, the app's account is delinquent and enters a grace period status. You have until the end of the grace period to pay the outstanding balance. During the grace period, the app will continue to run with its budget constraints. If payment is not received, your quotas may be reverted to the default levels.
To clear the outstanding charges you can go to the Transaction History page where you can click Make a Payment. You may need to go to the Billing Settings page first, where you can add another payment source or correct a problem with an existing account, such as an expired card. If payment succeeds, the billing status will change to Billing Enabled.
Help
See the Cloud Billing guide for more information.
Report billing problems to Cloud Services by filling out this online form.