Conceptos de conectividad y redes para Azure Database for MySQL: servidor flexible
En este artículo se presentan los conceptos para controlar la conectividad a la instancia de servidor flexible de Azure Database for MySQL. Aprenderá en detalle los conceptos de red del servidor flexible de Azure Database for MySQL para crear un servidor en Azure y acceder a él de forma segura.
Un servidor flexible de Azure Database for MySQL admite tres formas de configurar la conectividad con los servidores:
Acceso a la red pública para Azure Database for MySQL: Servidor flexible Se accede al servidor flexible a través de un punto de conexión público. 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.
Punto de conexión privado Puede usar los puntos de conexión privados para permitir que los hosts de una red virtual VNet accedan a datos de manera segura mediante una instancia de Private Link.
Acceso a red privada mediante la integración de red virtual para Azure Database for MySQL: Servidor flexible Puede implementar el servidor flexible en el Azure Virtual Network. Las redes virtuales de Azure proporcionan una comunicación de red privada y segura. Los recursos de una red virtual se pueden comunicar mediante direcciones IP privadas.
Nota:
Después de implementar un servidor con acceso público o privado (a través de la integración de red virtual), no puede modificar el modo de conectividad. Pero en el modo de acceso público, puede habilitar o deshabilitar los puntos de conexión privados según sea necesario y también deshabilitar el acceso público si es necesario.
Elección de una opción de red
Elija el método de acceso público (direcciones IP permitidas) y punto de conexión privado 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 ExpressRoute
- El servidor flexible es accesible a través de un punto de conexión público y se puede acceder a él a través de recursos de Internet autorizados. El acceso público puede deshabilitarse si es necesario.
- Capacidad de configurar puntos de conexión privados para acceder al servidor desde hosts en una red virtual (VNet)
Elija la opción de acceso privado (integración con red virtual) si quiere las funcionalidades siguientes:
- Conexión al servidor flexible desde recursos de Azure dentro de la misma red virtual o una red virtual emparejada sin necesidad de configurar un punto de conexión privado
- Uso de VPN o ExpressRoute para conectarse desde recursos que no son de Azure al servidor flexible
- Ningún punto de conexión público
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 la instancia de servidor flexible de Azure Database for MySQL con credenciales válidas
- Hay cifrado de conexión disponible 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 de los roles de MySQL para controlar el acceso de bases de datos, tablas y otros objetos.
Escenarios de red virtual no admitidos
- Punto de conexión público (o dirección IP pública o DNS): un servidor flexible implementado en una red virtual no puede tener un punto de conexión público.
- Una vez que se haya implementado el servidor flexible en una red virtual y una subred, no se puede trasladar a otra red virtual o subred.
- Una vez implementado el servidor flexible, no se puede mover la red virtual que este usa a otro grupo de recursos o suscripción.
- No se puede aumentar el tamaño de la subred (espacios de direcciones) si existen recursos en la subred.
- No se permite el cambio de acceso público a privado después de crear el servidor. El método recomendado es usar la restauración a un momento dado.
Nota:
Si usa el servidor DNS personalizado, debe usar un reenviador DNS para resolver el FQDN de la instancia de Azure Database for MySQL: servidor flexible. Para más información, consulte Resolución de nombres con un servidor DNS.
Hostname
Independientemente de la opción de red, se recomienda usar el nombre de dominio completo (FQDN) <servername>.mysql.database.azure.com
en cadenas de conexión al conectarse a la instancia de servidor flexible de Azure Database for MySQL. No se garantiza que la dirección IP del servidor permanezca estática. El uso del FQDN le ayudará a evitar realizar cambios en la cadena de conexión.
Un ejemplo que usa un FQDN como nombre de host es hostname = servername.mysql.database.azure.com. Siempre que sea posible, evite usar el nombre de host = 10.0.0.4 (una dirección privada) o el nombre de host = 40.2.45.67 (una dirección pública).
TLS y SSL
El servidor flexible de Azure Database for MySQL admite la conexión de las aplicaciones cliente a la instancia del servidor flexible de Azure Database for MySQL mediante el cifrado de la Capa de sockets seguros (SSL) con la Seguridad de la capa de transporte (TLS). TLS es un protocolo estándar del sector que garantiza conexiones de red cifradas entre el servidor de bases de datos y las aplicaciones cliente, lo que le permite ajustarse a los requisitos de cumplimiento.
De manera predeterminada, el servidor flexible de Azure Database for MySQL solo admite conexiones cifradas mediante la Seguridad de la capa de transporte (TLS 1.2), y todas las conexiones entrantes con TLS 1.0 y TLS 1.1 se denegarán de manera predeterminada. La obligatoriedad de conexiones cifradas o la configuración de versiones de TLS en el servidor flexible se pueden configurar y cambiar.
A continuación, se muestran las distintas configuraciones de SSL y TLS que puede tener para el servidor flexible:
Importante
Según Eliminación de la compatibilidad con los protocolos TLS 1.0 y TLS 1.1, a partir de principios de septiembre de 2024, los nuevos servidores ya no podrán usar TLS 1.0 o 1.1, y los servidores existentes no podrán degradarse a estas versiones. A partir de mediados de septiembre de 2024, iniciaremos una actualización obligatoria de todos los servidores que actualmente usan TLS 1.0 o 1.1 a TLS 1.2. Se espera que este proceso de actualización se complete a finales de septiembre de 2024. Se recomienda encarecidamente a los clientes asegurarse de que sus aplicaciones sean totalmente compatibles con TLS 1.2 antes de finales de septiembre.
Escenario | Configuración de parámetros del servidor | Descripción |
---|---|---|
Deshabilitar SSL (conexiones cifradas) | require_secure_transport = OFF | Si la aplicación heredada no admite conexiones cifradas a la instancia de servidor flexible de Azure Database for MySQL, puede deshabilitar la aplicación de conexiones cifradas al servidor flexible estableciendo require_secure_transport=OFF. |
Aplicación de SSL con TLS versión < 1.2 (quedará en desuso en septiembre de 2024) | require_secure_transport = ON y tls_version = TLS 1.0 o TLS 1.1 | Si la aplicación heredada admite conexiones cifradas, pero necesita la versión de TLS < 1.2, puede permitir conexiones cifradas, pero configurar el servidor flexible para permitir conexiones con la versión de TLS (v1.0 o v1.1) admitida por la aplicación |
Exigir SSL con la versión de TLS = 1.2 (configuración predeterminada) | require_secure_transport = ON y tls_version = TLS 1.2 | Esta es la configuración predeterminada y recomendada para un servidor flexible. |
Exigir SSL con la versión de TLS = 1.3 (compatible con MySQL v8.0 y versiones posteriores) | require_secure_transport = ON y tls_version = TLS 1.3 | Esta configuración es útil y recomendada para el desarrollo de nuevas aplicaciones |
Nota
No se admiten cambios en el cifrado SSL del servidor flexible. Los conjuntos de cifrado FIPS se aplican de manera predeterminada cuando tls_version está establecido en la versión de TLS 1.2. En el caso de las versiones de TLS distintas de la versión 1.2, el cifrado SSL se establece en la configuración predeterminada que se incluye con la instalación de la comunidad de MySQL.
Revise conexión mediante SSL/TLS para aprender a identificar la versión de TLS que está usando.
Contenido relacionado
- Creación y administración de redes virtuales para Azure Database for MySQL: Servidor flexible mediante Azure Portal
- Creación y administración de redes virtuales para Azure Database for MySQL: Servidor flexible mediante la CLI de Azure
- Administración de reglas de firewall para Azure Database for MySQL: Servidor flexible mediante Azure Portal
- Administración de reglas de firewall del servidor flexible de Azure Database for MySQL con la CLI de Azure
- configurar private link para el servidor flexible de Azure Database for MySQL desde Azure Portal