10

我有一个在 Cloud Run 上运行的服务,以及一个在 Compute Engine 上运行的 MYSQL、MongoDB 数据库。目前,我正在使用公共 IP 进行它们之间的连接,我想使用内部 IP 来提高性能,但我找不到解决这个问题的方法,请帮我一些想法,谢谢。

4

4 回答 4

3

现在支持了。您可以使用 VPC 网络连接器(测试版):

此功能处于预发布状态,可能会更改或提供有限的支持。有关更多信息,请参阅产品发布阶段。

本页面展示了如何使用无服务器 VPC 访问将 Cloud Run(完全托管)服务直接连接到您的 VPC 网络,从而允许访问 Compute Engine VM 实例、Memorystore 实例和任何其他具有内部 IP 地址的资源。

要在 Cloud Run(完全托管)服务中使用无服务器 VPC 访问,您首先需要创建一个无服务器 VPC 访问连接器来处理与您的 VPC 网络的通信。创建连接器后,您将 Cloud Run(完全托管)服务配置设置为使用该连接器。

此处如何创建:创建无服务器 VPC 访问连接器,此处是有关它的概述:无服务器 VPC 访问示例

于 2020-05-15T00:33:53.623 回答
3

根据官方文档使用高级方法连接到实例

如果您有一个没有外部 IP 地址的隔离实例(例如有意与外部网络隔离的实例),您仍然可以使用其在 Google Cloud Virtual Private Cloud (VPC) 上的内部 IP 地址连接到它) 网络

但是,如果您检查 Cloud Run 尚不支持的服务,您会发现:

Virtual Private Cloud Cloud Run(全托管)无法连接到 VPC 网络。

尚不支持的服务

于 2020-01-20T09:03:53.033 回答
2

您现在可以通过在部署时运行此命令来做到这一点:

gcloud run deploy SERVICE --image gcr.io/PROJECT_ID/IMAGE --vpc-connector CONNECTOR_NAME

如果您已有 Cloud Run 部署,则可以通过运行以下命令对其进行更新:

cloud run services update SERVICE --vpc-connector CONNECTOR_NAME

更多关于这里的信息

于 2020-07-07T07:47:35.970 回答
1

尚不支持从 Cloud Run Managed 连接到 VPC 私有地址。

此功能正在开发中,称为无服务器 VPC 访问。你可以在这里阅读更多。

如果您有一个在同一 VPC 中运行且具有公共 IP 地址的 Compute Engine 实例,您可以创建一个 SSH 隧道以通过公共实例连接到私有 IP 地址。这需要在您自己的代码中创建隧道,这很容易做到。

于 2020-01-20T18:01:37.873 回答