Arquitectura de conectividad en 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?

En este artículo se explica la arquitectura de conectividad de Azure Database for MySQL y cómo se dirige el tráfico a la instancia de Azure Database for MySQL desde clientes internos y externos de Azure.

Arquitectura de conectividad

La conexión a la base de datos de Azure Database for MySQL se establece a través de una puerta de enlace que se encarga de enrutar las conexiones entrantes a la ubicación física del servidor en nuestros clústeres. En el diagrama siguiente se muestra este flujo de tráfico.

Overview of the connectivity architecture

Cuando el cliente se conecta a la base de datos, la cadena de conexión al servidor se resuelve en la dirección IP de la puerta de enlace. La puerta de enlace escucha en la dirección IP en el puerto 3306. Dentro del clúster de base de datos, el tráfico se reenvía a la instancia de Azure Database for MySQL adecuada. Por tanto, para conectarse al servidor, como en las redes corporativas, es necesario abrir el firewall del lado cliente para permitir que el tráfico saliente llegue a nuestras puertas de enlace. A continuación encontrará una lista completa de las direcciones IP que usan nuestras puertas de enlace por región.

Direcciones IP de la puerta de enlace de Azure Database for MySQL

El servicio de puerta de enlace se hospeda en un grupo de nodos de proceso sin estado que se encuentran detrás de una dirección IP, con la que el cliente se comunicaría primero al intentar conectarse a un servidor de Azure Database for MySQL.

Como parte del mantenimiento continuo del servicio, actualizaremos periódicamente el hardware de proceso que hospeda las puertas de enlace para garantizar que se proporcione la experiencia más segura y eficaz. Cuando se actualice el hardware de la puerta de enlace, primero se creará un nuevo anillo de los nodos de proceso. Este nuevo anillo atiende el tráfico de todos los servidores de Azure Database for MySQL recién creados, y tendrá una dirección IP diferente de los anillos de puertas de enlace más antiguos de la misma región, a efectos de diferenciar el tráfico. Según los planes, una vez que el nuevo anillo esté en pleno funcionamiento, se retirará el hardware de puertas de enlace anterior que atiende a los servidores existentes. Antes de retirar el hardware de una puerta de enlace, los clientes que ejecuten sus servidores y se conecten a los anillos de puertas de enlace más antiguos recibirán una notificación por correo electrónico y en Azure Portal. La retirada de las puertas de enlace puede afectar a la conectividad a los servidores si:

  • Codifica de forma rígida las direcciones IP de las puertas de enlace en la cadena de conexión de la aplicación. No se recomienda. Debe usar el nombre de dominio completo (FQDN) del servidor con el formato <servername>.mysql.database.azure.com en la cadena de conexión de la aplicación.
  • No actualiza las direcciones IP de las puertas de enlace más recientes en el firewall del lado cliente para permitir que el tráfico saliente pueda comunicarse con nuestros nuevos anillos de puertas de enlace.

Importante

Si la pila de conectividad del cliente necesita conectarse directamente a la puerta de enlace en lugar de un Enfoque de nombre DNS recomendado, o puerta de enlace de lista de permitidos en las reglas de firewall, para las conexiones a la infraestructura del cliente, recomendamos encarecidamente a los clientes que usen subredes de dirección IP de puerta de enlace frente a la codificación estática de forma difícil para que esta actividad no se vea afectada por esta actividad en una región que pueda provocar que la dirección IP cambie dentro del intervalo de subredes.

En la siguiente tabla se enumeran las direcciones IP de las puertas de enlace de Azure Database for MySQL para todas las regiones de datos. La información más actualizada de las direcciones IP de las puertas de enlace para cada región se mantiene en la tabla siguiente. Las columnas representan lo siguiente:

  • Subredes de dirección IP de puerta de enlace: En esta columna se enumeran las subredes de dirección IP de los anillos de puerta de enlace ubicados en la región concreta. A medida que retiramos el hardware de puerta de enlace anterior, se recomienda abrir el firewall del lado cliente para permitir el tráfico saliente para las subredes de dirección IP de la región que está trabajando.
  • Direcciones IP de puerta de enlace: periódicamente, se retirarán las direcciones IP de puerta de enlace individuales y se migrará el tráfico a las subredes de direcciones IP de puerta de enlace correspondientes.

