, На следующем шаге вам не нужно указывать какие-либо 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 из облачной функции.