Compartir a través de


Información general sobre redes para Azure Database for PostgreSQL con la opción Servidor flexible con acceso público (direcciones IP permitidas)

SE APLICA A: Azure Database for PostgreSQL con servidor flexible

En este artículo se describen los conceptos de conectividad y redes para Servidor flexible de Azure Database for PostgreSQL.

Al crear un servidor flexible de Azure Database for PostgreSQL, debe elegir una de las siguientes opciones de red:

  • Acceso privado (integración de red virtual)
  • Acceso público (direcciones IP permitidas) y punto de conexión privado

Las características siguientes se aplican tanto si decide usar la opción de acceso privado como la de acceso público:

  • Las conexiones de direcciones IP permitidas deben autenticarse en el servidor flexible de Azure Database for PostgreSQL con credenciales válidas.
  • El cifrado de la conexión se aplica para el tráfico de red.
  • El servidor tiene un nombre de dominio completo (FQDN). En el caso de la propiedad hostname en las cadenas de conexión, se recomienda usar el FQDN en lugar de una dirección IP.
  • Las dos opciones controlan el acceso en el nivel de servidor, no en el nivel de base de datos o de tabla. Tendría que usar las propiedades del rol de PostgreSQL para controlar el acceso a bases de datos, tablas y otros objetos.

Nota:

Dado que el servidor flexible de Azure Database for PostgreSQL es un servicio de base de datos administrado, los usuarios no proporcionan acceso de host o sistema operativo para ver o modificar archivos de configuración, como pg_hba.conf. El contenido de los archivos se actualiza de forma automática en función de la configuración de red.

Uso de redes de acceso público con Azure Database for PostgreSQL: servidor flexible

Al elegir el método de acceso público, se accede al servidor flexible de Azure Database for PostgreSQL a través de un punto de conexión público a través de Internet. El punto de conexión público es una dirección DNS que se puede resolver públicamente. La frase direcciones IP permitidas hace referencia a un intervalo de direcciones IP a las que decida conceder permiso para acceder al servidor. Estos permisos se denominan reglas de firewall.

Elija la opción de red si quiere las funcionalidades siguientes:

  • Conexión desde recursos de Azure que no admiten redes virtuales
  • Conexión desde recursos externos de Azure que no están conectados mediante VPN o Azure ExpressRoute.
  • Asegúrese de que la instancia de servidor flexible de Azure Database for PostgreSQL tenga un punto de conexión público accesible desde Internet.

Entre las características del método de acceso público se incluyen las siguientes:

  • Solo las direcciones IP que permite tener permiso para acceder al servidor flexible de Azure Database for PostgreSQL. De forma predeterminada, no se admite ninguna dirección IP. Puede agregar direcciones IP durante la creación del servidor o después.
  • El servidor flexible de Azure Database for PostgreSQL tiene un nombre DNS que se puede resolver públicamente.
  • El servidor flexible de Azure Database for PostgreSQL no está en una de las redes virtuales de Azure.
  • El tráfico de red hacia y desde el servidor no se realiza a través de una red privada. El tráfico usa las rutas de Internet generales.

Reglas de firewall

Las reglas de firewall de nivel de servidor se aplican a todas las bases de datos del mismo servidor flexible de Azure Database for PostgreSQL. Si la dirección IP de origen de la solicitud está comprendida en uno de los intervalos especificados en las reglas de firewall de nivel de servidor, la conexión se concede. De lo contrario, se rechaza. Por ejemplo, si la aplicación se conecta con un controlador JDBC para PostgreSQL, puede encontrar este error al intentar conectarse cuando el firewall está bloqueando la conexión.

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL

Nota:

Para acceder al servidor flexible de Azure Database for PostgreSQL desde el equipo local, asegúrese de que el firewall de la red y el equipo local permiten la comunicación saliente en el puerto TCP 5432.

Reglas de firewall administradas mediante programación

Además de usar Azure Portal, puede administrar las reglas de firewall mediante programación con la CLI de Azure. Para obtener más información, consulte Creación y administración de reglas de firewall de Azure Database for PostgreSQL con la opción Servidor flexible mediante la CLI de Azure.

Permitir todas las direcciones IP de Azure

Se recomienda encontrar la dirección IP saliente de cualquier aplicación o servicio, y permitir explícitamente el acceso a las direcciones IP individuales o a los rangos. Si no hay ninguna dirección IP saliente fija disponible para su servicio de Azure, puede habilitar las conexiones desde todas las direcciones IP de los centros de datos de Azure.

Para habilitar esta configuración desde Azure Portal, en el panel Redes, active la casilla Permitir acceso público a este servidor desde cualquier servicio de Azure dentro de Azure y, a continuación, seleccione Guardar.

Importante

La opción Permitir acceso público desde los recursos y servicios de Azure dentro de Azure configura el firewall para permitir todas las conexiones desde Azure, incluidas las que provienen de suscripciones de otros clientes. Si selecciona esta opción, asegúrese de que los permisos de usuario y el inicio de sesión solo dejan acceder a los usuarios autorizados.

Solución de problemas de acceso público

Tenga en cuenta los siguientes puntos cuando el acceso a Azure Database for PostgreSQL: servidor flexible no se comporta según lo previsto:

  • Cambios en la lista de permitidos aún no se han aplicado. Puede haber un retraso de hasta cinco minutos para que los cambios en la configuración del firewall del servidor flexible de Azure Database for PostgreSQL surtan efecto.

  • Error de autenticación. Si un usuario no tiene permisos en el servidor flexible de Azure Database for PostgreSQL o la contraseña es incorrecta, se deniega la conexión al servidor flexible de Azure Database for PostgreSQL. La creación de una configuración de firewall solo ofrece a los clientes una oportunidad para intentar conectarse al servidor. Cada cliente todavía tiene que proporcionar las credenciales de seguridad necesarias.

  • La dirección IP de cliente dinámica impide el acceso. Si tiene una conexión a Internet con direccionamiento IP dinámico y tiene problemas con el firewall, pruebe alguna de las soluciones siguientes:

    • Pida a su proveedor de acceso a Internet (ISP) el intervalo de direcciones IP asignado a los equipos cliente que acceden al servidor flexible de Azure Database for PostgreSQL. A continuación, agréguelo como una regla de firewall.
    • Obtenga el direccionamiento IP estático en su lugar para los equipos cliente. A continuación, agregue la dirección IP estática como regla de firewall.
  • La regla de firewall no está disponible en formato IPv6. las reglas de firewall deben estar en formato IPv4. Si especifica reglas de firewall en formato IPv6, recibirá un error de validación.

Nombre de host

Independientemente de la opción de red que elija, se recomienda usar siempre un FQDN como nombre de host al conectarse al servidor flexible de Azure Database for PostgreSQL. No se garantiza que la dirección IP del servidor permanezca estática. El uso del FQDN le ayuda a evitar realizar cambios en la cadena de conexión.

Un ejemplo que usa un FQDN como nombre de host es hostname = servername.postgres.database.azure.com. Siempre que sea posible, evite usar hostname = 10.0.0.4 (una dirección privada) o hostname = 40.2.45.67 (una dirección pública).

  • Aprenda a crear un servidor flexible de Azure Database for PostgreSQL mediante la opción Acceso público (direcciones IP permitidas) en Azure Portal o la CLI de Azure.