我正在使用 Google Cloud,其设置如下:
共享 VPC 主机项目:有一个名为“production”的网络和一个名为“app1”的子网,与所有其他项目共享。
App1 项目:有一个 VM 实例和一个在 Node 上运行的 App Engine。VM 实例直接连接到共享 VPC 网络的子网。
问题是,似乎无法将 App Engine 连接到同一网络。当我在文件中插入参数时,app.yaml
它说找不到网络(它仅在当前项目上搜索)。
那么,如何将 App Engine 实例连接到 VM?我尝试创建网络对等,但没有成功。
答案1
最后,使用 AppEngine Flex 可以实现这一点:https://cloud.google.com/appengine/docs/flexible/nodejs/using-shared-vpc
在 app.yaml 文件中,使用网络设置名称字段指定共享 VPC 网络的完全限定名称:
网络:名称:项目/HOST_PROJECT_ID/global/networks/NETWORK_NAME
在哪里
HOST_PROJECT_ID 是共享 VPC 宿主项目的 GCP 项目 ID。NETWORK_NAME 是共享 VPC 网络的名称。
要将服务配置为名为 SUBNETWORK_NAME 的子网的一部分,还需设置 >subnetwork_name 字段:
网络:名称:项目/HOST_PROJECT_ID/global/networks/NETWORK_NAME 子网络名称:SUBNETWORK_NAME
答案2
在对您想要实现的目标进行一些调查之后,您可以检查以下几点:
- 首先,我想请你确认应用程序1子网与 App Engine 应用程序位于同一区域您正在尝试部署。请记住,如上所述在文档中,子网必须与尝试连接的应用程序位于同一区域。否则,可能会出现错误。您可以按照以下方式在子网中
subnet not found
指定区域(例如)us-central
这些步骤;它必须us-central
与运行 App Engine 应用程序的区域相同(在本例中)。创建应用程序时设置应用程序的区域后,您无法更改应用程序的区域,因此您可以转到App Engine 仪表板或运行命令gcloud app describe
。 - 你也可以尝试VPC 对等连接,适用于将 Compute Engine 实例连接到 App Engine 应用。为此,您可以按照此设置指南。