Descripción general de la conexión

En esta página, se describe la conectividad a las bases de datos que ofrece AlloyDB para PostgreSQL. Para obtener más información, consulta Elige cómo conectarte a AlloyDB.

  • Redes: Las instancias de AlloyDB usan IPs públicas o privadas en una nube privada virtual (VPC). Existen varias técnicas que permiten conexiones seguras desde aplicaciones que se ejecutan fuera de la VPC.

  • Autorización: El proxy de autenticación de AlloyDB te permite usar Identity and Access Management (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 privada para la VPC que especificas cuando configuras por primera vez el clúster de una instancia o una IP pública que permite conexiones directas desde fuera de la VPC.

IP privada

Cuando configuras AlloyDB con una 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 dentro de la VPC de tu proyecto pueden conectarse a la instancia (o a un proxy que representa la instancia) sin recursos ni pasos adicionales.

    Por ejemplo, en Conecta un cliente de 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. Las soluciones 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 Conéctate a un clúster desde fuera de su VPC.

Las conexiones a través de IP privadas suelen proporcionar una latencia más baja y vectores de ataque limitados, ya que no requieren atravesar Internet.

Para obtener más información sobre la IP privada en AlloyDB, consulta la Descripción general de la IP privada.

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 Internet público. De manera opcional, puedes usar redes externas autorizadas para especificar un rango de direcciones IP en formato CIDR que puedan acceder a tu instancia.

Recomendamos usar una IP pública con los conectores de lenguaje de AlloyDB para garantizar conexiones seguras entre el cliente y tu instancia.

Si deseas obtener más información para agregar una IP pública y redes externas autorizadas a tu instancia, consulta Conéctate 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 pglogical autoadministradas. AlloyDB también admite la conexión a una fuente de datos externa con contenedores 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 Agrega 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 capacidades 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 que uses 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 las subredes desde los que se conectan tus aplicaciones. Esto es especialmente importante con las aplicaciones externas, como se detalla en Conéctate 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. Estas cuentas se administran con técnicas comunes de administración de usuarios de PostgreSQL. Para obtener más información, consulta Cómo administrar roles de usuario de AlloyDB.

  • Las cuentas de servicio y de usuario de IAM se autentican como usuarios de la base de datos con tokens de OAuth 2.0. Estas cuentas se administran con elGoogle Cloud sistema de IAM. Para obtener más información, consulta Administra la autenticación de IAM.

Una vez que se autentica con una instancia de AlloyDB, una aplicación puede tratar la instancia como un servidor de PostgreSQL común. Después de establecer rutas de redes y autorización a una instancia, puedes usar técnicas estándar de PostgreSQL para acceder a una instancia y a tus datos. Esto se aplica tanto si accedes de forma manual con una herramienta como psql como si te conectas a tu base de datos de forma programática con una biblioteca de código de PostgreSQL.

Por lo general, la primera autenticación con un clúster de AlloyDB nuevo implica acceder a su instancia principal como usuario postgres con la contraseña que especificas cuando creas 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?