En esta página se resume cómo conectarse a las bases de datos que ofrece AlloyDB para PostgreSQL:
Redes: las instancias de AlloyDB usan IPs públicas o privadas en una nube privada virtual (VPC). Hay varias técnicas que permiten establecer conexiones seguras desde aplicaciones que se ejecutan fuera de la VPC.
Autorización: AlloyDB Auth Proxy te permite usar Gestión de Identidades y Accesos (IAM) para controlar quién tiene acceso a tus datos. El cortafuegos de tu VPC te permite ajustar aún más el acceso a los recursos de AlloyDB.
Autenticación: usa técnicas de autenticación de usuarios de PostgreSQL estándar para iniciar sesión en tus instancias. AlloyDB también admite la autenticación basada en gestión de identidades y accesos mediante roles de usuario de PostgreSQL estándar.
Redes
Aunque una instancia de AlloyDB contiene muchos nodos, tus aplicaciones se conectan a una instancia a través de una única dirección IP estática. Esta dirección puede ser una dirección privada de la VPC que especifiques al configurar por primera vez el clúster de una instancia o una IP pública que permita conexiones directas desde fuera de la VPC.
IP privada
Cuando configuras AlloyDB con una IP privada, tu instancia obtiene una dirección IP privada en tu VPC.
Las direcciones IP privadas afectan a las conexiones a tu aplicación de dos formas:
Las aplicaciones que se ejecutan en otro lugar de la VPC de tu proyecto pueden conectarse a la instancia (o a un proxy que represente la instancia) sin pasos ni recursos adicionales.
Por ejemplo, en Conectar un cliente psql a una instancia se muestra cómo conectarse a su instancia de AlloyDB ejecutando el programa de línea de comandos
psql
en una máquina virtual de Compute Engine de su VPC.Las aplicaciones que se ejecutan fuera de la VPC requieren un servicio intermediario para conectarse a la instancia de AlloyDB. Entre las soluciones se incluyen ejecutar servicios proxy en una VM dentro de la VPC de la instancia o usar otros productos deGoogle Cloud para establecer una conexión permanente entre tu aplicación y tu VPC.
Para obtener más información, consulta Conectarse a un clúster desde fuera de su VPC.
Las conexiones a través de IP privada suelen ofrecer una latencia menor y vectores de ataque limitados, ya que no requieren atravesar Internet.
Para obtener más información sobre las IPs privadas en AlloyDB, consulta el artículo Descripción general de las IPs privadas.
IP pública
Cuando configuras AlloyDB con una IP pública, tu instancia obtiene una dirección IP pública para las conexiones entrantes, a la que se puede acceder a través de la red de Internet pública. También puedes usar redes externas autorizadas para especificar un intervalo de direcciones IP en formato CIDR que pueda acceder a tu instancia.
Te recomendamos que uses una IP pública con AlloyDB Language Connectors para asegurar las conexiones entre el cliente y tu instancia.
Para obtener más información sobre cómo añadir una IP pública y redes externas autorizadas a tu instancia, consulta Conectarse mediante una IP pública.
AlloyDB también admite conexiones salientes a tu instancia. Puedes habilitar la IP pública saliente para migrar una base de datos a AlloyDB directamente desde una fuente externa mediante Database Migration Service o configuraciones pglogical
autogestionadas. AlloyDB también admite la conexión a una fuente de datos externa mediante envoltorios de datos externos, como postgres_fdw
o oracle_fdw
.
Para obtener más información sobre cómo habilitar la IP pública saliente, consulta el artículo Añadir conectividad saliente a una instancia.
Autorización
Puedes controlar el acceso a un clúster de AlloyDB mediante conectores de lenguaje de AlloyDB, proxy de autenticación de AlloyDB o reglas de cortafuegos de VPC.
Conectores de lenguaje de AlloyDB
Los conectores de lenguaje de AlloyDB son bibliotecas de cliente que proporcionan mTLS automatizado mediante TLS 1.3 y autorización de IAM al conectarse a un clúster de AlloyDB.
Puedes usar estas bibliotecas directamente desde sus respectivos lenguajes de programación. Ofrecen las mismas funciones que AlloyDB Proxy sin necesidad de un proceso externo. De esta forma, se mejora la seguridad y se reducen los requisitos de configuración para conectarse a AlloyDB.
Para obtener más información, consulta la descripción general de AlloyDB Language Connectors.
Controlar el acceso con la gestión de identidades y accesos y el proxy de autenticación de AlloyDB
Aunque puedes conectarte directamente a una instancia a través de su dirección IP, te recomendamos que uses el proxy de autenticación de AlloyDB en entornos de producción. Proporciona control de acceso basado en IAM y cifrado de extremo a extremo entre el proxy y tu clúster.
Para obtener más información, consulta Información sobre el proxy de autenticación de AlloyDB.
Limitar el acceso a la VPC con reglas de cortafuegos
Al igual que con cualquier proyecto basado en la nube, debes ajustar las reglas de cortafuegos de tu VPC para restringir el acceso a la red solo a los intervalos de IP o subredes desde los que se conectan tus aplicaciones. Esto es especialmente importante en el caso de las aplicaciones externas, tal como se detalla en el artículo Conectarse a un clúster desde fuera de su VPC.
Para obtener más información sobre cómo configurar el cortafuegos de tu VPC, consulta las reglas del cortafuegos de VPC.
Autenticación
AlloyDB admite dos tipos de usuarios de bases de datos, cada uno de los cuales tiene su propia forma de autenticarse en tus bases de datos:
Los roles de usuario estándar de PostgreSQL se autentican con un nombre de usuario y una contraseña. Estas cuentas se gestionan mediante técnicas de gestión de usuarios de PostgreSQL habituales. Para obtener más información, consulta Gestionar roles de usuario de AlloyDB.
Los usuarios de gestión de identidades y accesos y las cuentas de servicio se autentican como usuarios de la base de datos mediante tokens de OAuth 2.0. Estas cuentas se gestionan mediante el sistemaGoogle Cloud IAM. Para obtener más información, consulta Gestionar la autenticación de IAM.
Una vez autenticada con una instancia de AlloyDB, una aplicación puede tratar la instancia como un servidor PostgreSQL normal. Una vez que hayas establecido las rutas de autorización y de redes a una instancia, podrás usar las técnicas estándar de PostgreSQL para iniciar sesión en una instancia y acceder a tus datos. Esto se aplica tanto si inicias sesión manualmente con una herramienta como psql
como si te conectas a tu base de datos mediante programación con una biblioteca de código de PostgreSQL.
Normalmente, la primera autenticación con un nuevo clúster de AlloyDB implica iniciar sesión en su instancia principal como usuario postgres
con la contraseña que especifiques al crear el clúster. A partir de ahí, debes crear usuarios de la base de datos sin privilegios de administrador para que los use tu aplicación.
Siguientes pasos
Consulta cómo conectarte a una instancia de AlloyDB con la shell de línea de comandos
psql
. Esto incluye instrucciones para configurar una VM en tu VPC e instalarpsql
en ella.Consulta cómo crear una base de datos.
Consulta cómo instalar y usar el proxy de autenticación de AlloyDB para establecer conexiones seguras con tu instancia de AlloyDB.
Consulta información sobre cómo conectarte mediante conectores de lenguaje de AlloyDB.