Google cloud SQL доступ из нескольких VPC - PullRequest
1 голос
/ 02 апреля 2020

Я пытаюсь создать экземпляр GCP postgreSQL и сделать его доступным из нескольких сетей VP C в одном проекте.

У нас есть виртуальные машины в 4 регионах GCP. Каждый регион имеет свою собственную сеть VP C, и все они находятся в режиме пиринга. Но когда я создаю SQL экземпляр, я могу сопоставить его частный IP только одному VP C, другие не имеют к нему доступа.

Есть ли какие-либо шаги, которые позволят получить доступ с нескольких VPC для одного SQL экземпляра?

1 Ответ

0 голосов
/ 03 апреля 2020

Когда вы настраиваете экземпляр Cloud SQL для использования частного IP, вы используете доступ к частным сервисам . Доступ к частным сервисам реализован в виде пирингового соединения VP C между вашей сетью VP C и сетью VP C служб Google, в которой находится ваш экземпляр Cloud SQL.

Тем не менее, в настоящее время ваш подход невозможен. VP C пиринг сети имеет некоторые ограничения , одним из которых является то, что только одноранговые сети могут обмениваться данными друг с другом - транзитивное пиринг не поддерживается.

Поскольку ресурсы Cloud SQL сами получают доступ из VP C A через пиринг сети VP C, другие сети VP C подключаются к VP C A через VP *. Сетевой пиринг 1031 * не может получить доступ к этим облачным SQL ресурсам, так как это приведет к нарушению вышеупомянутого ограничения.

В этой заметке уже есть запрос функции для нескольких пирингов VP C с помощью Cloud SQL VP C.

В качестве обходного пути вы можете создать экземпляр прокси-виртуальной машины, используя Cloud SQL proxy. См. 1 и 2 . Например, экземпляр прокси-виртуальной машины может быть помещен в VP C, к которому прикреплены ваши экземпляры Cloud SQL (например, VP C A), и он будет действовать как прокси Cloud SQL. Экземпляры виртуальных машин в других VPC, подключенных к VP C A через виртуальный сетевой узел VP C, могут пересылать свои SQL запросы в облачный SQL Прокси-экземпляр VM в VP C A, который затем перенаправляет запросы на SQL экземпляр (ы) и наоборот.

...