Stay organized with collections
Save and categorize content based on your preferences.
This page describes commonly used App Engine connectivity
strategies, including steps related to using Serverless VPC Access and internal IP addresses.
Serverless VPC Access is useful when making calls from Google's
serverless offerings to a Virtual Private Cloud (VPC) network, but you can't
access App Engine instances using an internal IP address.
To connect to App Engine from the VPC network using an
internal IP address without an assigned external IP address, do the following:
Set up Private Google Access. Ensure that
the App Engine service uses a Private Google Access-enabled subnet.
Use a Private Service Connect
endpoint. Ensure that the endpoint is connected to the
Private Google Access-enabled subnet.
Send traffic to the Private Service Connect endpoint. Ensure that the
endpoint is connected to the subnet.
App Engine instances with external IP addresses can send traffic to
Private Service Connect endpoints without any requirements.
Customize access permissions between App Engine services
When you have multiple App Engine services and
want to configure access permissions differently between services (for example,
you want to enable access to App Engine Service A only from App Engine Service B), you can use
App Engine with Identity-Aware Proxy (IAP).
App Engine flexible environment: Deploy your flexible environment app in the same VPC network as your
Cloud SQL instance. Your app should now be able to connect directly using
Cloud SQL instance's private IP address. For more information, see Connecting from App Engine flexible environment to Cloud SQL.
Deploy an App Engine app in a Shared VPC network
Deploying an application in the App Engine flexible environment in a Shared VPC network
requires an internal IP address. The internal IP address adds a route to avoid
0.0.0.0/0.
For instances with IP mode set to internal, you must make the following
changes to the network:
Create a firewall rule compatible with Private Google Access
if it doesn't already exist.
If you need outgoing internet access, you must also deploy Cloud NAT for each region
attached to subnetworks that you use.
As documented in the internet access requirement for VPC networks,
the network must have a valid default internet gateway route or custom route
whose destination IP range is the most general (0.0.0.0/0). If you remove this
setting, it could cause deployment or serving failures.
[[["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-29 UTC."],[[["\u003cp\u003eApp Engine connectivity can be established from a VPC network using Private Google Access and a Private Service Connect endpoint for instances without external IP addresses.\u003c/p\u003e\n"],["\u003cp\u003eServerless VPC Access enables App Engine standard environment apps to connect to Cloud SQL using internal IP addresses, while flexible environment apps can connect directly when deployed in the same VPC network.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine services can have customized access permissions, using App Engine with Identity-Aware Proxy (IAP) to enable granular control between the different App Engine services.\u003c/p\u003e\n"],["\u003cp\u003eDeploying App Engine flexible environment apps in a Shared VPC network with internal IP mode requires enabling Private Google Access, adding a compatible route and firewall rule, and potentially deploying Cloud NAT for outgoing internet access.\u003c/p\u003e\n"],["\u003cp\u003eInternal ip address mode deployment in shared VPC networks requires valid default internet gateway route or custom route with \u003ccode\u003e0.0.0.0/0\u003c/code\u003e destination ip range.\u003c/p\u003e\n"]]],[],null,["# App Engine connectivity strategies\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nThis page describes commonly used App Engine connectivity\nstrategies, including steps related to using [Serverless VPC Access](/vpc/docs/serverless-vpc-access) and internal IP addresses.\n\n- [Connect from VPC to App Engine instances](#set-up-connectivity-from-vpc-to-app-engine)\n- [Connect App Engine to Cloud SQL private IP addresses](#sql-connectivity)\n- [Customize access permissions between App Engine services](#access-permissions)\n- [Deploy an App Engine app in a Shared VPC network](#internal-ip)\n\nConnect from VPC to App Engine instances\n----------------------------------------\n\nServerless VPC Access is useful when making calls from Google's\nserverless offerings to a Virtual Private Cloud (VPC) network, but you can't\naccess App Engine instances using an internal IP address.\n\nTo connect to App Engine from the VPC network using an\ninternal IP address without an assigned external IP address, do the following:\n\n1. Set up [Private Google Access](/vpc/docs/private-google-access). Ensure that the App Engine service uses a Private Google Access-enabled subnet.\n2. Use a [Private Service Connect](/vpc/docs/private-service-connect) endpoint. Ensure that the endpoint is connected to the Private Google Access-enabled subnet.\n3. Send traffic to the Private Service Connect endpoint. Ensure that the endpoint is connected to the subnet.\n\nApp Engine instances with external IP addresses can send traffic to\nPrivate Service Connect endpoints without any requirements.\n\nCustomize access permissions between App Engine services\n--------------------------------------------------------\n\nWhen you have multiple App Engine services and\nwant to configure access permissions differently between services (for example,\nyou want to enable access to App Engine Service A only from App Engine Service B), you can use\n[App Engine with Identity-Aware Proxy (IAP)](/solutions/authenticating-web-users).\n\nFor more information, see [Controlling access to websites and apps](/solutions/authenticating-web-users) and [IAP documentation](/iap/docs/authenticate-users-google-accounts).\n\nConnect App Engine to Cloud SQL private IP addresses\n----------------------------------------------------\n\nTo connect your App Engine apps to [Cloud SQL](/sql)\ninstances over private IP addresses, use one of the following options:\n\n- **App Engine standard environment** : Use the [Serverless VPC Access connector](/vpc/docs/serverless-vpc-access) to connect to Cloud SQL over internal IP addresses. For more information, see [Connecting from App Engine standard environment to Cloud SQL](/sql/docs/mysql/connect-app-engine-standard#configuring).\n- **App Engine flexible environment** : Deploy your flexible environment app in the same VPC network as your Cloud SQL instance. Your app should now be able to connect directly using Cloud SQL instance's private IP address. For more information, see [Connecting from App Engine flexible environment to Cloud SQL](/sql/docs/mysql/connect-app-engine-flexible#configuring).\n\nDeploy an App Engine app in a Shared VPC network\n------------------------------------------------\n\nDeploying an application in the App Engine flexible environment in a Shared VPC network\nrequires an internal IP address. The internal IP address adds a route to avoid\n`0.0.0.0/0`.\n\nFor instances with IP mode set to `internal`, you must make the following\nchanges to the network:\n\n- Enable [Private Google Access](/vpc/docs/private-google-access) for each subnetwork that you use.\n- Create a route compatible with [Private Google Access](/vpc/docs/private-google-access) if it doesn't already exist.\n- Create a firewall rule compatible with [Private Google Access](/vpc/docs/private-google-access) if it doesn't already exist.\n- If you need outgoing internet access, you must also deploy Cloud NAT for each region attached to subnetworks that you use.\n\nAs documented in the [internet access requirement for VPC networks](/vpc/docs/vpc#internet_access_reqs),\nthe network must have a valid default internet gateway route or custom route\nwhose destination IP range is the most general (`0.0.0.0/0`). If you remove this\nsetting, it could cause deployment or serving failures."]]