How to specify a region for Google App Engine instance? - google-app-engine

When authorizing a Cloud SQL instance for an App Engine instance, it is required to have both instances in the same region - this is stated by Google here as below snapshot.
The issue is that we can choose the region for a Cloud SQL instance when creating it, though I'm not sure how we can choose one for creating/uploading an App Engine instance
So the question is, how to specify a region for App Engine instance?

Europe is available for App Engine apps, currently on a limited basis and by request. https://developers.google.com/appengine/docs/location
http://googledevelopers.blogspot.com/2012/12/app-engine-174-released.html
https://docs.google.com/forms/d/1W7LsnYRj0eBAzEQlDtFbsVuIZ0nFU2TaP7cZiaY4Z0Q/viewform?formkey=dDllb3FHLS1IdXVIcjVKR3FScklka1E6MQ
App Engine is just in the United States and Europe for now.
Previously on Stack Overflow: Verify/change application region at Google App Engine Change GAE application location

I came across this question 3.5 years later, and gcloud now supports creating App Engine applications for a project in a particular region:
$ gcloud app create --project=$PROJECTID --region=northamerica-northeast1
Alternatively it can be specified in the Google Cloud Console when creating a project's App Engine component.

Related

Allowing an App Engine app to access another App Engine app's datastore

I have a situation where an existing GAE App (let's call it app A) is running, but for non-technical reasons can't be modified. As users migrates to a new client version, we need to migrate their data from app A to a new GAE app (which I'll call app B).
Is there a way that I can grant app B access to app A's live datastore without modifying app A? My not modifying I mean not having to deploy new code. Changing setting or permissions in the Cloud Console is fine.
In case it matters, both apps that I'm referring to are written in Go.
It might not be possible to share the datastore across multiple GAE apps using the Google App Engine Standard Environment Client Libraries. At least for python it's not possible, donno about go.
But the Cloud Datastore Client Libraries can be used to share a datastore across many apps, even from outside Google Cloud.
Regardless of the particular way the old app accesses the datastore (language/library/etc.) it can be configured from the Cloud Console to allow access to a remote app. The exact procedure steps are captured in How do I use Google datastore for my web app which is NOT hosted in google app engine?
The new app would be using the above-metioned client library with the old app's service account credentials (obtained in the above paragraph procedure) to access the old app's datastore.

Google App Engine standard environment to Cloud-SQL Second Generation instance

I consider starting a PHP project in App Engine and would like to use Cloud 2SQL in the second generation.
Now I am confused if this is possible or not, since I have found different information on the google sites.
https://cloud.google.com/appengine/docs/php/cloud-sql/
Note: Access to Google Cloud SQL Second Generation instances can be granted only for apps running in the flexible environment. Learn more.
https://cloud.google.com/sql/docs/dev-access
App Engine standard environment to a Second Generation instance
You connect from Google App Engine standard environment) to Second Generation instances by completing the following steps:
Granting the application access (if required)
Updating your application to provide the appropriate connection string.
Is it now possible or not?
It is possible to use Cloud SQL v2 on App Engine standard.
Check out Terrance Ryan's (Developer Advocate for GCP) blog post on this topic [0], more specifically:
"If you are an App Engine customer and looked at v2 before, it did not support App Engine. However, that appears to have changed: you can now access Cloud SQL v2 from App Engine standard environment, or App Engine flexible environment."
[0] http://terrenceryan.com/blog/index.php/cloud-sql-v1-vs-v2/

I want to choose my own Server and own database in google app engine

I am very newly in google app engine.. There are three Questoins on google app engine and in google app engine i want to choose JAVA language.
Does google app engine provide private cloude ?
I want to deploy my application with my own server( E.x.glassfish or JBoss) on google app engine ?
I want to use my own database instead of cloud SQL in google app engine?
Is it possible or not?
With Google Cloud Appengine - no, it's impossible.
With Google Cloud Instances or Google Cloud Containers - all of this is possible.
Appengine is just one piece of Google Cloud, designed for very specific job, with infrastructure managed by Google. You can only write some code (with lot of restrictions too) that runs inside it. You can read some details about code restritions there: https://cloud.google.com/appengine/docs/java/#Java_The_sandbox
What you're looking for is Google Cloud Instances, that are more standard virtual machines, where you can run anything you want. See https://cloud.google.com/compute/
There is still tools for Load Balancing, Health Check, Centralized Logging for Cloud Instances, and other stuff similar to features provided by Appengine.

Multiple App Engine apps inside the same Google Cloud project

I have one App Engine app inside a Google Cloud Platform project. How can I create a second App Engine app inside the same project?
I tried to create a new application on https://appengine.google.com/ but it seems to create a new Google Cloud Platform Project.
I believe there is a 1:1 relationship between App Engine apps and Cloud projects, but you can create up to 20 (at time of writing) App Engine services (previously modules) within the same Cloud project.
It depends how much you want the apps / services to be able to share data / task queues, etc. Services will share the same Datastore, for example.
You can also have multiple Cloud projects associated with the same billing account.

Project created from App Engine Console comes with less features compared with project created from Cloud Console

When I create a new Application from App Engine Console https://appengine.google.com/,
the application also appears on Cloud Console https://cloud.google.com/console#c=l
However, clicking into the project shows that only these features are included:
App Engine
BigQuery
Cloud Datastore
Compared with Project created directly from Cloud Console:
App Engine
Compute Engine
Cloud Storage
BigQuery
APIs
Cloud Datastore
Cloud SQL
That leads to problem that App Engine project is missing access to many features and there seems no obvious way to add them back later.
Any idea what's wrong here?
1,This only implies that when you create an application from app engine console, it directly creates 3 types of projects: app engine app, datastore instance and big query(i think you need to enable the api first) with the same project id. This does not mean you cannot use the other features. It only means you need to separately enable them and give project ids.
2, If you create a project from cloud console, then it will automatically create projects under all the 7 different categories with the same project ID
Finally I found how to do this:
Go to https://appengine.google.com/
Open your app
Open Administration / Application Settings
Click the button in the "Cloud Integration" section

Resources