I am actually deploying a Django app in App Engine Flexible for the first time, so to not have a high bill, I want to delete all the instances that were created when I used gcloud app deploy (2 instances are created every time)
By checking in the console I only find two instances, and only when I delete them that the two instances before them appear.
I tried then running gcloud app instances list, but I still see only the last two instances.
Do you have a method to see all the instances for a given project in App Engine?
Related
When using the node library #google-cloud/tasks and trying to create a Cloud Tasks Queue in the europe-west2 region with the client.createQueue function I get the following error:
Any resource that needs App Engine can only be created/updated in the App Engine region. Location must equal europe-west1 because the App Engine app that is associated with this project is located in europe-west1
As far as I can tell App Engine can only be set to europe-west which is considered to be europe-west1. However I can create a queue in europe-west2 through the Cloud Console. For regulation reasons we need to keep data inside the UK so preferably we wouldn't use europe-west1
Is there any way around this?
You can choose europe-west2 when creating the App Engine instance, I just tested in a new project.
If you already created a europe-west instance then Google don't let you change the region once it's created, see 3rd paragraph here. Unfortunately you can't delete the App Engine instance either without deleting the whole project.
The only way to change an App Engine region is to delete the whole project, recreate and choose the new region.
I'm currently working on a project that I want to move into the cloud so I can scale to multiple users. Basically, I want to grab the name for every user from my database (thinking about using Firestore for this), and for each of those names I want to call a python script every 24 hours (will use a Cloud Scheduler job). I envision that I would use Cloud Run, since I would want multiple instances of the python script running at the same time (one for every user) and I would want it to be serverless since I would only be running it once a day.
My questions are:
Are the cloud services I chose the correct ones for the job? For instance, is there a better service than Cloud Run to launch the script?
Is there built-in functionality to pass in entries in Firestore and launch a Cloud Run instance for each? I see, for instance, that issue Does it make sense to run a non web application on cloud run? is very close to my question, but they do not interact with the database element
Deployed a django project in gcloud in flexible environment from local using gcloud app deploy.
The changes are getting reflected in the live url.
I am trying to access the deployed django project folder through gcloud shell, but not able to find it.
What am i doing wrong ?
Extended from discussion with #babygameover.
Google App Engine(GAE) is a PaaS. in GAE, one could just code locally and deploy the project, while the scaling of instances and its related resources would be taken care by gcloud.
And to have control over instances, the project should be moved into Google Compute Engine(GCE) where one would get finer control over instance configurations.
Among other things, each instance will need to have a growing number of hosts as bindings in IIS. There are additional OS-configurations that will need to be made outside of what Beanstalk's intentions are, but I believe the answer to the question will be the same.
So my question is simply, how are the new instances created? Are they as basic as just spinning up a new default instance with just my application, or do the new instances appear with all of the same custom IIS binding/OS configuration as others (my minimum instances) have?
Elastic beanstalk create new instances in the following way:
1. Create new instance based on ami defined in the environment configuration.
On the created instance:
2. When instance created run bootstrap scripts on instance in order to setup it one.
3. Downloads from s3 current version of the application bundle.
4. Runs elastic beanstalk hooks which runs configuration files from .ebextentions and perform deploy of application.
5. Application up and running:)
I have created an ubuntu 32 bit instance and installed python packages on it.
My code is running fine on it.
Now I need to create another instance exactly same as this running instance,But the main concern is that both instances shouldnot share the database or mysql.
Can I install different mysql in both or is there any other wayout?
To launch additional EC2 instances based on one you've already created, just go to the EC2 dashboard in your account, view your instances, select the one you want to clone and from the ACTIONS menu select "Launch more like this." Your new server request will kick off and you can change any parameters you want to in that process (such as throwing your new instance into a different AZ, etc.)
For running MySQL separately, you have a couple of good/easy options here:
If the MySQL engine is already installed on the first server (the one you're cloning) you could run a parallel engine on your second server, so they both run in parallel -- and are entirely independent of one another.
Alternatively, you could spin up a MySQL flavored RDS instance and simply run two DBs on that, one for each of your two EC2 servers. That would take the MySQL overhead off of your EC2s, give you one place to manage your DBs, and would probably be less of a management hassle in the long run.