Каков рекомендуемый способ подключения приложения весенней загрузки и Google Cloud SQL?

Когда я читаю документацию Google, я вижу, что рекомендуемый способ - с использованием облачного прокси-сервера sql:

Для безопасного подключения к Cloud SQL из Google Kubernetes Engine с помощью общедоступного IP-адреса вы должны использовать прокси-сервер Cloud SQL.

С другой стороны, когда я читаю весеннюю документацию, я вижу следующий способ реализовать:

добавить зависимость:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-gcp-starter-sql-postgresql</artifactId>
</dependency>

и укажите свойства:

spring.cloud.gcp.sql.instance-connection-name
spring.cloud.gcp.sql.database-name
spring.datasource.username
spring.datasource.password

Я пробовал весенний способ, и он работает, но я не уверен, рекомендуется ли это из-за документации Google. Не могли бы вы прояснить это?

P.S.

Подход Spring к загрузке перестал работать, когда я переключился с публичного IP на частный на стороне cloudSQL, и я понятия не имею, как его восстановить?


person gstackoverflow    schedule 10.01.2020    source источник
comment
Ваше приложение действительно работает в GKE?   -  person OneCricketeer    schedule 10.01.2020
comment
@ cricket_007 ты прав!   -  person gstackoverflow    schedule 10.01.2020
comment
Хорошо, а что вы имеете в виду под переходом с публичного IP на частный? Куда ты переключился? Внутри приложения?   -  person OneCricketeer    schedule 10.01.2020
comment
Я имею в виду следующее: dl4.joxi. net / drive / 2020/01/10/0005/3037/338909/09 /   -  person gstackoverflow    schedule 10.01.2020
comment
@ cricket_007 см. предыдущий комментарий (выше)   -  person gstackoverflow    schedule 10.01.2020
comment
Я вижу это. Я не знаю, что означает значение по умолчанию для вашего кластера GKE, но если рекомендуется использовать прокси-сервер SQL, какие у вас проблемы?   -  person OneCricketeer    schedule 10.01.2020
comment
@ cricket_007 это отдельная история.   -  person gstackoverflow    schedule 10.01.2020


Ответы (1)


spring-cloud-gcp-starter-sql-postgresql - отличная библиотека, и я рекомендую использовать ее, если вы создаете приложение Spring. Он использует Cloud SQL JDBC Socket Factory, который использует тот же механизм. в качестве прокси-сервера Cloud SQL для подключения.

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

person kurtisvg    schedule 11.01.2020
comment
Не могли бы вы прояснить, как выбрать между публичным IP и частным IP? - person gstackoverflow; 13.01.2020
comment
Насколько безопасно использовать общедоступный IP-адрес вместе с Cloud SQL JDBC SOCKET FACTORY? - person gstackoverflow; 13.01.2020
comment
Частный IP-адрес требует подключения с ресурса, который подключен к VPC. Частный IP-адрес имеет меньшую задержку (поскольку трафик остается локальным), но не всегда вариант в зависимости от ваших потребностей (регион, тип ресурса и т. Д.). Как правило, я рекомендую использовать частный IP-адрес, если он подходит для вашего дизайна и вы хотите повысить производительность сети. В противном случае используйте публичный IP. - person kurtisvg; 13.01.2020
comment
Общедоступный IP-адрес через Cloud SQL JDBC Socket Factory безопасен - он использует учетные данные IAM для создания эфемерного сертификата за 1 час ротации, который используется для аутентификации и шифрования ваших данных с помощью TLS. - person kurtisvg; 13.01.2020
comment
Можно ли использовать частный api вместе с Cloud SQL JDBC SOCKET Factory? - person gstackoverflow; 13.01.2020
comment
Конечно - вы можете указать iptypes=, но вам по-прежнему необходимо соответствовать тем же требованиям, что и при использовании частных IP-соединений. - person kurtisvg; 14.01.2020
comment
не могли бы вы дать пошаговую инструкцию? На самом деле я не вижу способа указать iptype в библиотеке spring cloud gcp. Мы вообще не предоставляем URL. Spring генерирует URL-адрес на основе предоставленных нами свойств. Взгляните на: cloud.spring.io/spring-cloud-gcp /multi/multi__spring_jdbc.html - person gstackoverflow; 14.01.2020
comment
Не могли бы вы ответить? - person gstackoverflow; 15.01.2020
comment
Это часть URL-адреса JDBC. Вот ссылка на файл Readme для Cloud SQL JDBC SocketFactory: github.com/GoogleCloudPlatform/ - person kurtisvg; 16.01.2020
comment
Еще раз я использую библиотеку spring cloud sql, которую я связал в этой теме. Библиотека spring cloud sql использует Cloud SQL JDBC SocketFactory. Я согласен с тем, что если я использую Cloud SQL JDBC SocketFactory напрямую, я могу последовать вашему совету, но я использую библиотеку spring cloud sql. Имеет ли это смысл? - person gstackoverflow; 16.01.2020
comment
Опять же, вы можете использовать URL-адрес JDBC, чтобы указать это. Spring позволяет вам настроить источник данных, просто используя URL-адрес JDBC, если вы хотите: docs.spring.io/spring-boot/docs/current/reference/html/ - person kurtisvg; 16.01.2020