Stay organized with collections Save and categorize content based on your preferences.
Region IDThe REGION_ID
is an abbreviated code that Google assigns based on the region you select when you create your app. The code does not correspond to a country or province, even though some region IDs may appear similar to commonly used country and province codes. For apps created after February 2020, REGION_ID.r
is included in App Engine URLs. For existing apps created before this date, the region ID is optional in the URL.
Learn more about region IDs.
Security is a core feature of the Google Cloud, but there are still steps you should take to protect your App Engine app and identify vulnerabilities.
Use the following features to ensure that your App Engine app is secure. To learn more about the Google Security Model and the available steps that you can take to secure your Google Cloud projects, see Google Cloud Platform Security.
HTTPS requestsUse HTTPS requests to access to your App Engine app securely. Depending on how your app is configured, you have the following options:
appspot.com
domains
https
URL prefix to send HTTPS request to the default
service of your Google Cloud project, for example:https://PROJECT_ID.REGION_ID.r.appspot.com
To target specific resources in your App Engine app, use the -dot-
syntax to separate each resource you want to target, for example:https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
To convert an HTTP URL to an HTTPS URL, replace the periods between each resource with -dot-
, for example:http://SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com
https://SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com
For more information about HTTPS URLs and targeting resources, see How Requests are Routed.
To send HTTPS requests with your custom domain, you can use the managed SSL certificates that are provisioned by App Engine. For more information, see Securing Custom Domains with SSL.
In each Google Cloud project, set up access control to determine who can access the services within the project, including App Engine. You can assign different roles to different accounts to ensure each account has only the permissions it needs to support your app. For details see, Setting Up Access Control.
App Engine firewallThe App Engine firewall enables you to control access to your App Engine app through a set of rules that can either allow or deny requests from the specified ranges of IP addresses. You are not billed for traffic or bandwidth that is blocked by the firewall. Create a firewall to:
For details about creating rules and configuring your firewall, see Controlling App Access with Firewalls.
Ingress controlsThis section describes how to use ingress settings to restrict network access to your App Engine app. At a network level, by default, any resource on the internet is able to reach your App Engine app on its appspot URL or at a custom domain set up in App Engine. For example, the appspot.com
URL can have the following format: SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com
.
You can change this default setting by specifying a different setting for ingress. All ingress paths, including the default appspot.com
URL, are subject to your ingress setting. Ingress is set at the service level.
The following settings are available:
Setting Description Internal Most restrictive. Allows requests from resources attached to the project's VPC networks, such as:appspot.com
URL. Requests from other sources, including the internet, cannot reach your service at the appspot.com
URL or custom domains. There is no support for multi-tenancy, that is, multiple trust domains within the same project. Internal and Cloud Load Balancing Allows requests from the following resources:
appspot.com
URL bypass the external Application Load Balancer, so this setting prevents external requests from reaching the appspot.com
URL. All Least restrictive. Allows all requests, including requests directly from the internet to the appspot.com
URL. Accessing internal services
The following considerations apply:
For requests from a Shared VPC, traffic is only considered internal if the App Engine app is deployed in the Shared VPC host project. If the App Engine app is deployed in a Shared VPC service project, only traffic from networks owned by the app's own project is internal. All other traffic, including traffic from other Shared VPCs, is external.
When accessing internal services, call them as you would normally do by using their public URLs, either the default appspot.com
URL or a custom domain set up in App Engine.
For requests from Compute Engine VM instances or other resources running inside a VPC network in the same project, no further setup is required.
For requests from other App Engine services or from Cloud Run or Cloud Run functions in the same project, connect the service or function to a VPC network and route all egress through the connector, as described in Connecting to a Shared VPC network.
Requests from resources within VPC networks in the same project are classified as internal even if the resource they originate from has a public IP address.
Requests from on-premises resources connected to the VPC network via Cloud VPN are considered internal
.
Go to the App Engine Services page.
Locate the Ingress column. For each service, the value in this column shows the ingress setting as one of All (default), Internal + Load Balancing, or Internal.
To view the ingress setting for a service using the gcloud CLI:
gcloud app services describe SERVICE
Replace SERVICE with the name of your service.
For example, to view the ingress settings and other information for the default service run:
gcloud app services describe defaultEdit ingress settings Console
Go to the App Engine Services page.
Select the service you wish to edit.
Click Edit ingress setting.
Select the ingress setting that you want from the menu and click Save.
To update the ingress setting for a service using the gcloud CLI:
gcloud app services update SERVICE --ingress=INGRESS
Replace:
all
, internal-only
, or internal-and-cloud-load-balancing
.For example:
To update the default service of an App Engine app to accept traffic only from Cloud Load Balancing and VPC networks that are in the same project:
gcloud app services update default --ingress=internal-and-cloud-load-balancing
To update a service named "internal-requests" to accept traffic only from VPC networks that are in the same project:
gcloud app services update internal-requests --ingress=internal-only
If you use Serverless VPC Access, you can specify the egress setting for your App Engine service.
By default, only requests to internal IP addresses and internal DNS names are routed through a Serverless VPC Access connector. You can specify the egress setting for your service in your app.yaml
file.
Egress settings are not compatible with the URL Fetch service. If you have not already done so, disable the URL Fetch default and discontinue any explicit use of the urlfetch
library. Using the urlfetch
library ignores egress settings, and requests will not route through a Serverless VPC Access connector.
To configure the egress behavior of your App Engine service:
Add the egress_setting
attribute to the vpc_access_connector
field of your service's app.yaml
file:
vpc_access_connector: name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME egress_setting: EGRESS_SETTING
Replace:
PROJECT_ID
with your Google Cloud project IDREGION
with the region your connector is inCONNECTOR_NAME
with the name of your connectorEGRESS_SETTING
with one of the following:
private-ranges-only
Default. Only requests to RFC 1918 and RFC 6598 IP address ranges or internal DNS names are routed to your VPC network. All other requests are routed directly to the internet.all-traffic
All outbound requests from your service are routed to your VPC network. Requests are then subject to the firewall, DNS, and routing rules of your VPC network. Note that routing all outbound requests to your VPC network increases the amount of egress handled by the Serverless VPC Access connector and can incur charges.Deploy the service:
gcloud app deploy
The Google Cloud Web Security Scanner discovers vulnerabilities by crawling your App Engine app, following all that links within the scope of your starting URLs, and attempting to exercise as many user inputs and event handlers as possible.
In order to use the security scanner, you must be an owner of the Google Cloud project. For more information on assigning roles, see Setting Up Access Control.
You can run security scans from the Google Cloud console to identify security vulnerabilities in your App Engine app. For details about running the Security Scanner, see the Using Web Security Scanner.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["The `REGION_ID` is a Google-assigned code based on the region selected during app creation, which is included in App Engine URLs for apps created after February 2020, and does not represent any countries or provinces."],["App Engine apps should use HTTPS requests for secure access, utilizing `appspot.com` domains or custom domains with managed SSL certificates."],["Access control can be configured within each Google Cloud project to specify which accounts have permissions to access the services, including App Engine."],["The App Engine firewall allows you to control access by creating rules to allow or deny requests from specific IP address ranges, as well as block malicious traffic."],["Ingress settings determine how your App Engine app can be accessed, from the most restrictive \"Internal\" setting to the least restrictive \"All\" setting, and can be configured via the console or gcloud CLI."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4