Recomendamos encarecidamente a los clientes que dejen de confiar en cualquier dirección IP de puerta de enlace individual (ya que se retirarán en el futuro). En lugar de ello, permita que el tráfico de red llegue tanto a las direcciones IP de puerta de enlace individuales como a las subredes de direcciones IP de puerta de enlace de una región.

Nombre de la región dirección IP de puerta de enlace actual Subredes de direcciones de IP de puerta de enlace
Centro de Australia 20.36.105.32 20.36.105.32/29, 20.53.48.96/27
Centro de Australia 2 20.36.113.32 20.36.113.32/29, 20.53.56.32/27
Este de Australia 13.70.112.32 13.70.112.32/29, 40.79.160.32/29, 40.79.168.32/29, 40.79.160.32/29, 20.53.46.128/27
Sudeste de Australia 13.77.49.33 13.77.49.32/29, 104.46.179.160/27
Sur de Brasil 191.233.201.8, 191.233.200.16 191.234.153.32/27, 191.234.152.32/27, 191.234.157.136/29, 191.233.200.32/29, 191.234.144.32/29, 191.234.142.160/27
Sudeste de Brasil 191.233.48.2 191.233.48.32/29, 191.233.15.160/27
Centro de Canadá 13.71.168.32 13.71.168.32/29, 20.38.144.32/29, 52.246.152.32/29, 20.48.196.32/27
Este de Canadá 40.69.105.32 40.69.105.32/29, 52.139.106.192/27
Centro de EE. UU. 52.182.136.37, 52.182.136.38 104.208.21.192/29, 13.89.168.192/29, 52.182.136.192/29, 20.40.228.128/27
Este de China 52.130.112.139 52.130.112.136/29, 52.130.13.96/27
Este de China 2 40.73.82.1, 52.130.120.89 52.130.120.88/29, 52.130.7.0/27
Norte de China 52.130.128.89 52.130.128.88/29, 40.72.77.128/27
Norte de China 2 40.73.50.0 52.130.40.64/29, 52.130.21.160/27
Este de Asia 13.75.33.20, 13.75.33.21 20.205.77.176/29, 20.205.83.224/29, 20.205.77.200/29, 13.75.32.192/29, 13.75.33.192/29, 20.195.72.32/27
Este de EE. UU. 40.71.8.203, 40.71.83.113 20.42.65.64/29, 20.42.73.0/29, 52.168.116.64/29, 20.62.132.160/27
Este de EE. UU. 2 52.167.105.38, 40.70.144.38 104.208.150.192/29, 40.70.144.192/29, 52.167.104.192/29, 20.62.58.128/27
Centro de Francia 40.79.129.1 40.79.128.32/29, 40.79.136.32/29, 40.79.144.32/29, 20.43.47.192/27
Sur de Francia 40.79.176.40 40.79.176.40/29, 40.79.177.32/29, 52.136.185.0/27
Norte de Alemania 51.116.56.0 51.116.57.32/29, 51.116.54.96/27
Centro-oeste de Alemania 51.116.152.0 51.116.152.32/29, 51.116.240.32/29, 51.116.248.32/29, 51.116.149.32/27
Centro de la India 20.192.96.33 40.80.48.32/29, 104.211.86.32/29, 20.192.96.32/29, 20.192.43.160/27
Sur de la India 40.78.192.32 40.78.192.32/29, 40.78.193.32/29, 52.172.113.96/27
Oeste de la India 104.211.144.32 104.211.144.32/29, 104.211.145.32/29, 52.136.53.160/27
Japón Oriental 40.79.184.8, 40.79.192.23 13.78.104.32/29, 40.79.184.32/29, 40.79.192.32/29, 20.191.165.160/27
Japón Occidental 40.74.96.6 20.18.179.192/29, 40.74.96.32/29, 20.189.225.160/27
JIO de India central 20.192.233.32 20.192.233.32/29, 20.192.48.32/27
JIO del Oeste de la India 20.193.200.32 20.193.200.32/29, 20.192.167.224/27
Centro de Corea del Sur 52.231.17.13 20.194.64.32/29, 20.44.24.32/29, 52.231.16.32/29, 20.194.73.64/27
Corea del Sur 52.231.145.3 52.231.151.96/27, 52.231.151.88/29, 52.231.145.0/29, 52.147.112.160/27
Centro-Norte de EE. UU 52.162.104.35, 52.162.104.36 52.162.105.200/29, 20.125.171.192/29, 52.162.105.192/29, 20.49.119.32/27
Norte de Europa 52.138.224.6, 52.138.224.7 13.69.233.136/29, 13.74.105.192/29, 52.138.229.72/29, 52.146.133.128/27
Este de Noruega 51.120.96.0 51.120.208.32/29, 51.120.104.32/29, 51.120.96.32/29, 51.120.232.192/27
Oeste de Noruega 51.120.216.0 51.120.217.32/29, 51.13.136.224/27
Norte de Sudáfrica 102.133.152.0 102.133.120.32/29, 102.133.152.32/29, 102.133.248.32/29, 102.133.221.224/27
Oeste de Sudáfrica 102.133.24.0 102.133.25.32/29, 102.37.80.96/27
Centro-sur de EE. UU. 20.45.120.0 20.45.121.32/29, 20.49.88.32/29, 20.49.89.32/29, 40.124.64.136/29, 20.65.132.160/27
Sudeste de Asia 23.98.80.12, 40.78.233.2 13.67.16.192/29, 23.98.80.192/29, 40.78.232.192/29, 20.195.65.32/27
Centro de Suecia 51.12.96.32 51.12.96.32/29, 51.12.232.32/29, 51.12.224.32/29, 51.12.46.32/27
Sur de Suecia 51.12.200.32 51.12.201.32/29, 51.12.200.32/29, 51.12.198.32/27
Norte de Suiza 51.107.56.0 51.107.56.32/29, 51.103.203.192/29, 20.208.19.192/29, 51.107.242.32/27
Oeste de Suiza 51.107.152.0 51.107.153.32/29, 51.107.250.64/27
Centro de Emiratos Árabes Unidos 20.37.72.64 20.37.72.96/29, 20.37.73.96/29, 20.37.71.64/27
Norte de Emiratos Árabes Unidos 65.52.248.0 20.38.152.24/29, 40.120.72.32/29, 65.52.248.32/29, 20.38.143.64/27
Sur de Reino Unido 2 51.105.64.0 51.105.64.32/29, 51.105.72.32/29, 51.140.144.32/29, 51.143.209.224/27
Oeste de Reino Unido 51.140.208.98 51.140.208.96/29, 51.140.209.32/29, 20.58.66.128/27
Centro-Oeste de EE. UU. 13.71.193.34 13.71.193.32/29, 20.69.0.32/27
Oeste de Europa 13.69.105.208,104.40.169.187 104.40.169.32/29, 13.69.112.168/29, 52.236.184.32/29, 20.61.99.192/27
Oeste de EE. UU. 13.86.216.212, 13.86.217.212 20.168.163.192/29, 13.86.217.224/29, 20.66.3.64/27
Oeste de EE. UU. 2 13.66.136.192 13.66.136.192/29, 40.78.240.192/29, 40.78.248.192/29, 20.51.9.128/27
Oeste de EE. UU. 3 20.150.184.2 20.150.168.32/29, 20.150.176.32/29, 20.150.184.32/29, 20.150.241.128/27

