Conéctate a una instancia de Cloud SQL para PostgreSQL con IP privada
En esta página se muestra cómo crear y conectarse a una instancia de PostgreSQL mediante una IP privada. Los recursos creados en esta guía de inicio rápido suelen costar menos de un dólar, bajo la suposición de que completas los pasos, incluida la limpieza, de manera correcta.
Para seguir la guía paso a paso en esta tarea directamente en la consola de Google Cloud, haz clic en Guía:
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Habilita las APIs de Google Cloud necesarias.
Console
En la consola de Google Cloud, ve a la página API.
Habilita la API de Cloud SQL Admin Cuando habilitas esta API, puedes ejecutar el proxy de Cloud SQL Auth.gcloud
Haz clic en el siguiente botón para abrir Cloud Shell, que proporciona acceso de línea de comandos a tus recursos de Google Cloud directamente desde el navegador. Cloud Shell se puede usar para ejecutar los comandos de
gcloud
que se presentan en esta guía de inicio rápido.Ejecuta el comando
gcloud services enable
de la siguiente manera con Cloud Shell a fin de habilitar las API necesarias para esta guía de inicio rápido:gcloud services enable sqladmin.googleapis.com
Este comando habilita las siguientes APIs:
- API de Cloud SQL Admin Cuando habilitas esta API, puedes ejecutar el proxy de Cloud SQL Auth.
Descripción general
Hay muchas formas de conectarte a una instancia de Cloud SQL con una dirección IP privada según la ubicación de la fuente. El factor clave es que la máquina de origen debe estar en la misma red de VPC que la instancia de Cloud SQL. Si la fuente no está en Google Cloud ni en el mismo proyecto de Google Cloud, debes configurar la conectividad de manera diferente a la que se muestra aquí.
En esta guía de inicio rápido, configuraremos la conectividad a través de la ruta más directa. La fuente y el destino están en el mismo proyecto de Google Cloud y en la misma red de VPC. Creamos una instancia de Cloud SQL con una dirección IP privada (el destino) y una VM de Compute Engine (el origen). Usamos la VM para instalar las herramientas necesarias para conectarnos desde la VM hasta la instancia de Cloud SQL.
Realiza las siguientes acciones:
- Crear una base de datos de Cloud SQL con una dirección IP privada.
Busca y guarda el
connection name
de la instancia para un uso posterior. - Crea una VM de Compute Engine.
- Abre dos conexiones SSH a la VM de Compute Engine
Usarás la primera ventana para instalar psql además de instalar y, luego, iniciar el proxy de Cloud SQL Auth. Luego, usarás la segunda ventana para conectarte a la instancia de Cloud SQL mediante la conexión al proxy de Cloud SQL Auth.
- En la ventana de SSH 1, haz lo siguiente:
- Instala el cliente psql.
- Instala el proxy de Cloud SQL Auth.
El proxy de Cloud SQL Auth actúa como un conector entre el cliente psql y la instancia de Cloud SQL.
- Inicia el proxy de Cloud SQL Auth.
Si se ejecuta de forma correcta, el proxy de Cloud SQL Auth escucha las solicitudes de conexión.
- En la ventana SSH n.° 2, conéctate a la instancia
de Cloud SQL mediante la conexión del cliente
psql al proxy de Cloud SQL Auth.
Si se ejecuta de forma correcta, verás el mensaje de psql en esta ventana y un mensaje de conexión correcta en la ventana de SSH n.° 1, en la que se ejecuta el proxy de Cloud SQL Auth.
- Realiza una limpieza.
Crea una instancia de Cloud SQL con una dirección IP privada
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Haga clic en Crear instancia.
- Haz clic en Elegir PostgreSQL.
- Si se te solicita que habilites la API de Compute, haz clic en el botón Habilitar API.
- En la sección Información de la instancia, ingresa un nombre para el ID de instancia.
- Ingresa una contraseña para el usuario de postgres. Toma nota de la contraseña que crees, ya que la necesitarás más tarde.
- En la sección Elige la región y la disponibilidad zonal, selecciona la opción Zona única.
- Expanda Mostrar opciones de configuración.
- Expande Conexiones.
- Borra la IP pública.
- Seleccione IP privada.
- En el menú desplegable Red, selecciona la configuración predeterminada.
- Si usas un proyecto nuevo, el mensaje te pedirá lo siguiente: Se requiere una conexión privada a servicio. Luego, sigue estos pasos:
- Haz clic en Configurar conexión.
- Haz clic en Habilitar API de Service Networking.
- En la sección Asigna un rango de IP, selecciona Usar un rango de IP asignado automáticamente.
- Haz clic en Continuar.
- Haz clic en Crear conexión y espera a que se complete la creación de la conexión.
Haga clic en Crear instancia.
Se te redireccionará a la página Descripción general de la instancia. Haz clic en la instancia nueva para ver los detalles, incluida su dirección IP privada.
En la sección Conéctate a esta instancia, copia y guarda el Nombre de la conexión de la instancia. connection name
tiene el formato projectID:region:instanceID
.
Usarás este connection name
más adelante cuando inicies el proxy de Cloud SQL Auth.
Crea una base de datos
Regresa a la página Descripción general de la instancia y selecciona el elemento de menú Bases de datos.
- Selecciona Crear base de datos.
- Ingresa un DB_NAME en el campo Nombre de la base de datos.
- Haz clic en Crear.
Usarás este db_name
más adelante cuando te conectes mediante el proxy de Cloud SQL Auth.
Crea una VM de Compute Engine
-
En la consola de Google Cloud, ve a la página Instancias de VM.
- Haga clic en Crear instancia.
- Ingresa un Nombre para la instancia.
- En Permiso de acceso, selecciona Permitir el acceso total a todas las API de Cloud.
- Haz clic en Crear y espera a que se termine de crear la VM.
Abre dos conexiones SSH a la VM de Compute Engine
Usamos dos ventanas en la VM. La primera ventana se usa para instalar el cliente psql y el proxy de Cloud SQL Auth, obtener el nombre de la conexión de la instancia y usar el nombre para iniciar el proxy. La segunda ventana se usa para conectarse a la instancia de Cloud SQL a través del proxy.
- Expande el menú SSH en la columna Conectar para la instancia de VM de Compute Engine.
- Selecciona Abrir en otra ventana del navegador para abrir la ventana SSH 1.
Es posible que el mensaje tarde unos segundos en estar disponible en la ventana.
- Cuando aparezca el mensaje, ingresa
pwd
para verificar que estés en el directorio/home/$USER
.Instalarás el cliente psql y el proxy de Cloud SQL Auth y, luego, iniciarás el proxy de Cloud SQL Auth, en esta ventana.
- Vuelve a seleccionar Abrir en otra ventana del navegador para abrir la ventana SSH 2.
Usarás esta ventana para conectarte a tu instancia de Cloud SQL.
Instalar el cliente psql
Usa la ventana SSH n.° 1 para este paso.
Instala el cliente psql desde el administrador de paquetes:
sudo apt-get update sudo apt-get install postgresql-client
Instala el proxy de Cloud SQL Auth
Usa la ventana SSH n.° 1 para este paso.
- Instala
wget
:sudo apt-get install wget
- Descarga el proxy de Cloud SQL Auth:
wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \ -O cloud-sql-proxy
- Haz que el proxy de Cloud SQL Auth sea ejecutable:
chmod +x cloud-sql-proxy
Inicia el proxy de Cloud SQL Auth
Usa la ventana SSH n.° 1 para este paso.
Inicia el proxy de Cloud SQL Auth para que puedas supervisar el resultado. Reemplaza INSTANCE_CONNECTION_NAME
por el connection name
que copiaste cuando creaste la instancia de Cloud SQL.
./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME
Cuando el proxy de Cloud SQL Auth se inicia de forma correcta, aparece un mensaje similar al siguiente en la ventana de SSH:
Listening on 127.0.0.1:5432 for myInstance Ready for new connections
Conéctate a tu instancia de Cloud SQL
Usa la ventana SSH 2 para este paso.
Ejecuta el siguiente comando después de reemplazar DB_NAME por el nombre de la base de datos de Cloud SQL:
psql "host=127.0.0.1 port=5432 sslmode=disable dbname=DB_NAME user=postgres"
En el cuadro de contraseña Intro: ingresa la contraseña de tu cuenta de PostgreSQL.
Verifica que aparezca el cuadro de PostgreSQL. Te conectaste a tu base de datos con el cliente psql.
Regresa a la ventana de terminal en la que iniciaste el proxy de Cloud SQL Auth. Deberías ver un mensaje similar al siguiente:
New connection for myInstance
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Selecciona la instancia
myinstance
para abrir la página de detalles de la instancia. - En la barra de íconos en la parte superior de la página, haz clic en Borrar.
- En la ventana Borrar instancia, escribe el nombre de tu instancia y, luego, haz clic en Borrar.
Pasos opcionales de limpieza
Si no usas las API que se habilitaron como parte de esta guía de inicio rápido, puedes inhabilitarlas.
- API que se habilitaron en esta guía de inicio rápido:
- API de Cloud SQL Admin
En la consola de Google Cloud, ve a la página API.
Selecciona la API de Administrador de Cloud SQL y, luego, haz clic en el botón Inhabilitar API.
En la consola de Google Cloud, ve a la página Instancias de VM.
Selecciona el nombre de tu instancia.
Selecciona Borrar en el menú Más acciones.
¿Qué sigue?
En función de tus necesidades, puedes obtener más información para crear instancias de Cloud SQL.
También puedes obtener información sobre cómo crear usuarios de PostgreSQL y bases de datos para tu instancia de Cloud SQL.
Además, puedes obtener información sobre la conexión a una instancia de Cloud SQL desde otras aplicaciones de Google Cloud: