Cloud Run «Соединение отказано» в облаке SQL (MySQL) через 127.0.0.1 - истощен все устранение неполадокMySql

Форум по Mysql
Ответить
Anonymous
 Cloud Run «Соединение отказано» в облаке SQL (MySQL) через 127.0.0.1 - истощен все устранение неполадок

Сообщение Anonymous »

Я сталкиваюсь с постоянным подключением, отказавшимся от ошибки при попытке подключения из службы Google Cloud Run к экземпляру Google Cloud SQL (MySQL 8.0). Ошибка последовательно показывает: < /p>

2003, «Не удается подключиться к серверу MySQL на '127.0.0.1' ([[errno 111] подключено)" < /p>
< /blockquote>
Я прошел тщательный нарушение, но проблема перейти. Что я пробовал: < /p>
Cloud SQL экземпляр (MySQL 8.0, Asia-Northeast3 область): < /p>
Изначально пытался с существующим экземпляром; Также создал совершенно новый экземпляр (Daesin-Blog-Auto) в качестве шага по устранению неполадок.
Проверенное соединение с новым экземпляром с использованием DBEAVER (от моей локальной машины через общедоступную IP, которая работает отлично).
подтвердил, что Cloud SQL экземпляр «Running» и Healthy в консоли. Функции-Framework, Asia-Northeast3 область): < /p>
Служба Cloud Run настроена на использование функции Cloud SQL соединений, указывая на Daesin-blog-Auto.
Varials:

db_host: 127.0.0
db_port: 3306
db_port: 3306
db_port: 3306
db_port: 3306
db_port: 3306
db_port: 3306
db_port: 3306

Db_user: root

db_password: (правильный пароль)

db_name: daesin_blog_db

IAM Remissions: Учетная учетная запись сервиса Cloud Run имеет роль клиента SQL.

apis: Advio Advie Api Cloud Sql предназначен для проекта. /> Ingress /Authentication: Разрешение unautentainticated endocations установлено.
код приложения (main.py, с использованием pymysql): < /p>
Мое приложение Python (main.py) использует pymysql.connect ().
I реализовано 3-отошное логику Debug с 2-сайтом задержки. Непосредственно перед Pymysql.connect (), в котором ясно показывает, что приложение видит и пытается подключиться к хосту = 127.0.0.1, порт = 3306, user = root, база данных = daesin_blog_db. Daesinautoblog Cloud Run Service с нуля, тщательно применяя все конфигурации. Ошибка сохранилась.
, что явневался, я развернул отдельное минимальное тестовое приложение (Simple-db-test-app) для облачного запуска в том же проекте и регионе. Это приложение содержит только минимальный код для вызова pymysql.connect ('127.0.0.1'). < /P>

Код: Выделить всё

import os
import sys
import pymysql
import functions_framework

DB_HOST = os.environ.get('DB_HOST')
DB_PORT = int(os.environ.get('DB_PORT', 3306))
DB_USER = os.environ.get('DB_USER')
DB_PASSWORD = os.environ.get('DB_PASSWORD')
DB_NAME = os.environ.get('DB_NAME')

@functions_framework.http
def simple_db_test(request):
sys.stderr.write(f"Connecting with params: HOST={DB_HOST}, PORT={DB_PORT}, USER={DB_USER}, DATABASE={DB_NAME}\n")
conn = None
try:
conn = pymysql.connect(
host=DB_HOST, port=DB_PORT, user=DB_USER, password=DB_PASSWORD, database=DB_NAME,
cursorclass=pymysql.cursors.DictCursor
)

sys.stderr.write("Successfully established new MySQL Database connection (simple test).\n")

cursor = conn.cursor()
cursor.execute("SELECT 1;")
result = cursor.fetchone()
cursor.close()

conn.close()
sys.stderr.write("MySQL Database connection closed (simple test).\n")

return "DB Connection Success! Result from SELECT 1: " + str(result), 200

except Exception as e:
sys.stderr.write(f"DB Connection FAILED (simple test): {e}\n")
if conn and conn.open:
conn.close()
sys.stderr.write("MySQL Database connection closed on error (simple test).\n")
return f"DB Connection FAILED: {e}", 500
< /code>
requirements.txt для простого db-test-app: `< /p>
`functions-framework==3.*
PyMySQL`
Заключение: Учитывая, что даже приложение Barebones в новой службе облачного запуска (в пределах одного и того же проекта/региона) сбое не работает с отказанием подключения до 127.0.0.1, кажется, что проблема не связана с моей конкретной логикой приложения или конфигурацией внешней сети. Он настоятельно предполагает проблему с способностью базового облачного SQL Proxy Sidecar установить интерфейс 127.0.0.1:3306 в среде Cloud Run для этого конкретного облачного проекта Google. Устранение неполадок и минимальные тестовые примеры?
Есть ли какие-либо другие диагностические шаги или внутренние журналы, которые я могу проверить, помимо того, что видно в стандартных журналах облачных прогонов, чтобы понять, почему облачный прокси SQL не обязательна?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... hausted-al
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»