Я использую PostgreSQL в облачном SQL вместе с библиотекой psycopg2
для подключения к базе данных из моего кода Python.В настоящее время, что у меня есть, связано с сетью VPC, в которой мои вычислительные машины Google также в этом VPC.Итак, в этом случае мой конфиг для подключения к этому облачному экземпляру sql может использовать частный ip, и мой конфиг выглядит следующим образом:
config['db-cloudsql'] = {
"host" : "10.x.x.x" # cloud sql private ip address
"user" : "postgres"
"password" :"xxxxx"
"database" : "postgres"
}
Но теперь у меня есть другой экземпляр vm из другой сети VPC, которому требуется доступк этому экземпляру облака SQL.Я знаю, что могу получить доступ к облачному экземпляру sql, используя публичный ip.(добавив мою виртуальную машину в авторизованную сеть) Но этой виртуальной машине очень часто требуется доступ к облачному экземпляру SQL.Поэтому я не уверен, что стоимость доступа с публичным ip будет выше по сравнению с доступом с приватным ip (не могу найти никакого связанного с этим документа).Я пытался использовать пиринговые сети 2 vpc для доступа с частным ip, но только что обнаружил, что не могу использовать этот метод для подключения к sql с частным ip из этого документа
Я нашел из документа, что ямогу использовать instance connection name
в качестве хоста для моей конфигурации, поэтому он должен выглядеть примерно так:
config['db-cloudsql'] = {
"host" : "project-name:asia-southeast1:mydbname" #instance connection name
"user" : "postgres"
"password" :"xxxxx"
"database" : "postgres"
}
Я еще не пробовал этот метод, он может не работать, но если он каким-то образом работает, как он будет отличатьсяот использования публичного IP-адреса в плане стоимости?
Спасибо