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

# #docker #google-cloud-platform #database-connection #proxysql

Вопрос:

Для проекта с объединением данных мне нужно создать виртуальную машину с прокси-SQL. Чтобы протестировать этот прокси-сервер, я создал второй экземпляр с помощью MariaBD, но я не могу установить соединение с прокси-сервером. Вот что у меня есть:

Виртуальная машина, работающая на оптимизированной для контейнеров операционной системе со статическим внутренним IP-адресом и без внешнего IP-адреса. Эта виртуальная машина работает со следующим сценарием запуска:

 sudo docker run -d 
  -p 0.0.0.0:3307:3307 
  gcr.io/cloudsql-docker/gce-proxy:latest /cloud_sql_proxy 
  -instances=sqlinstance_connection_name=tcp:0.0.0.0:3307
 

экземпляр облачного SQL для MySQL с активированным частным IP-адресом.

Все работает на GCP в одном проекте в одном регионе и сети (по умолчанию). Брандмауэр широко открыт для целей тестирования.

При выполнении следующей команды mysql -u user_name -p'123' -h 10.132.0.4 -P 3307 со второй виртуальной машины для целей тестирования у меня возникает следующая ошибка:

 (HY000): Lost connection to MySQL server at 'handshake: reading initial communication packet', system error: 11 
 

Так в чем же здесь проблема?

Комментарии:

1. можете ли вы пинговать одну виртуальную машину с другой ?

2. Как я могу это сделать?

3. обе виртуальные машины запущены на вашем компьютере ? почему вы не используете docker-compose вместо того, чтобы тратить время на использование виртуальных машин?

4. Все работает в GCP. Я использую виртуальные машины, потому что мне это нужно в контексте более крупного проекта, связанного с объединением данных

5. отлично, значит , оба сервера находятся в одной сети, а это значит, что вы можете использовать частный ip-адрес для связи одного с другим

Ответ №1:

Можете ли вы проверить, имеет ли учетная запись службы экземпляра роль клиента CloudSQL?