Невозможно настроить экземпляр Redis Google Cloud Memorystore с бессерверным доступом к VPC

Я хочу настроить экземпляр Redis в Google Cloud memorystore и подключиться к нему через свои облачные функции Google. После выполнения этого руководства https://thecloudfunction.com/blog/firebase-cloud-functions-and-redis/

Общие шаги, насколько я понимаю:

  1. Включите бессерверную службу VPC и создайте соединитель для моей функции.
  2. Включите redis и создайте экземпляр redis в том же диапазоне IP-адресов.

Проблема в том, что если я сначала создаю соединитель (шаг №1), я получаю эту ошибку при попытке создать экземпляр Redis (этап №2):

Server response: Invalid value for field 'resource.ipCidrRange': '10.92.0.0/28'. Invalid IPCidrRange: 10.92.0.0/28 conflicts with peer network in active peering 'redis-peer-863826821838'.

И если я попытаюсь перевернуть шаги, сначала создать экземпляр redis (шаг №2), а затем создать соединитель (этап №1), то при попытке создать соединитель я получаю эту ошибку:

connector is in a bad state manual deletion recommended

Я предполагаю, что это проблема с некоторым конфликтом диапазонов IP-адресов из-за первой ошибки, но, глядя на соединения VPC, я нигде не вижу конфликта:

введите описание изображения здесь

Насколько я понимаю, ни один из них не должен противоречить моему диапазону IP-адресов 10.92.0.0/28, верно?

Все это происходит us-central1

Интересно, знает ли кто-нибудь, как правильно настроить экземпляр Redis + коннектор и обойти эти ошибки, или есть ли у кого-нибудь предложения о том, где искать этот конфликт диапазона IP-адресов и как его решить.

Спасибо!


person Emmett Harper    schedule 08.09.2020    source источник


Ответы (1)


Итак, наконец-то это заработало. Для всех, кто борется с этой проблемой, вот что мне нужно было сделать:

  1. Создайте экземпляр Redis и вместо того, чтобы вручную вводить Instance IP address range. Пропустите поле и создайте его без него. Это сгенерирует экземпляр redis, который не конфликтует ни с каким другим диапазоном. Например 10.51.123.233
  2. Теперь создайте коннектор и установите для него диапазон ip созданного экземпляра redis. Например, если ваш экземпляр Redis сгенерировал IP-адрес 10.51.123.233, вам необходимо установить диапазон IP-адресов подключения на 10.51.0.0/28
person Emmett Harper    schedule 08.09.2020