Redirección de conexiones

Azure Database for MySQL admite una directiva de conexión adicional, redireccionamiento que ayuda a reducir la latencia de red entre las aplicaciones cliente y los servidores MySQL. Con el redireccionamiento, una vez establecida la sesión TCP inicial en el servidor de Azure Database for MySQL, el servidor devuelve al cliente la dirección de back-end del nodo que hospeda al servidor MySQL. En adelante, todos los paquetes posteriores fluyen directamente al servidor y omiten la puerta de enlace. Dado que los paquetes van directamente al servidor, mejoran la latencia y el rendimiento.

Esta característica se admite en los servidores de Azure Database for MySQL con las versiones 5.7 y 8.0 del motor.

La compatibilidad con el redireccionamiento está disponible en la extensión mysqlnd_azure de PHP, desarrollada por Microsoft, y está disponible en PECL. Consulte el artículo de configuración del redireccionamiento para obtener más información sobre cómo usar el redireccionamiento en sus aplicaciones.

Importante

La compatibilidad con el redireccionamiento en la extensión mysqlnd_azure de PHP se encuentra actualmente en versión preliminar.

Preguntas más frecuentes

¿Qué necesita saber sobre este mantenimiento planeado?

Se trata solo de un cambio de DNS, por lo que es transparente para los clientes. Aunque la dirección IP del FQDN se cambia en el servidor DNS, la caché DNS local se actualiza en un plazo de 5 minutos y los sistemas operativos lo realizan automáticamente. Una vez que se complete la actualización de DNS local, todas las conexiones nuevas se conectarán a la nueva dirección IP y todas las conexiones existentes permanecerán conectadas a la dirección IP anterior sin interrupciones hasta que las direcciones IP antiguas se retiren por completo. La dirección IP anterior tardará aproximadamente entre tres y cuatro semanas a retirarse. Por lo tanto,esto no debería causar ningún efecto en las aplicaciones cliente.

