Доступ к хранилищу памяти (Redis) с помощью пиринга VPC

Представьте, что у меня есть VPC с именем vpc-1, с которым связан экземпляр Memorystore (Redis). Насколько я понимаю, Redis живет в своем собственном VPC, и существует пиринг VPC, используемый для подключения vpc-1 к VPC для Redis. Теперь представим, что я создаю второй VPC с именем vpc-2 и связываю этот VPC с vpc-1. Теперь я создаю виртуальную машину с сетевым интерфейсом к vpc-2. Эта виртуальная машина теперь может получить доступ к ресурсам VPC, подключенным к vpc-1 и vpc-2. Однако, поскольку пиринг VPC не является транзитивным, виртуальная машина не может получить доступ к экземпляру Redis.

Моя загадка теперь становится одной из ... может ли виртуальная машина, подключенная к vpc-2, которая является VPC, подключенной к vpc-1, с которой связаны экземпляры Memorystore (Redis) (vpc-1), получить доступ к этому экземпляру Redis?

Я понимаю, что могу переключить свою историю на использование общего VPC ... однако мне интересно, какие варианты существуют, если я хочу использовать исключительно пиринг VPC.


person Kolban    schedule 22.01.2021    source источник


Ответы (1)


После обсуждений с техническими специалистами, которые очень хорошо знакомы с GCP VPC и GCP Memorystore, выяснилось, что нет возможности использовать транзитивный пиринг с использованием VPC Peering. Было предложено решение, которое для моего случая использования сработало хорошо. Что касается исходной истории, мы создали новый Compute Engine в vpc-1 VPC, который имеет доступ к Redis. На этом Compute Engine мы установили пакет с открытым исходным кодом под названием nutcracker, который предоставляет прокси Redis. Это означает, что клиентский запрос Redis, отправляемый в этот Compute Engine, передается на настоящий сервер Redis, управляемый Google, через Memorystore. Поскольку Compute Engine является обычным вычислительным ресурсом в vpc-1 VPC, его внутренний IP-адрес доступен для других VPC, связанных с vpc-1 (например, в нашей истории vpc-2). Конечным результатом было то, что Compute Engine, созданный в vpc-2, мог затем нацеливаться на Compute Engine, работающий nutcracker с использованием протоколов Redis. Затем этот Compute Engine ретранслирует запрос на настоящий сервер Redis, и все работает по желанию.

person Kolban    schedule 23.01.2021