Google Cloud Function无法连接到Redis

时间:2018-05-24 12:56:24

标签: node.js redis google-cloud-platform google-cloud-functions

我们有一个Google Cloud功能试图连接到位于Compute Engine实例上的Redis服务器。 Compute Engine Redis端口已打开,可以从本地计算机连接到Redis服务器。尽管如此,当Cloud Function尝试这样做时,会出现以下错误:

  

Redis连接到35.xxx.xx.xx:6379失败 - 在exports._exceptionWithHostPort(util。)上的Object.exports._errnoException(util.js:1020:11)处连接ETIMEDOUT 35.xxx.xx.xx:6379。 js:1043:20)在TCPConnectWrap.afterConnect [as oncomplete](net.js:1105:14)代码:'ETIMEDOUT',错误:'ETIMEDOUT',系统调用:'connect',地址:'35 .xxx.xx。 xx',port:6379}

我们正在使用 redis npm包(Redis节点客户端)进行连接,这可以从我们的本地计算机再次运行。

我们将EC服务器的IP传递给主机值,并将验证密码传递给密码值。这似乎在本地工作。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

毕竟,这确实是一个防火墙问题。我们没有正确的服务帐户设置。

需要访问firewall rules配置页面并添加相应的源过滤器(或第二个源过滤器)以键入服务帐户并添加云功能的服务帐户。

答案 1 :(得分:0)

GCP已发布“无服务器VPC访问”的测试版,以使用内部IP从Cloud Function连接Compute Engine VM。遵循tutorials here