, На следующем шаге вам не нужно указывать какие-либо IP-адреса, только имя учетной записи службы для облачных функций.

дал экземпляр Redis, используяhttps://console.cloud.google.com/launcher/details/bitnami-launchpad/redis-ha

и сетевой интерфейс:

Я пытаюсь подключиться к этому экземпляру Redis из триггера Firebase.

Вопрос в том, какое правило брандмауэра мне нужно подключить из облачной функции к вычислительному экземпляру?

Пожалуйста, предоставьте как можно больше деталей, например, Диапазоны IP-адресов, вход / выход и т. Д., А также необходимость подключения клиента Redis к экземпляру по внутреннему IP-адресу или по внешнему IP-адресу.

Это код:

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}`);
});

Ошибка в журнале

Ошибка соединения Ошибка: Ошибка повторного подключения к 10.1.2.3:6379 - подключите ETIMEDOUT 10.1.2.3:6379

Я смотрел наОблачная функция Google не может подключиться к Redis но это не достаточно конкретно о параметрах при настройке правила.

Что я пробовал

Я попытался настроить правило брандмауэра с этими настройками:

входсеть: по умолчаниюфильтр источника: моя учетная запись службы Firebaseпротоколы / порты: всецели: все

Просто заметка о сервисном аккаунте:

созданный Firebaseимеетредактор роль в IAMизвестно, что он работает с BigQuery и другими сервисами Firebase из моих триггеров Firebase

Это же правило брандмауэра действует уже несколько часов, и я также повторно развернул триггер, который тестирует Redis, но все еще получает ETIMEDOUT

ОБНОВЛЕНИЕ2018-06-25 утро

Я позвонил в службу поддержки GCP Gold, и проблема не очевидна для оператора, поэтому он откроет дело, проведет расследование и оставит некоторые заметки.

2018-06-25 день

Использование разрешающего правила брандмауэра (источник0.0.0.0/0, назначение «все цели») и подключение к внешнему IP-адресу экземпляра Redis работает (конечно!). Однако сейчас я много раз упоминал по телефону, что не хочу, чтобы экземпляр Redis был открыт для Интернета, и если есть какое-то решение, включающее сетевой мост / VPN, чтобы я мог подключиться к10.x.x.x адрес из облачной функции.

Оператор сказал, что они вернутся ко мне через 2 дня.

2018-06-25 чуть позже во второй половине дня

Я сам ответил, чтоэто кажется невозможным подключиться к внутреннему IP-адресу Compute Engine из облачной функции.

Ответы на вопрос(1)

Ваш ответ на вопрос