A Google Cloud Platform project contains your App Engine application as well as other GCP resources.From the Google Cloud Platform Console, Cloud SDK, and App Engine Admin API, you can perform all of your administrative tasks, including the common tasks covered in this topic.
Before you can deploy your apps to the App Engine flexible environment, you typically need to create or set up the following:
Creating a project and application with billing enabled
You can select or create a new Google Cloud Platform project and App Engine application to create and manage a collection of settings, credentials, and your app's metadata. For the App Engine flexible environment, you must also enable billing in your projects.
Only the Owner role has privileges to create an App Engine application in a GCP project and that application must exist before any other account can perform tasks on that application. For example, the App Engine application must be created before an account with the App Engine Deployer role can deploy an app using a service account.
To create a GCP project and App Engine application with billing enabled:
Go to the App Engine page:
Select or create a GCP project.
In the Your first app with Ruby page, select a region and enable billing:
Select a region to specify where you want to your App Engine application located. More information about App Engine locationshelp_outline
Select or create a billing account to enable billing in your project.
After the App Engine application is created and billing is enabled in your project, the Dashboard page opens.
an account with the GCP project Owner role can run the following
gcloud commands to create a GCP project and App Engine
To programmatically create a GCP project and App Engine application, you use both the Resource Manager API and App Engine Admin API:
App Engine Locations
App Engine is regional, which means the infrastructure that runs your apps is located in a specific region and is managed by Google to be redundantly available across all the zones within that region.
Meeting your latency, availability, or durability requirements are primary factors for selecting the region where your apps are run. You can generally select the region nearest to your app's users but you should consider the location of the other GCP products and services that are used by your app. Using services across multiple locations can affect your app's latency as well as pricing.
App Engine is available in the following regions:
southamerica-east1(São Paulo) *
* For customers using the São Paulo region, all regional product SLAs remain in force. However, multi-region and cross-region functionality that span across North America and South America might temporarily have reduced availability or performance.
You cannot change an app's region after you set it.
If you already created an App Engine application, you can view the
region by running the
gcloud app describe command or opening the
App Engine Dashboard in the GCP Console.
The region of your App Engine application is listed under
Enabling billingTo deploy your apps, you must enable billing. If you have a billing account when you create a GCP project, then billing is automatically enabled on that project.
To enable billing on a GCP project:
In the GCP Console, go to the Billing page:
Select or create a GCP project.
Depending on if a billing account exists or if the selected GCP project is associated with an account, the Billing page displays one of the following:
If billing is already enabled for the selected GCP project, then the details about the billing account are listed.
If no billing account exists, you are prompted to create a billing account and associate it with the selected GCP project.
If a billing account exists, you are prompted to enable billing if the selected GCP project is not already associated with a billing account. You can also click Cancel and then click Create account to create and associate a new billing account.
After you enable billing, there is no limit to the amount that you might be charged. To gain more control over your application's costs, you can create a budget and set alerts. Spending limits are not supported in the App Engine flexible environment.
Use the Billing page to manage your billing accounts:
Go to the Billing page in the GCP Console:
Select the account that you want to manage and then navigate to the corresponding page to perform the following management tasks:
- See an overview of your billing account, make payments, and add billing account administrators from the Overview page.
- Create budgets and alerts on the Budgets & alerts page.
- View your transaction history and download invoices from the Transactions page.
- Export your billing data to a BigQuery Dataset from the Billing export page.
- Configure your payment account and contacts on the Payment settings page.
- Set the method of payment on the Payment method page.
For more information about billing, see the Pricing page.
Creating budgets and setting alerts
You can create a budget for a GCP project to avoid surprises on your bill and monitor all of your Google Cloud Platform charges from one place. With a budget, you can create alerts that send emails to your billing administrators when charges exceed a certain amount.
To create a budget and set alerts in a GCP project:
In the GCP Console, go to the Billing page:
Click the billing account for which you want to create a budget.
Click Budgets & alerts and then Create budget to begin creating a budget for your GCP project.
Define your budget in the Set budget section and then specify the percentages for which you want to receive email alerts in the following Set budget alerts section.
Click Save to set the budget and enable alerts for your GCP project. If you have multiple GCP projects, you must individually set budgets and alerts in each project.
After you enable billing, you can stop automatic payments for a GCP project by disabling billing for the project. Alternatively, if you want to release some of the resources used in a project, you can disable your application. If you don't need your GCP project, release all of the resources by shutting down the project.
Disabling an application
Disable an App Engine application to stop your app from running instances and serving requests. No data loss will occur when you disable your app, nor will any configuration settings change. Simply re-enable your App Engine application to startup instances and continue serving the traffic to your app.
Your app's resources in both the standard and flexible environment are disabled and therefore, won't incur charges. However, billing charges can still occur for the other services in your GCP project, for example you can still incur storage charges for your stored data.
If your app is actively processing a request, it will continue to complete that task and can take up to an hour before your app is completely disabled.
To disable an App Engine application:
Go to the Application settings page:
Click Disable application and then follow the prompts.
When you want your app to continue serving requests, enable the App Engine application by returning to the same Application settings page and then clicking Enable application.
Disabling your application stops all serving requests, but your data and state are retained. You will still be billed for applicable charges already incurred or charges for other services running in your project, such as Cloud SQL. To release all the resources used within the project, shut down your project.
Shutting down a project
You can disable billing and release all the GCP resources that are being used in your GCP project by shutting down that project.
To shut down GCP projects using the GCP Console:
Go to the Projects page:
Select the GCP project that you want to shut down and then click Delete Project.
For more information about managing your GCP projects, see Cloud Resource Manager: creating, shutting down, and restoring projects.
After installing the Google Cloud SDK, you run the following
gcloud command to shut down a GCP project:
To programmatically shut down your GCP project, see Shutting Down a Project in the Resource Manager API.