Puedes usar el cliente de línea de la comandos de PostgreSQL para conectarte a Cloud SQL. En esta página, se describe cómo conectar un cliente psql
a tu instancia de Cloud SQL, ya sea que se ejecute de forma local en una máquina cliente, en una VM de Compute Engine, o en Cloud Shell.
Antes de comenzar
Antes de usar un cliente psql
para conectarte a tu instancia de Cloud SQL, haz lo siguiente:
-
Crea una instancia de Cloud SQL y configura el usuario predeterminado.
Consulta Crea instancias y Establece la contraseña para la cuenta de usuario predeterminada.
De forma opcional, crea una instancia de VM de Compute Engine y, luego, conéctala a la instancia mediante SSH.
Consulta Crea e inicia una instancia de VM, Acerca de las conexiones SSH, o Conéctate a las VMs de Windows mediante RDP.
Decide cómo te conectarás a tu instancia.
Para obtener información acerca de las opciones de conexión y cómo elegir una de ellas, consulta la sección Acerca de las opciones de conexión.
Usa un cliente PostgreSQL en una máquina local o en una VM de Compute Engine
El uso de un cliente psql
para conectarte a tu instancia de Cloud SQL implica tres tareas de alto nivel:
- Instala el cliente.
- Configura el acceso a tu instancia de Cloud SQL.
- Conéctate a tu instancia de Cloud SQL.
Instala el cliente
Para instalar el cliente de psql
, haz lo siguiente:
Debian/Ubuntu
Instala el cliente psql desde el administrador de paquetes:
sudo apt-get update sudo apt-get install postgresql-client
CentOS/RHEL
Instala el cliente psql desde el administrador de paquetes:
sudo yum install postgresql
openSUSE
Instala el cliente psql desde el administrador de paquetes:
sudo zypper install postgresql
Otras plataformas
- Descarga la distribución principal de PostgreSQL para tu plataforma desde la página de descargas de PostgreSQL.
La distribución principal incluye el cliente psql. - Instala la base de datos de PostgreSQL y sigue las instrucciones en la página de descargas.
Configura el acceso a tu instancia de Cloud SQL
Para configurar el acceso a la instancia, haz lo siguiente:
- Desde la máquina cliente o la instancia de VM de Compute Engine, usa ¿Cuál es mi IP? para ver la dirección IP de la máquina cliente.
- Copia esa dirección IP.
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Selecciona Conexiones en el menú de navegación de SQL.
- En la sección Redes autorizadas, haz clic en Agregar red y, luego, ingresa la dirección IP de la máquina en la que está instalado el cliente.
- Haz clic en Listo y, luego, en Guardar en la parte inferior de tu página para guardar los cambios.
- Conéctate a tu instancia, ya sea con SSL o sin SSL.
Conéctate a tu instancia de Cloud SQL sin encriptación
Para conectarte a la instancia, sigue estos pasos:
- Confirma que instalaste el cliente y configuraste el acceso a tu instancia.
- Inicia el cliente
psql
:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP"
- Ingresa la contraseña.
- Aparecerá el mensaje de psql.
Conéctate a tu instancia de Cloud SQL con SSL
Para conectarte mediante SSL, necesitas lo siguiente:
- Un certificado de autoridad certificada (CA) en un archivo server-ca.pem.
- Un certificado de clave pública del cliente en un archivo client-cert.pem.
- Una clave privada del cliente en un archivo client-key.pem
Si te falta un certificado de cliente y una clave privada correspondiente, crea un certificado de cliente nuevo.
Antes de comenzar, confirma que instalaste el cliente y configuraste el acceso a tu instancia.
Para conectarte a tu instancia con mediante SSL, haz lo siguiente:
- Inicia el cliente
psql
:psql "sslmode=verify-ca sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=INSTANCE_IP \ user=postgres dbname=DB_NAME"
Por ejemplo:
psql "sslmode=verify-ca sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=01.23.45.67 \ user=postgres dbname=postgres"
No se requiere un modo SSL de
verify-full
.verify-ca
es suficiente porque la CA es específica de la instancia.Sin embargo, si deseas usar el modo
verify-full
de PostgreSQL, ejecuta el siguiente comando:psql "sslmode=verify-full sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=INSTANCE_IP port=5432 \ user=postgres dbname=DB_NAME \ host=INSTANCE_NAME"
Por ejemplo:
psql "sslmode=verify-full sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=01.23.45.67 port=5432 \ user=postgres dbname=postgres \ host=myinstance"
Además, es posible que quieras crear un archivo de servicio de conexión para administrar tus parámetros de conexión, en especial si te conectas a más de una instancia. Para obtener más información, consulta la documentación de PostgreSQL.
- Ingresa la contraseña. La contraseña es obligatoria para Cloud SQL aunque PostgreSQL admite conectividad sin contraseña mientras se usa SSL.
- Puedes confirmar que la conexión está encriptada si buscas el cifrado en la información de la conexión:
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Usa el cliente en Cloud Shell
Para conectarte a una instancia de Cloud SQL (solo IP pública), sigue estos pasos:
- Ve a la consola de Google Cloud.
Ve a la consola de Google Cloud.
- Haz clic en el ícono de Cloud Shell
a la derecha de la barra de herramientas.
Cloud Shell tarda unos minutos en inicializarse.
- En el mensaje de Cloud Shell, usa el cliente incorporado para conectarte a tu instancia de Cloud SQL:
gcloud sql connect INSTANCE_ID \ --user=postgres
- Escribe la contraseña.
El comando gcloud sql connect
no admite la conexión a una instancia de Cloud SQL mediante una IP privada ni mediante SSL/TLS. Para conectarte con la encriptación, instala y usa el proxy en Cloud Shell:
- Instala el proxy (Linux de 64 bits) en el directorio
/home/USER
. - Inicia el proxy con la autenticación de la CLI de gcloud:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- Conéctate a la base de datos mediante la conexión TCP:
psql -U USERNAME --host=127.0.0.1
¿Qué sigue?
- Obtén más información sobre cómo configurar una instancia con una dirección IP privada.
- Obtén más información sobre las opciones para conectarte a una instancia desde tu aplicación.
- Obtén información sobre cómo funciona el cliente
psql
con SSL.
Pruébalo tú mismo
Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud SQL en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Probar Cloud SQL gratis