区域 ID
REGION_ID
是 Google 根据您在创建应用时选择的区域分配的缩写代码。此代码不对应于国家/地区或省,尽管某些区域 ID 可能类似于常用国家/地区代码和省代码。对于 2020 年 2 月以后创建的应用,REGION_ID.r
包含在 App Engine 网址中。对于在此日期之前创建的现有应用,网址中的区域 ID 是可选的。
详细了解区域 ID。
您可以使用各种方法在 App Engine 服务之间或与其他服务(包括 Google Cloud 服务和外部应用)进行通信。
如需与您的 App Engine 服务进行通信,最简单的方法是发送定向 HTTP 请求,在网址中包含资源的名称或 ID。例如,除了相应的 Google Cloud 项目 ID 外,您还可以包含要定位的服务或版本的 ID。
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
请注意,VERSION-dot-SERVICE-dot-PROJECT_ID
的总长度(其中 VERSION
是版本名称,SERVICE
是服务名称,PROJECT_ID
是项目 ID)不得超过 63 个字符,且首尾不能使用连字符。如果组合长度超过 63 个字符,您可能会看到错误 DNS address could not be
found.
详细了解 App Engine 中的请求:
您的 App Engine 服务还可以使用 Pub/Sub 通信,以便在进程(包括 App Engine)之间提供可靠的异步多对多消息传递。这些进程可以是您的应用、服务乃至外部应用的单个实例。
如需在数据库与 App Engine 应用或某个其他外部应用之间共享数据,请参阅了解数据和文件存储。
如果您使用旧版捆绑服务,则还可以使用 URL Fetch API 在服务之间以及从服务向外部端点传递请求。
此外,在标准环境中,位于同一 Google Cloud 项目中的服务还可以使用某个 App Engine API 来执行以下任务:
私密通信
同一项目中的服务之间的通信
您可以允许 App Engine 标准服务与同一项目中的其他 App Engine 服务进行通信,而无需将目标服务公开给公共互联网。
如需允许同一项目中的服务之间的通信,请执行以下操作:
通过将目标服务的入站流量设置调整为仅允许“内部”流量来配置入站流量控制。
“内部”设置仅允许来自项目的 VPC 网络的请求。这包括通过连接器路由出站流量时来自同一网络中的客户端应用的 App Engine 资源。 来自互联网或其他 Google Cloud 项目(包括其他 App Engine 服务)的所有其他流量都会被屏蔽。
通过无服务器 VPC 访问通道连接器路由流量:
对于每个将专用流量发送到其他应用端点的 App Engine 版本,请将该版本连接到属于 Google Cloud 项目自身网络之一的无服务器 VPC 访问通道连接器,而不是连接到共享 VPC 网络。
确保为无服务器 VPC 访问通道连接器使用的子网启用专用 Google 访问通道。
配置以下任一项:
客户端请求通过添加目标主机名的 DNS 条目来使用
private.googleapis.com
IP 范围。按照 DNS 配置添加 DNS 主机名,但请务必将专用区域配置为针对appspot.com
,而不是googleapis.com
。此外,请确保将流量定向到目标应用的appspot.com
地址,而不是自定义网域。您只能使用此appspot.com
网域在private.googleapis.com
IP 范围访问您的应用。客户端应用通过无服务器 VPC 访问通道连接器发送
all-traffic
,而不是将请求配置为使用private.googleapis.com
IP 范围。
不同项目中的服务之间的通信
如果项目中运行的应用属于共享 VPC 网络(配置为调用在共享 VPC 网络的宿主项目中运行的应用),则您可以在 Google Cloud 项目之间建立专用访问通道。
如需使用此模式,请按照前面在同一项目中的服务之间进行通信的步骤执行操作。在标准环境中,将每个客户端版本连接到共享 VPC 网络中的无服务器 VPC 访问通道连接器。
在 App Engine 中,通过内部访问权限在项目之间进行通信的其他方法不可行。
预留的网址路径
无法使用以下网址路径:
- 以
/eventlog
结尾的路径 - 以
/_ah/
开头的路径 - 某些以
z
结尾的路径