Puedes usar el cliente de línea de comandos de PostgreSQL para conectarte a Cloud SQL. Esta página describe cómo conectar un cliente psql
a tu instancia de Cloud SQL, ya sea que se ejecute localmente en tu equipo cliente, en una máquina virtual de Compute Engine o en Cloud Shell.
Antes de empezar
Antes de poder usar un cliente psql
para conectarse a su instancia de Cloud SQL, haga lo siguiente:
Cree una instancia de Cloud SQL, incluida la configuración del usuario predeterminado.
Consulte Crear instancias y Establecer la contraseña para la cuenta de usuario predeterminada .
Opcionalmente, cree una instancia de VM de Compute Engine y luego conéctese a la instancia mediante SSH.
Consulte Crear e iniciar una instancia de VM , Acerca de las conexiones SSH o Conectarse a VM de Windows mediante RDP .
Determina cómo te conectarás a tu instancia.
Para conocer las opciones de conexión y cómo elegir entre ellas, consulte Acerca de las opciones de conexión .
Utilice un cliente PostgreSQL en una máquina local o una máquina virtual de Compute Engine
El uso de un cliente psql
para conectarse a su instancia de Cloud SQL implica tres tareas de alto nivel:
- Instalar el cliente .
- Configure el acceso a su instancia de Cloud SQL .
- Conéctese a su instancia de Cloud SQL .
Instalar el cliente
Para instalar el cliente psql
, haga lo siguiente:
Debian/Ubuntu
Instale el cliente psql desde el administrador de paquetes:
sudo apt-get update sudo apt-get install postgresql-client
CentOS/RHEL
Instale el cliente psql desde el administrador de paquetes:
sudo yum install postgresql
openSUSE
Instale el cliente psql desde el administrador de paquetes:
sudo zypper install postgresql
Otras plataformas
- Descargue la distribución principal de PostgreSQL para su plataforma desde la página de descargas de PostgreSQL .
La distribución principal incluye el cliente psql. - Instale la base de datos PostgreSQL, siguiendo las instrucciones de la página de descarga.
Configurar el acceso a su instancia de Cloud SQL
Para configurar el acceso a su instancia, haga lo siguiente:
- Desde la máquina cliente o la instancia de VM de Compute Engine, use ¿Cuál es mi IP? para ver la dirección IP de la máquina cliente.
- Copia esa dirección IP.
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
- Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
- Seleccione Conexiones en el menú de navegación de SQL.
- Seleccione la pestaña Redes .
- En la sección Redes autorizadas , haga clic en Agregar red e ingrese la dirección IP de la máquina donde está instalado el cliente.
- Haz clic en Listo . Luego, haz clic en Guardar al final de la página para guardar los cambios.
- Conéctese a su instancia, ya sea usando SSL/TLS o sin cifrado (sin usar SSL/TLS) .
Conéctese a su instancia de Cloud SQL sin cifrado
Para permitirle conectarse sin cifrado, la instancia debe tener el modo SSL configurado en ALLOW_UNENCRYPTED_AND_ENCRYPTED
. En el Google Cloud consola, la configuración equivalente es Permitir tráfico de red sin cifrar .
Para obtener más información sobre la configuración SSL/TLS de su instancia, consulte Configurar certificados SSL/TLS .
Para conectarse a su instancia, haga lo siguiente:
- Confirme que ha instalado el cliente y configurado el acceso a su instancia .
- Inicie el cliente
psql
:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
- Introduzca su contraseña.
- Aparece el indicador psql.
Conéctese a su instancia de Cloud SQL mediante SSL/TLS
Para conectarse a su instancia mediante SSL/TLS y autenticación integrada:
- Inicie el cliente
psql
:psql "sslmode=require \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
Por ejemplo:
psql "sslmode=require \ hostaddr=203.12.34.56 \ user=postgres dbname=postgres"
También podría ser útil crear un archivo de servicio de conexión para administrar los parámetros de conexión, especialmente si se conecta a más de una instancia. Para más información, consulte la documentación de PostgreSQL .
- Ingrese la contraseña. Esta es obligatoria para Cloud SQL, aunque PostgreSQL admite la conectividad sin contraseña al usar SSL/TLS.
- Puede confirmar que la conexión está cifrada buscando el cifrado en la información de conexión:
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Conéctese a su instancia de Cloud SQL mediante SSL/TLS y la verificación del certificado de cliente
Si ssl_mode
en su instancia de Cloud SQL está configurado como TRUSTED_CLIENT_CERTIFICATE_REQUIRED
, también deberá proporcionar una identidad de cliente verificada cuando inicie sesión.
Para conectarse mediante certificados SSL/TLS con verificación del cliente, necesita lo siguiente:
- Un certificado de clave pública de cliente en un archivo client-cert.pem .
- Una clave privada de cliente en un archivo client-key.pem .
Además, para permitir que el cliente verifique la identidad del servidor para la autenticación mutua, especifique el certificado de servidor server-ca.pem .
Por ejemplo, para iniciar el clientepsql
:psql "sslmode=verify-ca sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
Si no tiene un certificado de cliente y una clave privada correspondiente, cree un nuevo certificado de cliente .
Uso del cliente en Cloud Shell
Para conectarse a una instancia de Cloud SQL (solo IP pública):
- Ir a la Google Cloud consola.
- Haga clic en el icono de Cloud Shell
hacia la derecha en la barra de herramientas. Cloud Shell tarda unos instantes en inicializarse.
- En el indicador de Cloud Shell, use el cliente integrado para conectarse a su instancia de Cloud SQL:
gcloud sql connect INSTANCE_ID \ --user=postgres
- Introduzca su contraseña.
El comando gcloud sql connect
no permite conectarse a una instancia de Cloud SQL mediante una IP privada ni mediante SSL/TLS. Para conectarse con cifrado, instale y use el proxy en Cloud Shell:
- Instale el proxy (Linux 64 bits) en el directorio
/home/USER
. - Inicie el proxy mediante la autenticación CLI de gcloud:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- Conéctese a la base de datos mediante la conexión TCP:
psql -U USERNAME --host=127.0.0.1
¿Qué sigue?
- Obtenga información sobre cómo configurar una instancia con una dirección IP privada .
- Obtenga información sobre las opciones para conectarse a su instancia desde su aplicación .
- Obtenga información sobre cómo funciona el cliente
psql
con SSL .
Pruébelo usted mismo
Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud SQL en situaciones reales. Los nuevos clientes también reciben $300 en créditos gratuitos para ejecutar, probar e implementar cargas de trabajo.
Pruebe Cloud SQL gratis