En esta página, se resume cómo conectarse a las bases de datos que entrega AlloyDB para PostgreSQL:
Redes: Las instancias de AlloyDB usan IPs públicas o privadas en una nube privada virtual (VPC). Varias técnicas permiten conexiones seguras desde aplicaciones que se ejecutan fuera de la VPC.
Autorización: El proxy de autenticación de AlloyDB te permite usar la administración de identidades y accesos (IAM) para controlar quién tiene acceso a tus datos. El firewall de tu VPC te permite ajustar aún más el acceso a los recursos de AlloyDB.
Autenticación: Usa técnicas estándar de autenticación de usuarios de PostgreSQL para acceder a tus instancias. AlloyDB también admite la autenticación basada en IAM con roles de usuario estándar de PostgreSQL.
Redes
Aunque una instancia de AlloyDB contiene muchos nodos, tus aplicaciones se conectan a una instancia a través de una sola dirección IP estática. Esta dirección puede ser una dirección privada de la VPC que especifiques cuando configures 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 IP privada, tu instancia obtiene una dirección IP privada dentro de tu VPC.
Las direcciones IP privadas afectan las conexiones a tu aplicación de dos maneras:
Las aplicaciones que se ejecutan en otro lugar de la VPC de tu proyecto pueden conectarse a la instancia (o a un proxy que la representa) sin pasos ni recursos adicionales.
A modo de ejemplo, en Cómo conectar un cliente psql a una instancia, se muestra cómo conectarte a tu instancia de AlloyDB ejecutando el programa de línea de comandos
psql
en una VM de Compute Engine dentro de tu 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 la ejecución de servicios de proxy en una VM dentro de la VPC de la instancia o el uso de otros productos deGoogle Cloud para establecer una conexión permanente entre tu aplicación y tu VPC.
Para obtener más información, consulta Cómo conectarse a un clúster desde fuera de su VPC.
Las conexiones mediante IP privadas suelen proporcionar una latencia más baja y vectores de ataque limitados porque no requieren atravesar Internet.
Para obtener más información sobre las IP privadas en AlloyDB, consulta Descripción general de las IP 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 en Internet público. De forma opcional, puedes usar redes externas autorizadas para especificar un rango de direcciones IP en formato CIDR que pueda acceder a tu instancia.
Recomendamos usar una IP pública con los conectores de lenguaje de AlloyDB para asegurar conexiones seguras entre el cliente y tu instancia.
Para obtener más información sobre cómo agregar una IP pública y redes externas autorizadas a tu instancia, consulta Cómo conectarse con 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 con Database Migration Service
o configuraciones de pglogical
autoadministradas. AlloyDB también admite la conexión a una fuente de datos externa con wrappers 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 Cómo agregar conectividad saliente a una instancia.
Autorización
Puedes controlar el acceso a un clúster de AlloyDB con los conectores de lenguaje de AlloyDB, el proxy de autenticación de AlloyDB o las reglas de firewall de VPC.
Conectores de lenguaje de AlloyDB
Los conectores de lenguaje de AlloyDB son bibliotecas cliente que proporcionan mTLS automatizada con TLS 1.3 y autorización de IAM cuando se conectan a un clúster de AlloyDB.
Puedes usar estas bibliotecas directamente desde sus respectivos lenguajes de programación. Proporcionan las mismas funciones que el proxy de AlloyDB sin necesidad de un proceso externo. Esto proporciona una seguridad mejorada y requisitos de configuración reducidos para conectarse a AlloyDB.
Para obtener más información, consulta la descripción general de los conectores de lenguaje de AlloyDB.
Controla el acceso con IAM 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 usar el proxy de autenticación de AlloyDB en entornos de producción. Proporciona control de acceso basado en IAM y encriptación de extremo a extremo entre el proxy y tu clúster.
Para obtener más información, consulta Acerca del proxy de autenticación de AlloyDB.
Limita el acceso a la VPC con reglas de firewall
Al igual que con cualquier proyecto basado en la nube, debes ajustar las reglas de firewall de tu VPC para restringir el acceso a la red solo a los rangos de IP o subredes desde los que se conectan tus aplicaciones. Esto es de gran importancia con las aplicaciones externas, como se detalla en Cómo conectarse a un clúster desde fuera de su VPC.
Para obtener más información sobre cómo configurar el firewall de tu VPC, consulta Reglas de firewall 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 con tus bases de datos:
Los roles de usuario estándar de PostgreSQL se autentican con un nombre de usuario y una contraseña. Administras estas cuentas con técnicas normales de administración de usuarios de PostgreSQL. Para obtener más información, consulta Administra los roles de usuario de AlloyDB.
Las cuentas de usuario y de servicio de IAM se autentican como usuarios de la base de datos con tokens de OAuth 2.0. Administras estas cuentas con elGoogle Cloud sistema de IAM. Para obtener más información, consulta Cómo administrar la autenticación de IAM.
Una vez que se autentica con una instancia de AlloyDB, una aplicación puede tratarla como un servidor PostgreSQL normal. Después de establecer rutas de red y autorización a una instancia, puedes usar técnicas estándar de PostgreSQL para acceder a tus datos. Esto es así, ya sea que accedas de forma manual con una herramienta como psql
o te conectes a tu base de datos de forma programática con una biblioteca de código de PostgreSQL.
Por lo general, tu primera autenticación con un clúster nuevo de AlloyDB implica acceder a su instancia principal como su usuario postgres
con la contraseña que especificaste cuando creaste el clúster. Desde allí, debes crear usuarios de la base de datos sin privilegios de administrador para el uso de tu aplicación.
¿Qué sigue?
Aprende a conectarte a una instancia de AlloyDB con la shell de línea de comandos de
psql
. Esto incluye instrucciones para configurar una VM dentro de tu VPC y, también, instalarpsql
en ella.Obtén información para crear una base de datos.
Obtén información para instalar y usar el proxy de autenticación de AlloyDB para establecer conexiones seguras con tu instancia de AlloyDB.
Obtén información para conectarte con los conectores de lenguaje de AlloyDB.