Как я могу предложить Google настроить пиринг VP C с servicenetworking.googleapis.com? - PullRequest
1 голос
/ 23 марта 2020

У меня есть несколько экземпляров Cloud SQL, которые в настоящее время имеют публичные c IP-адреса. Если бы я поменял их на частные IP-адреса, это сделало бы некоторых людей с безопасностью счастливыми.

Я следую приведенным здесь инструкциям: https://cloud.google.com/sql/docs/mysql/private-ip

Резюме эти инструкции:

  1. Убедитесь, что на вашем хосте VP C включен servicenetworking.googleapis.com
  2. Убедитесь, что в вашем проекте servicenetworking.googleapis.com включен
  3. Выделить диапазон IP-адресов для новых частных IP-адресов
  4. Настройка VP C пиринг сети (https://cloud.google.com/sql/docs/mysql/configure-private-services-access)
  5. Создание облачного sql экземпляра без публикации c IP
  6. Ожидается, что частный IP-адрес нового экземпляра будет находиться в выделенном диапазоне

Я выполнил это до шага 4, и я вижу это:

Inactive.  Waiting for the connection to be created by servicenetworking.googleapis.com

Моя интерпретация этой страницы заключается в том, что я выполнил свою часть, и теперь настала очередь Google - но это было несколько дней go. Должен ли я сделать что-то, чтобы предложить Google создать соединение?

Я думаю, что я сосредоточен в нужном месте, потому что, если я пытаюсь использовать свой частный IP, gcloud говорит мне go создать сеть что я жду:

❯ gcloud --project=my-project-name beta \
  sql instances patch foo \
  --network=my-network-name --no-assign-ip

The following message will be used for the patch API method.
{"name": "foo", "project": "my-project-name", "settings": {"ipConfiguration": {"ipv4Enabled": false, "privateNetwork": "https://compute.googleapis.com/compute/v1/projects/my-project-name/global/networks/my-network-name"}}}
Patching Cloud SQL instance...failed.

ERROR: (gcloud.beta.sql.instances.patch) [INTERNAL_ERROR] Failed to create subnetwork. Please create Service Networking connection with service 'servicenetworking.googleapis.com' from consumer project '11111111111' network 'my-network-name' again.

1 Ответ

1 голос
/ 26 марта 2020

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

Чтобы проверить создание пиринга в Stackdriver, вы можете использовать следующий расширенный фильтр:

jsonPayload.event_subtype = "compute.networks.addPeering"

Тем не менее, имеет смысл ошибку, которую вы наблюдаете при попытке исправить ваш SQL экземпляр, поскольку пиринг еще не был создано. Вместо «Неактивно» это должно быть «Peer VP C сеть подключена»

Подводя итог, в вашем сценарии экземпляр Cloud SQL не может получить IP-адрес в вышеупомянутой сети, поскольку он не может достичь ее. .

На этом конкретном c этапе я бы предложил вам сосредоточиться на создании Пиринга. Как вы упомянули, вы пытались воссоздать его, и статус остался прежним, возможно, что-то в вашем проекте не позволяет установить пиринг.

Я бы также посоветовал вам проверить пределы пиринга квота в случае достижения:

список пиринговых сетей gcloud compute --network = 'your network'

Также было бы хорошо рассмотреть ограничения VP C Peering .

С учетом всего сказанного, если вы все еще испытываете ту же проблему при создании VP C Peering, может потребоваться внутреннее расследование, и я бы предложил вам сообщить об этом, используя это ссылка

Надеюсь, это поможет.

...