I'm using the App Engine to develop an app, no deployment to production yet only a few build of a very basic python backend and light frontend. I deploy the app in us-east-01 region, one of the three region availables for Cloud Storage for its free tier use. But for some reason I get billed for the use of Cloud Storage in this project for $0.01. The SKU description is "Networking Traffic Egress GCP Replication within Northern America" and the cost of use $0.01.
Accordingly to the docs Cloud Storage I shouldnt be charged, so What I'm missing here? Will I be charged for a cloud storage use for the deployed app? If I don't use Cloud Storage for anything else, Should expect any other charge?
I expect to maintain the app only in a free tier, once deploy to production the use will be minimun. I really don't want to encounter another unexpected charge.
I verified the billing dashboard, I'm only getting billed by Cloud Storage in the same project of App Engine. I verified the region I chose to deploy the app in app engine, is us-east-01.
Hi, Juan. Thank you for the question. It looks like these charges are for replication of data between regions in a multi-regional or dual-region bucket. When you use buckets in these kinds of locations, data is replicated among regions. This kind of egress is not currently included in the free tier. To keep your app free, use a single region bucket.
Kir
Thanks you for your quick answer. How can I set a single region bucket?. And there is something more that I don't understand, Was I charged for storing the app files or sending data to an end user (me while testing the app)? Because if I'll be charged only for the deployment of the app (using gcloud app deploy) and it's only $0.01 or so, no problem, but if I will be charged for one user using the app from Argentina I do have a problem in this case, and I should try something else.
What I believe if happening is that you are charged for storing the application files -- or replication -- not for user traffic. This is because the default bucket is multi-regional and every time you upload a new version of the app, the files are effectively replicated between two zones. This charge has only recently came into effect (https://cloud.google.com/storage/pricing-announce).
To solve this, we need to move your app engine default bucket to a single-region one. I haven't found a straightforward way of doing this, but I haven't searched hard. One way to do this would be to copy your app engine default bucket contents to a temp bucket, make note of all the permissions / ACLs set on that bucket, delete it, create a new single-region bucket with the same name and grant all the same permissions to that bucket. This worth a test first since it might be that there are special rules that prevent you from creating buckets with names expected from internal apps. My hope is that App Engine has a way to configure the default bucket to point to something else instead. I'll look into this deeper if I have the time, but if anyone else watching can offer input -- please do 🙂
Hi Kir.
Thanks for the pointers. Here are the things I have found.
At this point, I'm simply frustrated and disgusted with this loophole. I need to try more radical approaches. Let's see if I can find a workaround.
Hi @anandabibek , did you find a fix for this?