Google Cloud Redis - IP-адрес изменен без предупреждения - PullRequest
0 голосов
/ 20 июня 2020

TL; DR: я мог бы использовать несколько советов о том, как настроить Redis для производственного использования на GP C, он просто переключал IP-адреса на нас случайным образом, и в документации нет ничего об этом / я понятия не имею, как построить стабильное решение с такой возможностью.

Справочная информация:

Мы использовали облако Google в течение нескольких лет, и у нас был стабильный экземпляр Redis Memorystore на уровне «Стандартный».

В последние несколько дней наши веб-серверы стали время от времени давать сбой. После расследования что-то блокировалось при подключении к сельдерею / Redis, и мы обнаружили, что все наши файлы конфигурации имели 10.0.0.3 в качестве экземпляра Redis, а IP-адрес для сервера был указан как 10.0.0.4. Это никогда не менялось, и наши конфигурации находятся в git, поэтому мы уверены, что они не изменились.

Поскольку Celery не загружается при плохом соединении, мы знаем, что это было правильно во вторник, когда мы подтолкнул новый код. Похоже, что сервер вышел из строя и каким-то образом выдал нам изменение IP-адреса. В качестве доказательства:

Наше графическое использование причудливо меняет цвет в определенной c точке

, что соответствует нашим журналам ошибок »[2020-06-16 03:09: 21 873: ERROR / MainProcess] Ошибка в таймере: ReadOnlyError («Вы не можете писать против ведомого устройства, доступного только для чтения.»,) «

Во всей найденной нами документации говорится, что IP-адрес останется прежним, но, учитывая, что этого не произошло, я надеюсь получить отзывы о том, как можно обойти нестатический c IP в этом случае на GP C

1 Ответ

1 голос
/ 22 июня 2020

Memorystore не поддерживает статический c IP-адрес. Некоторые сценарии ios, в которых может произойти изменение IP-адреса, - это перезапуск или изменение режима подключения.

Из обзора Memorystore для сетевой страницы Redis , при использовании прямого доступа через подключение через IP-адрес ваш проект установит сетевое пиринговое соединение VP C с внутренним проектом Google, в котором осуществляется управление экземпляром. Это создаст выделенный диапазон IP-адресов для Memorystore, который будет использоваться для экземпляров, он может быть либо предоставлен вами, либо выбран из доступного пространства (по умолчанию будет блок / 29).

С другой стороны, Memorystore для Redis предоставляет время безотказной работы как метрику c, доступную через Cloud Monitoring (формально Stackdriver). Это можно использовать в качестве проверки работоспособности экземпляра, так как вы сможете определить, был ли перезапуск или точки недоступности.

Следуя пункту выше, вы можете настроить оповещение на uptime metri c непосредственно в Cloud Monitoring . К сожалению, нет ничего c для изменения IP-адреса.

...