Можно ли подключиться к Cloud SQL Proxy через внутренний или внешний IP-адрес виртуальной машины Host Compute Engine? - PullRequest
0 голосов
/ 19 июня 2019

Я тестирую следующую конфигурацию.

  • Облачный SQL (tetsql-1) в зоне X Зона A
  • Виртуальная машина Compute Engine (TestVM-1) в том же регионеX Zone A. ОС - Centos 7
  • Compute Engine VM работает с облачным прокси-сервером SQL на порте не по умолчанию (9090)

При указанной выше конфигурации я могу войти в testsql-1 из TestVM-1 с приведенной ниже командой:

  `mysql -h 127.0.0.1 --port 9090 -u testuser -D testDB -p`

Однако я не могу использовать внутренний IP-адрес TestVM-1 в приведенной выше команде.Это выдает ошибку.

Другое замечание - я могу сделать telnet 127.0.0.1 9090, но при попытке telnet <VM -Internal-IP> 9090 возвращает ошибку об отказе в соединении.

Кто-нибудь знает, является ли это ожидаемым поведением?Если это ожидается, почему это так?

Ответы [ 3 ]

0 голосов
/ 19 июня 2019

Это ожидаемое поведение. Частные IP-адреса доступны только из Virtual Private Cloud (VPC) . Чтобы ресурс (например, экземпляр GCE) мог подключиться, он также должен быть на этом VPC.

На этой странице приведены инструкции по добавлению экземпляра GCE в VPC, а на странице приведены дополнительные требования к среде для частного IP.

0 голосов
/ 20 июня 2019

Причина, по которой вы можете подключиться к 127.0.0.1, но не можете подключиться с использованием частного IP-адреса виртуальной машины, заключается в том, что прокси-сервер НЕ прослушивает частный IP-адрес.

Облачный прокси-сервер SQL прослушивает внутренний адрес адаптера обратной связи, который является 127.0.0.1. Этот адрес существует только внутри компьютера.

0 голосов
/ 19 июня 2019

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

...