У меня есть несколько экземпляров Cloud SQL с общедоступными IP-адресами. Некоторых людей, заботящихся о безопасности, я бы порадовал, если бы я сменил их на частные IP-адреса.
Я следую инструкциям, приведенным здесь: https://cloud.google.com/sql/docs/mysql/private-ip
Краткое изложение этих инструкций:
- Убедитесь, что на вашем общем хосте VPC включен сервис servicenetworking.googleapis.com.
- Убедитесь, что в вашем проекте включен сервис servicenetworking.googleapis.com.
- Выделите диапазон IP-адресов для вашего нового частного IP-адреса
- Настройте пиринг сети VPC (https://cloud.google.com/sql/docs/mysql/configure-private-services-access)
- Создание экземпляра облачного sql без общедоступного IP-адреса
- Ожидайте, что частный IP-адрес нового экземпляра будет в выделенном диапазоне
Я выполнил их через шаг 4 и вижу следующее:
Моя интерпретация этой страницы такова, что я выполнил свою часть работы, и теперь очередь Google - но это было несколько дней назад. Должен ли я что-то сделать, чтобы побудить Google создать соединение?
Я думаю, что сосредотачиваюсь в правильном месте, потому что, если я попытаюсь использовать свой частный IP, gcloud скажет мне создать сеть, которую я жду:
❯ 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.