Конфигурация для использования psycopg2 для доступа к экземпляру Cloud SQL - PullRequest
0 голосов
/ 28 сентября 2019

Я использую 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-адреса в плане стоимости?

Спасибо

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

Похоже, ваш вопрос сводится к двум частям:

Есть ли альтернативы общедоступному или частному IP?

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

Стоимость публичного IP против частного IP

Вы можете найти разбивку по стоит здесь .Короче говоря, нет никаких дополнительных сборов с публичным IP.Вы должны платить $ 0,01 в час, когда экземпляр простаивает (чтобы зарезервировать публичный IP-адрес), и, как и частные IP-адреса, вы несете ответственность за расходы Network Egress между регионами.

Я могу использовать имя подключения экземпляра в качестве хоста для моей конфигурации

Это неверно.Если вы используете для подключения Cloud SQL Proxy , он может создать сокет домена Unix (на /cloudsql/INSTANCE_CONNECTION_NAME), который можно использовать для подключения к вашему экземпляру.Однако прокси-сервер только аутентифицирует ваше соединение - ему по-прежнему нужен действительный путь соединения (публичный против частного).

0 голосов
/ 30 сентября 2019

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

...