A função do Google Cloud atinge o tempo limite ao conectar-se ao Redis no IP interno do Compute Engine

Eu criei uma instância Redis usandohttps://console.cloud.google.com/launcher/details/bitnami-launchpad/redis-ha

e a interface de rede é:

Estou tentando conectar-me a essa instância Redis a partir de um gatilho Firebase.

A questão é: de que regra de firewall eu preciso para conectar uma função de nuvem a uma instância de computação?

Forneça o máximo de detalhes possível, p. Intervalos de IP, entrada / saída, etc., e se eu tenho que conectar o cliente Redis à instância no IP interno ou no IP externo.

Este é o código:

const redis = require('redis');

let redisInstance = redis.createClient({
    /* surely external IP needn't be used
       here as it's all GCP infra? */
    host: '10.1.2.3',
    port: 6379
})

redisInstance.on('connect', () => {
    console.log(`connected`);
});

redisInstance.on('error', (err) => {
    console.log(`Connection error ${err}`);
});

O erro no log é

Erro de conexão Erro: falha na conexão do Redis com 10.1.2.3:6379 - conecte ETIMEDOUT 10.1.2.3:6379

Eu olheiO Google Cloud Function não pode se conectar ao Redis mas não é específico o suficiente sobre as opções ao configurar uma regra.

O que eu tentei

Tentei configurar uma regra de firewall com estas configurações:

entradarede: padrãofiltro de origem: minha conta de serviço firebaseprotocolos / portas: todosalvos: todos

Apenas uma observação sobre a conta de serviço:

criado por Firebasetem oeditor papel no IAMé conhecido por funcionar com o BigQuery e outros serviços Firebase dos meus gatilhos do Firebase

Essa mesma regra de firewall já está em vigor há algumas horas e também reimplantei o gatilho que testa o Redis, mas ainda obtendo o ETIMEDOUT

ATUALIZAÇÕES25/06/2018 manhã

Liguei para o suporte do GCP Gold e o problema não é óbvio para o operador, então eles abrem um caso, investigam e deixam algumas anotações.

25/06/2018 tarde

Usando uma regra de firewall permissiva (origem0.0.0.0/0, destino "todos os destinos") e a conexão com o endereço IP externo da instância Redis funciona (é claro!). No entanto, já mencionei várias vezes no telefonema que não quero que a instância do Redis seja aberta na Internet e se houver algum tipo de solução envolvendo uma ponte de rede / VPN para que eu possa conectar-me ao10.x.x.x endereço da função Cloud.

O operador disse que voltará para mim em dois dias.

2018-06-25 pouco mais tarde

Eu respondi quenão parece ser possível para conectar-se a um IP interno do Compute Engine a partir de uma função de nuvem.

questionAnswers(2)

yourAnswerToTheQuestion