¿Qué retiramos?

Solo se retirarán los nodos de puerta de enlace. Cuando los usuarios se conectan a sus servidores, el primer punto de conexión es el nodo de puerta de enlace, antes de que la conexión se reenvíe al servidor. Retiraremos los anillos de la puerta de enlace antiguos (no los del inquilino en los que se ejecuta el servidor). Consulte la arquitectura de conectividad para obtener más detalles.

¿Cómo puede validar si las conexiones van a los nodos de puerta de enlace antiguos o a los nuevos nodos de puerta de enlace?

Haga ping al FQDN del servidor, por ejemplo, ping xxx.mysql.database.azure.com. Si la dirección IP devuelta es una de las que aparecen en la lista de direcciones IP de puerta de enlace (que se retiran) en el documento anterior, significa que la conexión pasa a través de la puerta de enlace antigua. De lo contrario, si la dirección IP devuelta es una de las que aparecen en las direcciones IP de puerta de enlace, significa que la conexión pasa a través de la nueva puerta de enlace.

También puede probar de hacer PSPing o TCPPing en el servidor de base de datos desde la aplicación cliente con el puerto 3306 y asegurarse de que la dirección IP devuelta no sea una de las direcciones IP de retiradas.

¿Cómo puedo saber cuándo ha finalizado el mantenimiento? ¿Recibiré otra notificación cuando se retiren las direcciones IP antiguas?

Cuando empecemos con el trabajo de mantenimiento, recibirá una notificacióon por correo electrónico. El mantenimiento puede tardar hasta un mes, en función del número de servidores que se necesiten migrar en todas las regiones. Prepare el cliente para que establezca conexión con el servidor de base de datos mediante el FQDN o con la nueva dirección IP de la tabla anterior.

¿Qué hago si mis aplicaciones cliente siguen conectándose al servidor de puerta de enlace antiguo?

Esto indica que las aplicaciones se conectan al servidor mediante una dirección IP estática en lugar de un FQDN. Revise la configuración la agrupación de conexiones y las cadenas de conexión, la configuración de AKS o incluso el código fuente.

¿Afecta de algún modo a las conexiones de la aplicación?

Este mantenimiento es simplemente un cambio de DNS, por lo que es transparente para el cliente. Una vez que la caché DNS se actualiza en el cliente (realizada automáticamente por el sistema de operaciones), todas las conexiones nuevas se conectan a la nueva dirección IP y todas las conexiones existentes seguirán funcionando correctamente hasta que la dirección IP antigua se retire completamente, lo que sucede varias semanas más tarde. En este caso, la lógica de reintento no es necesaria, pero es bueno ver que la aplicación la tiene configurada. Usa el FQDN para conectarte al servidor de bases de datos de la cadena de conexión de la aplicación. Esta operación de mantenimiento no quitará las conexiones existentes. Solo hace que las nuevas solicitudes de conexión vayan al nuevo anillo de la puerta de enlace.

¿Puedo solicitar un período de tiempo específico para el mantenimiento?

Dado que la migración debe ser transparente y no afectar a la conectividad del cliente, esperamos que no haya ningún problema para la mayoría de los usuarios. Revise la aplicación de forma proactiva y asegúrese de usar el FQDN para conectarse al servidor de bases de datos o habilitar la lista de las nuevas "direcciones IP de puerta de enlace" en la cadena de conexión de la aplicación.

No, se trata de una retirada de hardware de la puerta de enlace y no tiene ninguna relación con las direcciones IP privadas o de vínculo privado. Solo afectará a las direcciones IP públicas que se mencionan en las direcciones IP que se retiran.

Pasos siguientes