Uso de reglas y puntos de conexión de servicio de red virtual para Azure Database for MySQL
SE APLICA A: Azure Database for MySQL: Servidor único
Importante
El servidor único de Azure Database for MySQL está en proceso de retirada. Es muy recomendable actualizar al servidor flexible de Azure Database for MySQL. Para obtener más información sobre la migración al servidor flexible de Azure Database for MySQL, consulte ¿Qué sucede con el servidor único de Azure Database for MySQL?
Las reglas de red virtual son una característica de firewall que controla si el servidor de Azure Database for MySQL acepta las comunicaciones que se envían desde subredes específicas en redes virtuales. En este artículo se explica por qué la característica de la regla de red virtual a veces es la mejor opción para permitir la comunicación de forma segura con el servidor de Azure Database for MySQL.
Para crear una regla de red virtual, primero debe haber una red virtual (VNET) y un punto de conexión de servicio de red virtual para la regla a la que hacer referencia.
Nota:
Esta característica está disponible en todas las regiones de Azure donde se implementa Azure Database for MySQL para servidores de uso general y optimizados para memoria. En el caso de emparejamiento de VNET, si el tráfico fluye a través de una instancia de VNet Gateway común con puntos de conexión de servicio y se supone que lo hace al elemento del mismo nivel, cree una regla de ACL o red virtual para permitir que Microsoft Azure Virtual Machines en la red virtual de puerta de enlace acceda al servidor de Azure Database for MySQL.
También puede considerar la posibilidad de usar Private Link para las conexiones. Private Link proporciona una dirección IP privada en la red virtual para el servidor de Azure Database for MySQL.
Terminología y descripción
Red virtual: puede tener redes virtuales asociadas a la suscripción de Azure.
Subred: una red virtual contiene subredes. Cualquier máquina virtual (VM) de Azure que tenga se asignará a las subredes. Una subred puede contener varias máquinas virtuales u otros nodos de proceso. Los nodos de proceso que se encuentran fuera de la red virtual no pueden tener acceso a su red virtual a menos que configure la seguridad para que permita el acceso.
Punto de conexión de servicio de red virtual: un punto de conexión de servicio de red virtual es una subred cuyos valores de propiedad incluyen uno o más nombres formales de tipo de servicio de Azure. En este artículo nos interesa el nombre de tipo de Microsoft.Sql, que hace referencia al servicio de Azure denominado SQL Database. Esta etiqueta de servicio también se aplica a los servicios Azure Database for MySQL y PostgreSQL. Es importante tener en cuenta que, al aplicar la etiqueta de servicio de Microsoft.Sql a un punto de conexión de servicio de red virtual, se configurará el tráfico de punto de conexión de servicio de todos los servidores de Azure SQL Database, Azure Database for MySQL y Azure Database for PostgreSQL de la subred.
Regla de red virtual: una regla de red virtual para el servidor de Azure Database for MySQL es una subred que se muestra en la lista de control de acceso (ACL) del servidor de Azure Database for MySQL. Para estar en la ACL de su servidor de Azure Database for MySQL, la subred debe contener el nombre de tipo Microsoft.Sql.
Una regla de red virtual indica a su servidor de Azure Database for MySQL que acepte las comunicaciones procedentes de todos los nodos que están en la subred.
Ventajas de una regla de red virtual
Hasta que no tome medidas, las máquinas virtuales de sus subredes no pueden comunicarse con el servidor de Azure Database for MySQL. Una acción que permite establecer la comunicación es la creación de una regla de red virtual. El motivo de la elección del enfoque de la regla de red virtual requiere un análisis de comparación y contraste relacionado con las opciones de seguridad competentes que ofrece el firewall.
A. Permitir el acceso a servicios de Azure
El panel de Seguridad de conexión tiene el botón Activado/Desactivado con la etiqueta Permitir el acceso a servicios de Azure. La configuración Activado permite las comunicaciones desde todas las direcciones IP de Azure y todas las subredes de Azure. Es posible que estas IP o subredes de Azure no le pertenezcan. La configuración Activado es probablemente más abierta de lo que le gustaría que fuera su instancia de Azure Database for MySQL. La característica de la regla de red virtual ofrece un control mucho más granular.
B. Reglas IP
El firewall de Azure Database for MySQL le permite especificar intervalos de direcciones IP desde los que se aceptan las comunicaciones en Azure Database for MySQL Database. Este enfoque es preciso para las direcciones IP estables que están fuera de la red privada de Azure. Sin embargo, muchos nodos de dentro de la red privada de Azure se configuran con direcciones IP dinámicas. Es posible que las direcciones IP dinámicas cambien, por ejemplo, cuando se reinicia la máquina virtual. Sería una locura especificar una dirección IP dinámica en una regla de firewall, en un entorno de producción.
Para recuperar la opción de IP, puede obtener una dirección IP estática para la máquina virtual. Para más información, consulte Configuración de direcciones IP privadas para una máquina virtual mediante Azure Portal.
Sin embargo, el enfoque de IP estática puede resultar difícil de administrar, y es costoso si se realiza a escala. Las reglas de red virtual son más sencillas de establecer y administrar.
Detalles sobre las reglas de red virtual
En esta sección se describen varios detalles acerca de las reglas de red virtual.
Solo una región geográfica
Cada punto de conexión de servicio de red virtual se aplica solo a una región de Azure. El punto de conexión no permite que otras regiones acepten la comunicación de la subred.
Cualquier regla de red virtual se limita a la región a la que se aplica su punto de conexión subyacente.
Nivel de servidor y no de base de datos
Cada regla de red virtual se aplica a todo el servidor de Azure Database for MySQL y no solo a una base de datos determinada del servidor. En otras palabras, la regla de red virtual se aplica en el nivel de servidor y no en el nivel de base de datos.
Roles de administración de la seguridad
Existe una separación de los roles de seguridad en la administración de puntos de conexión de servicio de red virtual. Se requiere una acción de cada uno de los roles siguientes:
- Administrador de red: se activa el punto de conexión.
- Administrador de base de datos: se actualiza la lista de control de acceso (ACL) que se va a agregar a la subred proporcionada en el servidor de Azure Database for MySQL.
Alternativa a RBAC de Azure:
Los roles de administrador de red y de base de datos tienen más funcionalidades de las que se necesitan para administrar las reglas de red virtual. Solo se necesita un subconjunto de sus capacidades.
Si lo desea, puede optar por usar el control de acceso basado en rol de Azure (Azure RBAC) en Azure para crear un rol personalizado único que tenga solo el subconjunto necesario de funcionalidades. Se podría usar el rol personalizado en lugar del administrador de red o el administrador de la base de datos. El área expuesta de la exposición de seguridad es inferior si agrega un usuario a un rol personalizado, en lugar de agregar el usuario a los otros dos roles de administrador principales.
Nota
En algunos casos, Azure Database for MySQL y la subred de red virtual se encuentran en distintas suscripciones. En estos casos debe garantizar las siguientes configuraciones:
- Ambas suscripciones deben estar en el mismo inquilino de Microsoft Entra.
- El usuario tiene los permisos necesarios para iniciar operaciones como habilitar los puntos de conexión de servicio y agregar una subred de red virtual al servidor especificado.
- Asegúrese de que ambas suscripciones tengan los proveedores de recursos Microsoft.Sql y Microsoft.DBforMySQL registrados. Para más información, consulte resource-manager-registration.
Limitaciones
Para Azure Database for MySQL, la característica de las reglas de red virtual tiene las siguientes limitaciones:
Una aplicación web se puede asignar a una dirección IP privada en una red virtual o subred. Incluso si los puntos de conexión de servicio están ACTIVADOS desde la red virtual o subred proporcionada, las conexiones de la aplicación web con el servidor tendrán un origen IP público de Azure, no un origen de red virtual o subred. Para habilitar la conectividad desde una aplicación web con un servidor que tenga reglas de firewall de red virtual, debe permitir que los servicios de Azure accedan al servidor en el servidor.
En el firewall de su instancia de Azure Database for MySQL, cada regla de red virtual hace referencia a una subred. Todas estas subredes a las que se hace referencia deben estar hospedadas en la misma región geográfica que hospeda Azure Database for MySQL.
Cada servidor de Azure Database for MySQL puede tener hasta 128 entradas de ACL para cualquier red virtual proporcionada.
Las reglas de red virtual solo se aplican a las redes virtuales de Azure Resource Manager, y no a las redes del modelo de implementación clásica.
Al activar los puntos de conexión de servicio de red virtual en Azure Database for MySQL con la etiqueta de servicio Microsoft.Sql también se habilitan los puntos de conexión de todos los servicios de Azure Database: Azure Database for MySQL, Azure Database for PostgreSQL, Azure SQL Database y Azure Synapse Analytics.
La compatibilidad con puntos de conexión de servicio de red virtual solo existe para servidores de uso general y optimizados para memoria.
Si Microsoft.Sql está habilitado en una subred, indica que solo desea usar reglas de red virtual para conectarse. Las reglas de firewall que no sean de red virtual no funcionarán en esa subred.
En el firewall, los intervalos de direcciones IP se aplican a los siguientes elementos de red, pero no las reglas de red virtual:
- Red privada virtual (VPN) de sitio a sitio (S2S)
- Entorno local a través de ExpressRoute
ExpressRoute
Si la red está conectada a la red de Azure mediante el uso de ExpressRoute, cada circuito está configurado con dos direcciones IP públicas en Microsoft Edge. Las dos direcciones IP se utilizan para conectarse a servicios Microsoft, como a Azure Storage, mediante el uso del emparejamiento público de Azure.
Para permitir la comunicación desde el circuito a Azure Database for MySQL, debe crear reglas de red IP para direcciones IP públicas de los circuitos. Para encontrar las direcciones IP públicas del circuito de ExpressRoute, abra un vale de soporte con ExpressRoute mediante Azure Portal.
Adición de una regla de firewall de red virtual al servidor sin activar los puntos de conexión de servicio de la red virtual
Si solo establece una regla de firewall de red virtual, no tendrá el servidor protegido en la red virtual. Por lo tanto, también debe activar los puntos de conexión de servicio de red virtual para que la seguridad surta efecto. Al activar los puntos de conexión de servicio, la subred de la red virtual experimenta cierto tiempo de inactividad hasta que estos puntos se activantotalmente. Esto sucede especialmente en redes virtuales de gran tamaño. Puede usar la marca IgnoreMissingServiceEndpoint para reducir o eliminar el tiempo de inactividad durante la activación.
Puede establecer la marca IgnoreMissingServiceEndpoint mediante la CLI de Azure o el portal.
Artículos relacionados
Pasos siguientes
Para ver artículos sobre cómo crear reglas de red virtual, consulte lo siguiente:
- Create and manage Azure Database for MySQL VNet rules using the Azure portal (Creación y administración de reglas de red virtual de Azure Database for MySQL mediante Azure Portal)
- Creación y administración de puntos de conexión de servicio de red virtual de Azure Database for MySQL mediante la CLI de Azure